@aws-amplify/interactions 6.0.22-unstable.bd1fefd.0 → 6.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/lex-v1/AWSLexProvider.js +3 -5
- package/dist/cjs/lex-v1/AWSLexProvider.js.map +1 -1
- package/dist/cjs/lex-v2/AWSLexV2Provider.js +9 -11
- package/dist/cjs/lex-v2/AWSLexV2Provider.js.map +1 -1
- package/dist/cjs/utils/commonUtils.js +1 -1
- package/dist/cjs/utils/commonUtils.js.map +1 -1
- package/dist/cjs/utils/utils.js +2 -2
- package/dist/cjs/utils/utils.js.map +1 -1
- package/dist/cjs/utils/utils.native.js +4 -4
- package/dist/cjs/utils/utils.native.js.map +1 -1
- package/dist/esm/lex-v1/AWSLexProvider.d.ts +1 -1
- package/dist/esm/lex-v1/AWSLexProvider.mjs +3 -5
- package/dist/esm/lex-v1/AWSLexProvider.mjs.map +1 -1
- package/dist/esm/lex-v1/apis/onComplete.mjs.map +1 -1
- package/dist/esm/lex-v1/apis/send.mjs.map +1 -1
- package/dist/esm/lex-v1/index.mjs.map +1 -1
- package/dist/esm/lex-v1/types/AWSLexProviderOption.d.ts +1 -1
- package/dist/esm/lex-v1/types/inputs.d.ts +1 -1
- package/dist/esm/lex-v2/AWSLexV2Provider.d.ts +1 -1
- package/dist/esm/lex-v2/AWSLexV2Provider.mjs +9 -11
- package/dist/esm/lex-v2/AWSLexV2Provider.mjs.map +1 -1
- package/dist/esm/lex-v2/apis/onComplete.mjs.map +1 -1
- package/dist/esm/lex-v2/apis/send.mjs.map +1 -1
- package/dist/esm/lex-v2/index.mjs.map +1 -1
- package/dist/esm/lex-v2/types/AWSLexV2ProviderOption.d.ts +1 -1
- package/dist/esm/lex-v2/types/inputs.d.ts +1 -1
- package/dist/esm/types/Interactions.d.ts +7 -5
- package/dist/esm/types/inputs.d.ts +4 -4
- package/dist/esm/utils/commonUtils.mjs +1 -1
- package/dist/esm/utils/commonUtils.mjs.map +1 -1
- package/dist/esm/utils/utils.mjs +2 -2
- package/dist/esm/utils/utils.mjs.map +1 -1
- package/dist/esm/utils/utils.native.mjs +4 -4
- package/dist/esm/utils/utils.native.mjs.map +1 -1
- package/package.json +4 -5
- package/src/lex-v1/AWSLexProvider.ts +8 -12
- package/src/lex-v1/apis/onComplete.ts +1 -1
- package/src/lex-v1/apis/send.ts +1 -2
- package/src/lex-v1/index.ts +1 -1
- package/src/lex-v1/types/AWSLexProviderOption.ts +1 -1
- package/src/lex-v1/types/inputs.ts +1 -1
- package/src/lex-v1/utils/resolveBotConfig.ts +1 -2
- package/src/lex-v2/AWSLexV2Provider.ts +16 -22
- package/src/lex-v2/apis/onComplete.ts +1 -1
- package/src/lex-v2/apis/send.ts +1 -2
- package/src/lex-v2/index.ts +1 -1
- package/src/lex-v2/types/AWSLexV2ProviderOption.ts +1 -1
- package/src/lex-v2/types/inputs.ts +1 -1
- package/src/lex-v2/utils/resolveBotConfig.ts +1 -2
- package/src/types/Interactions.ts +7 -5
- package/src/types/inputs.ts +4 -4
- package/src/utils/commonUtils.ts +1 -3
- package/src/utils/utils.native.ts +4 -5
- package/src/utils/utils.ts +2 -2
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.lexProvider = void 0;
|
|
5
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
7
5
|
const client_lex_runtime_service_1 = require("@aws-sdk/client-lex-runtime-service");
|
|
8
6
|
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
9
7
|
const core_1 = require("@aws-amplify/core");
|
|
@@ -42,7 +40,7 @@ class AWSLexProvider {
|
|
|
42
40
|
session = await (0, core_1.fetchAuthSession)();
|
|
43
41
|
}
|
|
44
42
|
catch (error) {
|
|
45
|
-
return Promise.reject(
|
|
43
|
+
return Promise.reject('No credentials');
|
|
46
44
|
}
|
|
47
45
|
const { name, region, alias } = botConfig;
|
|
48
46
|
const client = new client_lex_runtime_service_1.LexRuntimeServiceClient({
|
|
@@ -73,7 +71,7 @@ class AWSLexProvider {
|
|
|
73
71
|
const { content, options: { messageType }, } = message;
|
|
74
72
|
if (messageType === 'voice') {
|
|
75
73
|
if (typeof content !== 'object') {
|
|
76
|
-
return Promise.reject(
|
|
74
|
+
return Promise.reject('invalid content type');
|
|
77
75
|
}
|
|
78
76
|
const inputStream = content instanceof Uint8Array ? content : await (0, utils_2.convert)(content);
|
|
79
77
|
params = {
|
|
@@ -87,7 +85,7 @@ class AWSLexProvider {
|
|
|
87
85
|
}
|
|
88
86
|
else {
|
|
89
87
|
if (typeof content !== 'string')
|
|
90
|
-
return Promise.reject(
|
|
88
|
+
return Promise.reject('invalid content type');
|
|
91
89
|
params = {
|
|
92
90
|
botAlias: alias,
|
|
93
91
|
botName: name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLexProvider.js","sources":["../../../src/lex-v1/AWSLexProvider.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lexProvider = void 0;\
|
|
1
|
+
{"version":3,"file":"AWSLexProvider.js","sources":["../../../src/lex-v1/AWSLexProvider.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lexProvider = void 0;\nconst client_lex_runtime_service_1 = require(\"@aws-sdk/client-lex-runtime-service\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_2 = require(\"../utils\");\nconst logger = new core_1.ConsoleLogger('AWSLexProvider');\nclass AWSLexProvider {\n constructor() {\n this._botsCompleteCallback = {};\n }\n /**\n * @deprecated\n * This is used internally by 'sendMessage' to call onComplete callback\n * for a bot if configured\n */\n reportBotStatus(data, { name }) {\n const callback = this._botsCompleteCallback[name];\n if (!callback) {\n return;\n }\n // Check if state is fulfilled to resolve onFullfilment promise\n logger.debug('postContent state', data.dialogState);\n switch (data.dialogState) {\n case client_lex_runtime_service_1.DialogState.READY_FOR_FULFILLMENT:\n case client_lex_runtime_service_1.DialogState.FULFILLED:\n callback(undefined, data);\n break;\n case client_lex_runtime_service_1.DialogState.FAILED:\n callback(new Error('Bot conversation failed'));\n break;\n default:\n break;\n }\n }\n async sendMessage(botConfig, message) {\n // check if credentials are present\n let session;\n try {\n session = await (0, core_1.fetchAuthSession)();\n }\n catch (error) {\n return Promise.reject('No credentials');\n }\n const { name, region, alias } = botConfig;\n const client = new client_lex_runtime_service_1.LexRuntimeServiceClient({\n region,\n credentials: session.credentials,\n customUserAgent: (0, utils_1.getAmplifyUserAgentObject)(),\n });\n let params;\n if (typeof message === 'string') {\n params = {\n botAlias: alias,\n botName: name,\n inputText: message,\n userId: session.identityId,\n };\n logger.debug('postText to lex', message);\n try {\n const postTextCommand = new client_lex_runtime_service_1.PostTextCommand(params);\n const data = await client.send(postTextCommand);\n this.reportBotStatus(data, botConfig);\n return data;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n else {\n const { content, options: { messageType }, } = message;\n if (messageType === 'voice') {\n if (typeof content !== 'object') {\n return Promise.reject('invalid content type');\n }\n const inputStream = content instanceof Uint8Array ? content : await (0, utils_2.convert)(content);\n params = {\n botAlias: alias,\n botName: name,\n contentType: 'audio/x-l16; sample-rate=16000; channel-count=1',\n userId: session.identityId,\n accept: 'audio/mpeg',\n inputStream,\n };\n }\n else {\n if (typeof content !== 'string')\n return Promise.reject('invalid content type');\n params = {\n botAlias: alias,\n botName: name,\n contentType: 'text/plain; charset=utf-8',\n inputStream: content,\n userId: session.identityId,\n accept: 'audio/mpeg',\n };\n }\n logger.debug('postContent to lex', message);\n try {\n const postContentCommand = new client_lex_runtime_service_1.PostContentCommand(params);\n const data = await client.send(postContentCommand);\n const audioArray = data.audioStream\n ? await (0, utils_2.convert)(data.audioStream)\n : undefined;\n const response = { ...data, ...{ audioStream: audioArray } };\n this.reportBotStatus(response, botConfig);\n return response;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n }\n onComplete({ name }, callback) {\n this._botsCompleteCallback[name] = callback;\n }\n}\nexports.lexProvider = new AWSLexProvider();\n"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.lexProvider = void 0;
|
|
5
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
7
5
|
const client_lex_runtime_v2_1 = require("@aws-sdk/client-lex-runtime-v2");
|
|
8
6
|
const utils_1 = require("@aws-amplify/core/internals/utils");
|
|
9
7
|
const core_1 = require("@aws-amplify/core");
|
|
10
|
-
const uuid_1 = require("uuid");
|
|
11
8
|
const utils_2 = require("../utils");
|
|
9
|
+
const uuid_1 = require("uuid");
|
|
12
10
|
const logger = new core_1.ConsoleLogger('AWSLexV2Provider');
|
|
13
11
|
class AWSLexV2Provider {
|
|
14
12
|
constructor() {
|
|
@@ -29,7 +27,7 @@ class AWSLexV2Provider {
|
|
|
29
27
|
session = await (0, core_1.fetchAuthSession)();
|
|
30
28
|
}
|
|
31
29
|
catch (error) {
|
|
32
|
-
return Promise.reject(
|
|
30
|
+
return Promise.reject('No credentials');
|
|
33
31
|
}
|
|
34
32
|
const { region, aliasId, localeId, botId } = botConfig;
|
|
35
33
|
const client = new client_lex_runtime_v2_1.LexRuntimeV2Client({
|
|
@@ -113,9 +111,9 @@ class AWSLexV2Provider {
|
|
|
113
111
|
};
|
|
114
112
|
try {
|
|
115
113
|
const recognizeTextCommand = new client_lex_runtime_v2_1.RecognizeTextCommand(params);
|
|
116
|
-
const
|
|
117
|
-
this._reportBotStatus(
|
|
118
|
-
return
|
|
114
|
+
const data = await client.send(recognizeTextCommand);
|
|
115
|
+
this._reportBotStatus(data, botConfig);
|
|
116
|
+
return data;
|
|
119
117
|
}
|
|
120
118
|
catch (err) {
|
|
121
119
|
return Promise.reject(err);
|
|
@@ -132,7 +130,7 @@ class AWSLexV2Provider {
|
|
|
132
130
|
// prepare params
|
|
133
131
|
if (messageType === 'voice') {
|
|
134
132
|
if (typeof content !== 'object') {
|
|
135
|
-
return Promise.reject(
|
|
133
|
+
return Promise.reject('invalid content type');
|
|
136
134
|
}
|
|
137
135
|
const inputStream = content instanceof Uint8Array ? content : await (0, utils_2.convert)(content);
|
|
138
136
|
params = {
|
|
@@ -144,7 +142,7 @@ class AWSLexV2Provider {
|
|
|
144
142
|
else {
|
|
145
143
|
// text input
|
|
146
144
|
if (typeof content !== 'string')
|
|
147
|
-
return Promise.reject(
|
|
145
|
+
return Promise.reject('invalid content type');
|
|
148
146
|
params = {
|
|
149
147
|
...baseParams,
|
|
150
148
|
requestContentType: 'text/plain; charset=utf-8',
|
|
@@ -154,8 +152,8 @@ class AWSLexV2Provider {
|
|
|
154
152
|
// make API call to lex
|
|
155
153
|
try {
|
|
156
154
|
const recognizeUtteranceCommand = new client_lex_runtime_v2_1.RecognizeUtteranceCommand(params);
|
|
157
|
-
const
|
|
158
|
-
const response = await this._formatUtteranceCommandOutput(
|
|
155
|
+
const data = await client.send(recognizeUtteranceCommand);
|
|
156
|
+
const response = await this._formatUtteranceCommandOutput(data);
|
|
159
157
|
this._reportBotStatus(response, botConfig);
|
|
160
158
|
return response;
|
|
161
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLexV2Provider.js","sources":["../../../src/lex-v2/AWSLexV2Provider.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lexProvider = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst client_lex_runtime_v2_1 = require(\"@aws-sdk/client-lex-runtime-v2\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst core_1 = require(\"@aws-amplify/core\");\nconst uuid_1 = require(\"uuid\");\nconst utils_2 = require(\"../utils\");\nconst logger = new core_1.ConsoleLogger('AWSLexV2Provider');\nclass AWSLexV2Provider {\n constructor() {\n this._botsCompleteCallback = {};\n this.defaultSessionId = (0, uuid_1.v4)();\n }\n /**\n * Send a message to a bot\n * @async\n * @param {AWSLexV2ProviderOption} botConfig - Bot configuration for sending the message\n * @param {string | InteractionsMessage} message - message to send to the bot\n * @return {Promise<InteractionsResponse>} A promise resolves to the response from the bot\n */\n async sendMessage(botConfig, message) {\n // check if credentials are present\n let session;\n try {\n session = await (0, core_1.fetchAuthSession)();\n }\n catch (error) {\n return Promise.reject(new Error('No credentials'));\n }\n const { region, aliasId, localeId, botId } = botConfig;\n const client = new client_lex_runtime_v2_1.LexRuntimeV2Client({\n region,\n credentials: session.credentials,\n customUserAgent: (0, utils_1.getAmplifyUserAgentObject)(),\n });\n let response;\n // common base params for all requests\n const reqBaseParams = {\n botAliasId: aliasId,\n botId,\n localeId,\n sessionId: session.identityId ?? this.defaultSessionId,\n };\n if (typeof message === 'string') {\n response = await this._handleRecognizeTextCommand(botConfig, message, reqBaseParams, client);\n }\n else {\n response = await this._handleRecognizeUtteranceCommand(botConfig, message, reqBaseParams, client);\n }\n return response;\n }\n /**\n * Attach a onComplete callback function to a bot.\n * The callback is called once the bot's intent is fulfilled\n * @param {AWSLexV2ProviderOption} botConfig - Bot configuration to attach the onComplete callback\n * @param {InteractionsOnCompleteCallback} callback - called when Intent Fulfilled\n */\n onComplete({ name }, callback) {\n this._botsCompleteCallback[name] = callback;\n }\n /**\n * call onComplete callback for a bot if configured\n */\n _reportBotStatus(data, { name }) {\n const sessionState = data?.sessionState;\n // Check if state is fulfilled to resolve onFullfilment promise\n logger.debug('postContent state', sessionState?.intent?.state);\n const callback = this._botsCompleteCallback[name];\n if (!callback) {\n return;\n }\n switch (sessionState?.intent?.state) {\n case client_lex_runtime_v2_1.IntentState.READY_FOR_FULFILLMENT:\n case client_lex_runtime_v2_1.IntentState.FULFILLED:\n callback(undefined, data);\n break;\n case client_lex_runtime_v2_1.IntentState.FAILED:\n callback(new Error('Bot conversation failed'));\n break;\n default:\n break;\n }\n }\n /**\n * Format UtteranceCommandOutput's response\n * decompress attributes\n * update audioStream format\n */\n async _formatUtteranceCommandOutput(data) {\n return {\n ...data,\n messages: await (0, utils_2.unGzipBase64AsJson)(data.messages),\n sessionState: await (0, utils_2.unGzipBase64AsJson)(data.sessionState),\n interpretations: await (0, utils_2.unGzipBase64AsJson)(data.interpretations),\n requestAttributes: await (0, utils_2.unGzipBase64AsJson)(data.requestAttributes),\n inputTranscript: await (0, utils_2.unGzipBase64AsJson)(data.inputTranscript),\n audioStream: data.audioStream\n ? await (0, utils_2.convert)(data.audioStream)\n : undefined,\n };\n }\n /**\n * handle client's `RecognizeTextCommand`\n * used for sending simple text message\n */\n async _handleRecognizeTextCommand(botConfig, data, baseParams, client) {\n logger.debug('postText to lex2', data);\n const params = {\n ...baseParams,\n text: data,\n };\n try {\n const recognizeTextCommand = new client_lex_runtime_v2_1.RecognizeTextCommand(params);\n const resultData = await client.send(recognizeTextCommand);\n this._reportBotStatus(resultData, botConfig);\n return resultData;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n /**\n * handle client's `RecognizeUtteranceCommand`\n * used for obj text or obj voice message\n */\n async _handleRecognizeUtteranceCommand(botConfig, data, baseParams, client) {\n const { content, options: { messageType }, } = data;\n logger.debug('postContent to lex2', data);\n let params;\n // prepare params\n if (messageType === 'voice') {\n if (typeof content !== 'object') {\n return Promise.reject(new Error('invalid content type'));\n }\n const inputStream = content instanceof Uint8Array ? content : await (0, utils_2.convert)(content);\n params = {\n ...baseParams,\n requestContentType: 'audio/x-l16; sample-rate=16000; channel-count=1',\n inputStream,\n };\n }\n else {\n // text input\n if (typeof content !== 'string')\n return Promise.reject(new Error('invalid content type'));\n params = {\n ...baseParams,\n requestContentType: 'text/plain; charset=utf-8',\n inputStream: content,\n };\n }\n // make API call to lex\n try {\n const recognizeUtteranceCommand = new client_lex_runtime_v2_1.RecognizeUtteranceCommand(params);\n const resultData = await client.send(recognizeUtteranceCommand);\n const response = await this._formatUtteranceCommandOutput(resultData);\n this._reportBotStatus(response, botConfig);\n return response;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n}\nexports.lexProvider = new AWSLexV2Provider();\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;AAC7B;AACA;AACA,MAAM,uBAAuB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC;AAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAC5D,MAAM,gBAAgB,CAAC;AACvB,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;AACxC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC;AACjD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE;AAC1C;AACA,QAAQ,IAAI,OAAO,CAAC;AACpB,QAAQ,IAAI;AACZ,YAAY,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,gBAAgB,GAAG,CAAC;AAC3D,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;AAC/D,SAAS;AACT,QAAQ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;AAC/D,QAAQ,MAAM,MAAM,GAAG,IAAI,uBAAuB,CAAC,kBAAkB,CAAC;AACtE,YAAY,MAAM;AAClB,YAAY,WAAW,EAAE,OAAO,CAAC,WAAW;AAC5C,YAAY,eAAe,EAAE,IAAI,OAAO,CAAC,yBAAyB,GAAG;AACrE,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,QAAQ,CAAC;AACrB;AACA,QAAQ,MAAM,aAAa,GAAG;AAC9B,YAAY,UAAU,EAAE,OAAO;AAC/B,YAAY,KAAK;AACjB,YAAY,QAAQ;AACpB,YAAY,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB;AAClE,SAAS,CAAC;AACV,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,QAAQ,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AACzG,SAAS;AACT,aAAa;AACb,YAAY,QAAQ,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC9G,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE;AACnC,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AACpD,KAAK;AACL;AACA;AACA;AACA,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;AACrC,QAAQ,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,CAAC;AAChD;AACA,QAAQ,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACvE,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC1D,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACvB,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,QAAQ,YAAY,EAAE,MAAM,EAAE,KAAK;AAC3C,YAAY,KAAK,uBAAuB,CAAC,WAAW,CAAC,qBAAqB,CAAC;AAC3E,YAAY,KAAK,uBAAuB,CAAC,WAAW,CAAC,SAAS;AAC9D,gBAAgB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC1C,gBAAgB,MAAM;AACtB,YAAY,KAAK,uBAAuB,CAAC,WAAW,CAAC,MAAM;AAC3D,gBAAgB,QAAQ,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAC/D,gBAAgB,MAAM;AAGtB,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,6BAA6B,CAAC,IAAI,EAAE;AAC9C,QAAQ,OAAO;AACf,YAAY,GAAG,IAAI;AACnB,YAAY,QAAQ,EAAE,MAAM,IAAI,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC1E,YAAY,YAAY,EAAE,MAAM,IAAI,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC;AAClF,YAAY,eAAe,EAAE,MAAM,IAAI,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC;AACxF,YAAY,iBAAiB,EAAE,MAAM,IAAI,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC;AAC5F,YAAY,eAAe,EAAE,MAAM,IAAI,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC;AACxF,YAAY,WAAW,EAAE,IAAI,CAAC,WAAW;AACzC,kBAAkB,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;AAC9D,kBAAkB,SAAS;AAC3B,SAAS,CAAC;AACV,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,MAAM,2BAA2B,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;AAC3E,QAAQ,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAC/C,QAAQ,MAAM,MAAM,GAAG;AACvB,YAAY,GAAG,UAAU;AACzB,YAAY,IAAI,EAAE,IAAI;AACtB,SAAS,CAAC;AACV,QAAQ,IAAI;AACZ,YAAY,MAAM,oBAAoB,GAAG,IAAI,uBAAuB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAClG,YAAY,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACvE,YAAY,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACzD,YAAY,OAAO,UAAU,CAAC;AAC9B,SAAS;AACT,QAAQ,OAAO,GAAG,EAAE;AACpB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,MAAM,gCAAgC,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;AAChF,QAAQ,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,CAAC;AAC5D,QAAQ,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAClD,QAAQ,IAAI,MAAM,CAAC;AACnB;AACA,QAAQ,IAAI,WAAW,KAAK,OAAO,EAAE;AACrC,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC7C,gBAAgB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACzE,aAAa;AACb,YAAY,MAAM,WAAW,GAAG,OAAO,YAAY,UAAU,GAAG,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9G,YAAY,MAAM,GAAG;AACrB,gBAAgB,GAAG,UAAU;AAC7B,gBAAgB,kBAAkB,EAAE,iDAAiD;AACrF,gBAAgB,WAAW;AAC3B,aAAa,CAAC;AACd,SAAS;AACT,aAAa;AACb;AACA,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ;AAC3C,gBAAgB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACzE,YAAY,MAAM,GAAG;AACrB,gBAAgB,GAAG,UAAU;AAC7B,gBAAgB,kBAAkB,EAAE,2BAA2B;AAC/D,gBAAgB,WAAW,EAAE,OAAO;AACpC,aAAa,CAAC;AACd,SAAS;AACT;AACA,QAAQ,IAAI;AACZ,YAAY,MAAM,yBAAyB,GAAG,IAAI,uBAAuB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAC5G,YAAY,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AAC5E,YAAY,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,CAAC;AAClF,YAAY,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvD,YAAY,OAAO,QAAQ,CAAC;AAC5B,SAAS;AACT,QAAQ,OAAO,GAAG,EAAE;AACpB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,SAAS;AACT,KAAK;AACL,CAAC;AACD,OAAO,CAAC,WAAW,GAAG,IAAI,gBAAgB,EAAE;;"}
|
|
1
|
+
{"version":3,"file":"AWSLexV2Provider.js","sources":["../../../src/lex-v2/AWSLexV2Provider.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.lexProvider = void 0;\nconst client_lex_runtime_v2_1 = require(\"@aws-sdk/client-lex-runtime-v2\");\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst core_1 = require(\"@aws-amplify/core\");\nconst utils_2 = require(\"../utils\");\nconst uuid_1 = require(\"uuid\");\nconst logger = new core_1.ConsoleLogger('AWSLexV2Provider');\nclass AWSLexV2Provider {\n constructor() {\n this._botsCompleteCallback = {};\n this.defaultSessionId = (0, uuid_1.v4)();\n }\n /**\n * Send a message to a bot\n * @async\n * @param {AWSLexV2ProviderOption} botConfig - Bot configuration for sending the message\n * @param {string | InteractionsMessage} message - message to send to the bot\n * @return {Promise<InteractionsResponse>} A promise resolves to the response from the bot\n */\n async sendMessage(botConfig, message) {\n // check if credentials are present\n let session;\n try {\n session = await (0, core_1.fetchAuthSession)();\n }\n catch (error) {\n return Promise.reject('No credentials');\n }\n const { region, aliasId, localeId, botId } = botConfig;\n const client = new client_lex_runtime_v2_1.LexRuntimeV2Client({\n region,\n credentials: session.credentials,\n customUserAgent: (0, utils_1.getAmplifyUserAgentObject)(),\n });\n let response;\n // common base params for all requests\n const reqBaseParams = {\n botAliasId: aliasId,\n botId,\n localeId,\n sessionId: session.identityId ?? this.defaultSessionId,\n };\n if (typeof message === 'string') {\n response = await this._handleRecognizeTextCommand(botConfig, message, reqBaseParams, client);\n }\n else {\n response = await this._handleRecognizeUtteranceCommand(botConfig, message, reqBaseParams, client);\n }\n return response;\n }\n /**\n * Attach a onComplete callback function to a bot.\n * The callback is called once the bot's intent is fulfilled\n * @param {AWSLexV2ProviderOption} botConfig - Bot configuration to attach the onComplete callback\n * @param {InteractionsOnCompleteCallback} callback - called when Intent Fulfilled\n */\n onComplete({ name }, callback) {\n this._botsCompleteCallback[name] = callback;\n }\n /**\n * call onComplete callback for a bot if configured\n */\n _reportBotStatus(data, { name }) {\n const sessionState = data?.sessionState;\n // Check if state is fulfilled to resolve onFullfilment promise\n logger.debug('postContent state', sessionState?.intent?.state);\n const callback = this._botsCompleteCallback[name];\n if (!callback) {\n return;\n }\n switch (sessionState?.intent?.state) {\n case client_lex_runtime_v2_1.IntentState.READY_FOR_FULFILLMENT:\n case client_lex_runtime_v2_1.IntentState.FULFILLED:\n callback(undefined, data);\n break;\n case client_lex_runtime_v2_1.IntentState.FAILED:\n callback(new Error('Bot conversation failed'));\n break;\n default:\n break;\n }\n }\n /**\n * Format UtteranceCommandOutput's response\n * decompress attributes\n * update audioStream format\n */\n async _formatUtteranceCommandOutput(data) {\n return {\n ...data,\n messages: await (0, utils_2.unGzipBase64AsJson)(data.messages),\n sessionState: await (0, utils_2.unGzipBase64AsJson)(data.sessionState),\n interpretations: await (0, utils_2.unGzipBase64AsJson)(data.interpretations),\n requestAttributes: await (0, utils_2.unGzipBase64AsJson)(data.requestAttributes),\n inputTranscript: await (0, utils_2.unGzipBase64AsJson)(data.inputTranscript),\n audioStream: data.audioStream\n ? await (0, utils_2.convert)(data.audioStream)\n : undefined,\n };\n }\n /**\n * handle client's `RecognizeTextCommand`\n * used for sending simple text message\n */\n async _handleRecognizeTextCommand(botConfig, data, baseParams, client) {\n logger.debug('postText to lex2', data);\n const params = {\n ...baseParams,\n text: data,\n };\n try {\n const recognizeTextCommand = new client_lex_runtime_v2_1.RecognizeTextCommand(params);\n const data = await client.send(recognizeTextCommand);\n this._reportBotStatus(data, botConfig);\n return data;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n /**\n * handle client's `RecognizeUtteranceCommand`\n * used for obj text or obj voice message\n */\n async _handleRecognizeUtteranceCommand(botConfig, data, baseParams, client) {\n const { content, options: { messageType }, } = data;\n logger.debug('postContent to lex2', data);\n let params;\n // prepare params\n if (messageType === 'voice') {\n if (typeof content !== 'object') {\n return Promise.reject('invalid content type');\n }\n const inputStream = content instanceof Uint8Array ? content : await (0, utils_2.convert)(content);\n params = {\n ...baseParams,\n requestContentType: 'audio/x-l16; sample-rate=16000; channel-count=1',\n inputStream,\n };\n }\n else {\n // text input\n if (typeof content !== 'string')\n return Promise.reject('invalid content type');\n params = {\n ...baseParams,\n requestContentType: 'text/plain; charset=utf-8',\n inputStream: content,\n };\n }\n // make API call to lex\n try {\n const recognizeUtteranceCommand = new client_lex_runtime_v2_1.RecognizeUtteranceCommand(params);\n const data = await client.send(recognizeUtteranceCommand);\n const response = await this._formatUtteranceCommandOutput(data);\n this._reportBotStatus(response, botConfig);\n return response;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n}\nexports.lexProvider = new AWSLexV2Provider();\n"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ const unGzipBase64AsJson = async (gzipBase64) => {
|
|
|
14
14
|
return JSON.parse(objString);
|
|
15
15
|
}
|
|
16
16
|
catch (error) {
|
|
17
|
-
return Promise.reject(
|
|
17
|
+
return Promise.reject('unable to decode and decompress ' + error);
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
exports.unGzipBase64AsJson = unGzipBase64AsJson;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonUtils.js","sources":["../../../src/utils/commonUtils.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unGzipBase64AsJson = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst utils_1 = require(\"./utils\");\nconst unGzipBase64AsJson = async (gzipBase64) => {\n if (typeof gzipBase64 === 'undefined')\n return undefined;\n try {\n const decodedArrayBuffer = (0, utils_1.base64ToArrayBuffer)(gzipBase64);\n const objString = await (0, utils_1.gzipDecompressToString)(decodedArrayBuffer);\n return JSON.parse(objString);\n }\n catch (error) {\n return Promise.reject(
|
|
1
|
+
{"version":3,"file":"commonUtils.js","sources":["../../../src/utils/commonUtils.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unGzipBase64AsJson = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst utils_1 = require(\"./utils\");\nconst unGzipBase64AsJson = async (gzipBase64) => {\n if (typeof gzipBase64 === 'undefined')\n return undefined;\n try {\n const decodedArrayBuffer = (0, utils_1.base64ToArrayBuffer)(gzipBase64);\n const objString = await (0, utils_1.gzipDecompressToString)(decodedArrayBuffer);\n return JSON.parse(objString);\n }\n catch (error) {\n return Promise.reject('unable to decode and decompress ' + error);\n }\n};\nexports.unGzipBase64AsJson = unGzipBase64AsJson;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC;AACpC;AACA;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,kBAAkB,GAAG,OAAO,UAAU,KAAK;AACjD,IAAI,IAAI,OAAO,UAAU,KAAK,WAAW;AACzC,QAAQ,OAAO,SAAS,CAAC;AACzB,IAAI,IAAI;AACR,QAAQ,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAChF,QAAQ,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;AACxF,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACrC,KAAK;AACL,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,kCAAkC,GAAG,KAAK,CAAC,CAAC;AAC1E,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,kBAAkB,GAAG,kBAAkB;;"}
|
package/dist/cjs/utils/utils.js
CHANGED
|
@@ -12,7 +12,7 @@ const convert = async (stream) => {
|
|
|
12
12
|
.then(buffer => new Uint8Array(buffer));
|
|
13
13
|
}
|
|
14
14
|
else {
|
|
15
|
-
return Promise.reject(
|
|
15
|
+
return Promise.reject('Invalid content type');
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
exports.convert = convert;
|
|
@@ -21,7 +21,7 @@ const base64ToArrayBuffer = (base64) => {
|
|
|
21
21
|
};
|
|
22
22
|
exports.base64ToArrayBuffer = base64ToArrayBuffer;
|
|
23
23
|
const gzipDecompressToString = async (data) => {
|
|
24
|
-
return new Promise((resolve, reject) => {
|
|
24
|
+
return await new Promise((resolve, reject) => {
|
|
25
25
|
(0, fflate_1.gunzip)(data, (err, resp) => {
|
|
26
26
|
if (err)
|
|
27
27
|
reject(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../../src/utils/utils.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.gzipDecompressToString = exports.base64ToArrayBuffer = exports.convert = void 0;\nconst fflate_1 = require(\"fflate\");\nconst convert = async (stream) => {\n if (stream instanceof Blob || stream instanceof ReadableStream) {\n return new Response(stream)\n .arrayBuffer()\n .then(buffer => new Uint8Array(buffer));\n }\n else {\n return Promise.reject(
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/utils/utils.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.gzipDecompressToString = exports.base64ToArrayBuffer = exports.convert = void 0;\nconst fflate_1 = require(\"fflate\");\nconst convert = async (stream) => {\n if (stream instanceof Blob || stream instanceof ReadableStream) {\n return new Response(stream)\n .arrayBuffer()\n .then(buffer => new Uint8Array(buffer));\n }\n else {\n return Promise.reject('Invalid content type');\n }\n};\nexports.convert = convert;\nconst base64ToArrayBuffer = (base64) => {\n return Uint8Array.from(window.atob(base64), c => c.charCodeAt(0));\n};\nexports.base64ToArrayBuffer = base64ToArrayBuffer;\nconst gzipDecompressToString = async (data) => {\n return await new Promise((resolve, reject) => {\n (0, fflate_1.gunzip)(data, (err, resp) => {\n if (err)\n reject(err);\n else\n resolve((0, fflate_1.strFromU8)(resp));\n });\n });\n};\nexports.gzipDecompressToString = gzipDecompressToString;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;AACxF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK;AAClC,IAAI,IAAI,MAAM,YAAY,IAAI,IAAI,MAAM,YAAY,cAAc,EAAE;AACpE,QAAQ,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC;AACnC,aAAa,WAAW,EAAE;AAC1B,aAAa,IAAI,CAAC,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,KAAK;AACL,SAAS;AACT,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACtD,KAAK;AACL,CAAC,CAAC;AACF,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,MAAM,mBAAmB,GAAG,CAAC,MAAM,KAAK;AACxC,IAAI,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC;AACF,OAAO,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AAClD,MAAM,sBAAsB,GAAG,OAAO,IAAI,KAAK;AAC/C,IAAI,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAClD,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK;AAClD,YAAY,IAAI,GAAG;AACnB,gBAAgB,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5B;AACA,gBAAgB,OAAO,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,OAAO,CAAC,sBAAsB,GAAG,sBAAsB;;"}
|
|
@@ -8,9 +8,9 @@ const base_64_1 = require("base-64");
|
|
|
8
8
|
const pako_1 = require("pako");
|
|
9
9
|
const convert = async (stream) => {
|
|
10
10
|
if (!(stream instanceof Blob)) {
|
|
11
|
-
return Promise.reject(
|
|
11
|
+
return Promise.reject('Invalid content type');
|
|
12
12
|
}
|
|
13
|
-
return new Promise((resolve, reject) => {
|
|
13
|
+
return new Promise(async (resolve, reject) => {
|
|
14
14
|
try {
|
|
15
15
|
const fileReaderInstance = new FileReader();
|
|
16
16
|
fileReaderInstance.readAsDataURL(stream);
|
|
@@ -22,7 +22,7 @@ const convert = async (stream) => {
|
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
catch (error) {
|
|
25
|
-
reject(
|
|
25
|
+
reject('unable to convert blob to arrayBuffer: ' + error);
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
};
|
|
@@ -39,7 +39,7 @@ const gzipDecompressToString = async (data) => {
|
|
|
39
39
|
resolve(result);
|
|
40
40
|
}
|
|
41
41
|
catch (error) {
|
|
42
|
-
reject(
|
|
42
|
+
reject('unable to decompress' + error);
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.native.js","sources":["../../../src/utils/utils.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.gzipDecompressToString = exports.base64ToArrayBuffer = exports.convert = void 0;\nconst base_64_1 = require(\"base-64\");\nconst pako_1 = require(\"pako\");\nconst convert = async (stream) => {\n if (!(stream instanceof Blob)) {\n return Promise.reject(
|
|
1
|
+
{"version":3,"file":"utils.native.js","sources":["../../../src/utils/utils.native.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.gzipDecompressToString = exports.base64ToArrayBuffer = exports.convert = void 0;\nconst base_64_1 = require(\"base-64\");\nconst pako_1 = require(\"pako\");\nconst convert = async (stream) => {\n if (!(stream instanceof Blob)) {\n return Promise.reject('Invalid content type');\n }\n return new Promise(async (resolve, reject) => {\n try {\n const fileReaderInstance = new FileReader();\n fileReaderInstance.readAsDataURL(stream);\n fileReaderInstance.onload = async () => {\n const blobURL = fileReaderInstance.result;\n const base64Blob = blobURL.split(/,(.*)/s)[1];\n const decodedArrayBuffer = (0, exports.base64ToArrayBuffer)(base64Blob);\n resolve(decodedArrayBuffer);\n };\n }\n catch (error) {\n reject('unable to convert blob to arrayBuffer: ' + error);\n }\n });\n};\nexports.convert = convert;\nconst base64ToArrayBuffer = (base64) => {\n const binaryString = (0, base_64_1.decode)(base64);\n return Uint8Array.from(binaryString, c => c.charCodeAt(0));\n};\nexports.base64ToArrayBuffer = base64ToArrayBuffer;\nconst gzipDecompressToString = async (data) => {\n return new Promise((resolve, reject) => {\n try {\n const result = (0, pako_1.ungzip)(data, { to: 'string' });\n resolve(result);\n }\n catch (error) {\n reject('unable to decompress' + error);\n }\n });\n};\nexports.gzipDecompressToString = gzipDecompressToString;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,mBAAmB,GAAG,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;AACxF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK;AAClC,IAAI,IAAI,EAAE,MAAM,YAAY,IAAI,CAAC,EAAE;AACnC,QAAQ,OAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACtD,KAAK;AACL,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAK;AAClD,QAAQ,IAAI;AACZ,YAAY,MAAM,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;AACxD,YAAY,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACrD,YAAY,kBAAkB,CAAC,MAAM,GAAG,YAAY;AACpD,gBAAgB,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC;AAC1D,gBAAgB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,gBAAgB,MAAM,kBAAkB,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AACxF,gBAAgB,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC5C,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,MAAM,CAAC,yCAAyC,GAAG,KAAK,CAAC,CAAC;AACtE,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,MAAM,mBAAmB,GAAG,CAAC,MAAM,KAAK;AACxC,IAAI,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,IAAI,OAAO,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC;AACF,OAAO,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AAClD,MAAM,sBAAsB,GAAG,OAAO,IAAI,KAAK;AAC/C,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC5C,QAAQ,IAAI;AACZ,YAAY,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtE,YAAY,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5B,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,MAAM,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC;AACnD,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACF,OAAO,CAAC,sBAAsB,GAAG,sBAAsB;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { InteractionsOnCompleteCallback, InteractionsMessage, InteractionsResponse } from '../types/Interactions';
|
|
1
2
|
import { PostContentCommandOutput, PostTextCommandOutput } from '@aws-sdk/client-lex-runtime-service';
|
|
2
|
-
import { InteractionsMessage, InteractionsOnCompleteCallback, InteractionsResponse } from '../types/Interactions';
|
|
3
3
|
import { AWSLexProviderOption } from './types';
|
|
4
4
|
interface PostContentCommandOutputFormatted extends Omit<PostContentCommandOutput, 'audioStream'> {
|
|
5
5
|
audioStream?: Uint8Array;
|
|
@@ -3,8 +3,6 @@ import { getAmplifyUserAgentObject } from '@aws-amplify/core/internals/utils';
|
|
|
3
3
|
import { ConsoleLogger, fetchAuthSession } from '@aws-amplify/core';
|
|
4
4
|
import { convert } from '../utils/utils.mjs';
|
|
5
5
|
|
|
6
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
8
6
|
const logger = new ConsoleLogger('AWSLexProvider');
|
|
9
7
|
class AWSLexProvider {
|
|
10
8
|
constructor() {
|
|
@@ -39,7 +37,7 @@ class AWSLexProvider {
|
|
|
39
37
|
session = await fetchAuthSession();
|
|
40
38
|
}
|
|
41
39
|
catch (error) {
|
|
42
|
-
return Promise.reject(
|
|
40
|
+
return Promise.reject('No credentials');
|
|
43
41
|
}
|
|
44
42
|
const { name, region, alias } = botConfig;
|
|
45
43
|
const client = new LexRuntimeServiceClient({
|
|
@@ -70,7 +68,7 @@ class AWSLexProvider {
|
|
|
70
68
|
const { content, options: { messageType }, } = message;
|
|
71
69
|
if (messageType === 'voice') {
|
|
72
70
|
if (typeof content !== 'object') {
|
|
73
|
-
return Promise.reject(
|
|
71
|
+
return Promise.reject('invalid content type');
|
|
74
72
|
}
|
|
75
73
|
const inputStream = content instanceof Uint8Array ? content : await convert(content);
|
|
76
74
|
params = {
|
|
@@ -84,7 +82,7 @@ class AWSLexProvider {
|
|
|
84
82
|
}
|
|
85
83
|
else {
|
|
86
84
|
if (typeof content !== 'string')
|
|
87
|
-
return Promise.reject(
|
|
85
|
+
return Promise.reject('invalid content type');
|
|
88
86
|
params = {
|
|
89
87
|
botAlias: alias,
|
|
90
88
|
botName: name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLexProvider.mjs","sources":["../../../src/lex-v1/AWSLexProvider.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"AWSLexProvider.mjs","sources":["../../../src/lex-v1/AWSLexProvider.ts"],"sourcesContent":["import { DialogState, LexRuntimeServiceClient, PostContentCommand, PostTextCommand, } from '@aws-sdk/client-lex-runtime-service';\nimport { getAmplifyUserAgentObject } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger, fetchAuthSession } from '@aws-amplify/core';\nimport { convert } from '../utils';\nconst logger = new ConsoleLogger('AWSLexProvider');\nclass AWSLexProvider {\n constructor() {\n this._botsCompleteCallback = {};\n }\n /**\n * @deprecated\n * This is used internally by 'sendMessage' to call onComplete callback\n * for a bot if configured\n */\n reportBotStatus(data, { name }) {\n const callback = this._botsCompleteCallback[name];\n if (!callback) {\n return;\n }\n // Check if state is fulfilled to resolve onFullfilment promise\n logger.debug('postContent state', data.dialogState);\n switch (data.dialogState) {\n case DialogState.READY_FOR_FULFILLMENT:\n case DialogState.FULFILLED:\n callback(undefined, data);\n break;\n case DialogState.FAILED:\n callback(new Error('Bot conversation failed'));\n break;\n default:\n break;\n }\n }\n async sendMessage(botConfig, message) {\n // check if credentials are present\n let session;\n try {\n session = await fetchAuthSession();\n }\n catch (error) {\n return Promise.reject('No credentials');\n }\n const { name, region, alias } = botConfig;\n const client = new LexRuntimeServiceClient({\n region,\n credentials: session.credentials,\n customUserAgent: getAmplifyUserAgentObject(),\n });\n let params;\n if (typeof message === 'string') {\n params = {\n botAlias: alias,\n botName: name,\n inputText: message,\n userId: session.identityId,\n };\n logger.debug('postText to lex', message);\n try {\n const postTextCommand = new PostTextCommand(params);\n const data = await client.send(postTextCommand);\n this.reportBotStatus(data, botConfig);\n return data;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n else {\n const { content, options: { messageType }, } = message;\n if (messageType === 'voice') {\n if (typeof content !== 'object') {\n return Promise.reject('invalid content type');\n }\n const inputStream = content instanceof Uint8Array ? content : await convert(content);\n params = {\n botAlias: alias,\n botName: name,\n contentType: 'audio/x-l16; sample-rate=16000; channel-count=1',\n userId: session.identityId,\n accept: 'audio/mpeg',\n inputStream,\n };\n }\n else {\n if (typeof content !== 'string')\n return Promise.reject('invalid content type');\n params = {\n botAlias: alias,\n botName: name,\n contentType: 'text/plain; charset=utf-8',\n inputStream: content,\n userId: session.identityId,\n accept: 'audio/mpeg',\n };\n }\n logger.debug('postContent to lex', message);\n try {\n const postContentCommand = new PostContentCommand(params);\n const data = await client.send(postContentCommand);\n const audioArray = data.audioStream\n ? await convert(data.audioStream)\n : undefined;\n const response = { ...data, ...{ audioStream: audioArray } };\n this.reportBotStatus(response, botConfig);\n return response;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n }\n onComplete({ name }, callback) {\n this._botsCompleteCallback[name] = callback;\n }\n}\nexport const lexProvider = new AWSLexProvider();\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onComplete.mjs","sources":["../../../../src/lex-v1/apis/onComplete.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveBotConfig } from '../utils';\nimport { lexProvider } from '../AWSLexProvider';\nimport {
|
|
1
|
+
{"version":3,"file":"onComplete.mjs","sources":["../../../../src/lex-v1/apis/onComplete.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveBotConfig } from '../utils';\nimport { lexProvider } from '../AWSLexProvider';\nimport { assertValidationError, InteractionsValidationErrorCode, } from '../../errors';\nexport const onComplete = (input) => {\n const { botName, callback } = input;\n const botConfig = resolveBotConfig(botName);\n assertValidationError(!!botConfig, InteractionsValidationErrorCode.NoBotConfig, `Bot ${botName} does not exist.`);\n lexProvider.onComplete(botConfig, callback);\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAIY,MAAC,UAAU,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AACxC,IAAI,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAChD,IAAI,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,+BAA+B,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtH,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.mjs","sources":["../../../../src/lex-v1/apis/send.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveBotConfig } from '../utils';\nimport { lexProvider } from '../AWSLexProvider';\nimport {
|
|
1
|
+
{"version":3,"file":"send.mjs","sources":["../../../../src/lex-v1/apis/send.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveBotConfig } from '../utils';\nimport { lexProvider } from '../AWSLexProvider';\nimport { assertValidationError, InteractionsValidationErrorCode, } from '../../errors';\nexport const send = async (input) => {\n const { botName, message } = input;\n const botConfig = resolveBotConfig(botName);\n assertValidationError(!!botConfig, InteractionsValidationErrorCode.NoBotConfig, `Bot ${botName} does not exist.`);\n return lexProvider.sendMessage(botConfig, message);\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAIY,MAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AACrC,IAAI,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AACvC,IAAI,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAChD,IAAI,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,+BAA+B,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtH,IAAI,OAAO,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACvD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/lex-v1/index.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/lex-v1/index.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { send, onComplete } from './apis';\n/**\n * @deprecated recommend to migrate to AWS Lex V2 instead\n * */\nexport const Interactions = {\n send,\n onComplete,\n};\n"],"names":[],"mappings":";;;AAAA;AACA;AAEA;AACA;AACA;AACY,MAAC,YAAY,GAAG;AAC5B,IAAI,IAAI;AACR,IAAI,UAAU;AACd;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { InteractionsOnCompleteCallback, InteractionsMessage, InteractionsResponse } from '../types/Interactions';
|
|
1
2
|
import { RecognizeTextCommandOutput, RecognizeUtteranceCommandOutput } from '@aws-sdk/client-lex-runtime-v2';
|
|
2
|
-
import { InteractionsMessage, InteractionsOnCompleteCallback, InteractionsResponse } from '../types/Interactions';
|
|
3
3
|
import { AWSLexV2ProviderOption } from './types';
|
|
4
4
|
interface RecognizeUtteranceCommandOutputFormatted extends Omit<RecognizeUtteranceCommandOutput, 'messages' | 'interpretations' | 'sessionState' | 'requestAttributes' | 'audioStream'> {
|
|
5
5
|
messages?: RecognizeTextCommandOutput['messages'];
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { LexRuntimeV2Client, IntentState, RecognizeTextCommand, RecognizeUtteranceCommand } from '@aws-sdk/client-lex-runtime-v2';
|
|
2
2
|
import { getAmplifyUserAgentObject } from '@aws-amplify/core/internals/utils';
|
|
3
3
|
import { ConsoleLogger, fetchAuthSession } from '@aws-amplify/core';
|
|
4
|
-
import { v4 } from 'uuid';
|
|
5
4
|
import { convert } from '../utils/utils.mjs';
|
|
6
5
|
import { unGzipBase64AsJson } from '../utils/commonUtils.mjs';
|
|
6
|
+
import { v4 } from 'uuid';
|
|
7
7
|
|
|
8
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
9
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
10
8
|
const logger = new ConsoleLogger('AWSLexV2Provider');
|
|
11
9
|
class AWSLexV2Provider {
|
|
12
10
|
constructor() {
|
|
@@ -27,7 +25,7 @@ class AWSLexV2Provider {
|
|
|
27
25
|
session = await fetchAuthSession();
|
|
28
26
|
}
|
|
29
27
|
catch (error) {
|
|
30
|
-
return Promise.reject(
|
|
28
|
+
return Promise.reject('No credentials');
|
|
31
29
|
}
|
|
32
30
|
const { region, aliasId, localeId, botId } = botConfig;
|
|
33
31
|
const client = new LexRuntimeV2Client({
|
|
@@ -111,9 +109,9 @@ class AWSLexV2Provider {
|
|
|
111
109
|
};
|
|
112
110
|
try {
|
|
113
111
|
const recognizeTextCommand = new RecognizeTextCommand(params);
|
|
114
|
-
const
|
|
115
|
-
this._reportBotStatus(
|
|
116
|
-
return
|
|
112
|
+
const data = await client.send(recognizeTextCommand);
|
|
113
|
+
this._reportBotStatus(data, botConfig);
|
|
114
|
+
return data;
|
|
117
115
|
}
|
|
118
116
|
catch (err) {
|
|
119
117
|
return Promise.reject(err);
|
|
@@ -130,7 +128,7 @@ class AWSLexV2Provider {
|
|
|
130
128
|
// prepare params
|
|
131
129
|
if (messageType === 'voice') {
|
|
132
130
|
if (typeof content !== 'object') {
|
|
133
|
-
return Promise.reject(
|
|
131
|
+
return Promise.reject('invalid content type');
|
|
134
132
|
}
|
|
135
133
|
const inputStream = content instanceof Uint8Array ? content : await convert(content);
|
|
136
134
|
params = {
|
|
@@ -142,7 +140,7 @@ class AWSLexV2Provider {
|
|
|
142
140
|
else {
|
|
143
141
|
// text input
|
|
144
142
|
if (typeof content !== 'string')
|
|
145
|
-
return Promise.reject(
|
|
143
|
+
return Promise.reject('invalid content type');
|
|
146
144
|
params = {
|
|
147
145
|
...baseParams,
|
|
148
146
|
requestContentType: 'text/plain; charset=utf-8',
|
|
@@ -152,8 +150,8 @@ class AWSLexV2Provider {
|
|
|
152
150
|
// make API call to lex
|
|
153
151
|
try {
|
|
154
152
|
const recognizeUtteranceCommand = new RecognizeUtteranceCommand(params);
|
|
155
|
-
const
|
|
156
|
-
const response = await this._formatUtteranceCommandOutput(
|
|
153
|
+
const data = await client.send(recognizeUtteranceCommand);
|
|
154
|
+
const response = await this._formatUtteranceCommandOutput(data);
|
|
157
155
|
this._reportBotStatus(response, botConfig);
|
|
158
156
|
return response;
|
|
159
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLexV2Provider.mjs","sources":["../../../src/lex-v2/AWSLexV2Provider.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { IntentState, LexRuntimeV2Client, RecognizeTextCommand, RecognizeUtteranceCommand, } from '@aws-sdk/client-lex-runtime-v2';\nimport { getAmplifyUserAgentObject } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger, fetchAuthSession } from '@aws-amplify/core';\nimport { v4 as uuid } from 'uuid';\nimport { convert, unGzipBase64AsJson } from '../utils';\nconst logger = new ConsoleLogger('AWSLexV2Provider');\nclass AWSLexV2Provider {\n constructor() {\n this._botsCompleteCallback = {};\n this.defaultSessionId = uuid();\n }\n /**\n * Send a message to a bot\n * @async\n * @param {AWSLexV2ProviderOption} botConfig - Bot configuration for sending the message\n * @param {string | InteractionsMessage} message - message to send to the bot\n * @return {Promise<InteractionsResponse>} A promise resolves to the response from the bot\n */\n async sendMessage(botConfig, message) {\n // check if credentials are present\n let session;\n try {\n session = await fetchAuthSession();\n }\n catch (error) {\n return Promise.reject(new Error('No credentials'));\n }\n const { region, aliasId, localeId, botId } = botConfig;\n const client = new LexRuntimeV2Client({\n region,\n credentials: session.credentials,\n customUserAgent: getAmplifyUserAgentObject(),\n });\n let response;\n // common base params for all requests\n const reqBaseParams = {\n botAliasId: aliasId,\n botId,\n localeId,\n sessionId: session.identityId ?? this.defaultSessionId,\n };\n if (typeof message === 'string') {\n response = await this._handleRecognizeTextCommand(botConfig, message, reqBaseParams, client);\n }\n else {\n response = await this._handleRecognizeUtteranceCommand(botConfig, message, reqBaseParams, client);\n }\n return response;\n }\n /**\n * Attach a onComplete callback function to a bot.\n * The callback is called once the bot's intent is fulfilled\n * @param {AWSLexV2ProviderOption} botConfig - Bot configuration to attach the onComplete callback\n * @param {InteractionsOnCompleteCallback} callback - called when Intent Fulfilled\n */\n onComplete({ name }, callback) {\n this._botsCompleteCallback[name] = callback;\n }\n /**\n * call onComplete callback for a bot if configured\n */\n _reportBotStatus(data, { name }) {\n const sessionState = data?.sessionState;\n // Check if state is fulfilled to resolve onFullfilment promise\n logger.debug('postContent state', sessionState?.intent?.state);\n const callback = this._botsCompleteCallback[name];\n if (!callback) {\n return;\n }\n switch (sessionState?.intent?.state) {\n case IntentState.READY_FOR_FULFILLMENT:\n case IntentState.FULFILLED:\n callback(undefined, data);\n break;\n case IntentState.FAILED:\n callback(new Error('Bot conversation failed'));\n break;\n default:\n break;\n }\n }\n /**\n * Format UtteranceCommandOutput's response\n * decompress attributes\n * update audioStream format\n */\n async _formatUtteranceCommandOutput(data) {\n return {\n ...data,\n messages: await unGzipBase64AsJson(data.messages),\n sessionState: await unGzipBase64AsJson(data.sessionState),\n interpretations: await unGzipBase64AsJson(data.interpretations),\n requestAttributes: await unGzipBase64AsJson(data.requestAttributes),\n inputTranscript: await unGzipBase64AsJson(data.inputTranscript),\n audioStream: data.audioStream\n ? await convert(data.audioStream)\n : undefined,\n };\n }\n /**\n * handle client's `RecognizeTextCommand`\n * used for sending simple text message\n */\n async _handleRecognizeTextCommand(botConfig, data, baseParams, client) {\n logger.debug('postText to lex2', data);\n const params = {\n ...baseParams,\n text: data,\n };\n try {\n const recognizeTextCommand = new RecognizeTextCommand(params);\n const resultData = await client.send(recognizeTextCommand);\n this._reportBotStatus(resultData, botConfig);\n return resultData;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n /**\n * handle client's `RecognizeUtteranceCommand`\n * used for obj text or obj voice message\n */\n async _handleRecognizeUtteranceCommand(botConfig, data, baseParams, client) {\n const { content, options: { messageType }, } = data;\n logger.debug('postContent to lex2', data);\n let params;\n // prepare params\n if (messageType === 'voice') {\n if (typeof content !== 'object') {\n return Promise.reject(new Error('invalid content type'));\n }\n const inputStream = content instanceof Uint8Array ? content : await convert(content);\n params = {\n ...baseParams,\n requestContentType: 'audio/x-l16; sample-rate=16000; channel-count=1',\n inputStream,\n };\n }\n else {\n // text input\n if (typeof content !== 'string')\n return Promise.reject(new Error('invalid content type'));\n params = {\n ...baseParams,\n requestContentType: 'text/plain; charset=utf-8',\n inputStream: content,\n };\n }\n // make API call to lex\n try {\n const recognizeUtteranceCommand = new RecognizeUtteranceCommand(params);\n const resultData = await client.send(recognizeUtteranceCommand);\n const response = await this._formatUtteranceCommandOutput(resultData);\n this._reportBotStatus(response, botConfig);\n return response;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n}\nexport const lexProvider = new AWSLexV2Provider();\n"],"names":["uuid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AWSLexV2Provider.mjs","sources":["../../../src/lex-v2/AWSLexV2Provider.ts"],"sourcesContent":["import { IntentState, LexRuntimeV2Client, RecognizeTextCommand, RecognizeUtteranceCommand, } from '@aws-sdk/client-lex-runtime-v2';\nimport { getAmplifyUserAgentObject } from '@aws-amplify/core/internals/utils';\nimport { ConsoleLogger, fetchAuthSession } from '@aws-amplify/core';\nimport { convert, unGzipBase64AsJson } from '../utils';\nimport { v4 as uuid } from 'uuid';\nconst logger = new ConsoleLogger('AWSLexV2Provider');\nclass AWSLexV2Provider {\n constructor() {\n this._botsCompleteCallback = {};\n this.defaultSessionId = uuid();\n }\n /**\n * Send a message to a bot\n * @async\n * @param {AWSLexV2ProviderOption} botConfig - Bot configuration for sending the message\n * @param {string | InteractionsMessage} message - message to send to the bot\n * @return {Promise<InteractionsResponse>} A promise resolves to the response from the bot\n */\n async sendMessage(botConfig, message) {\n // check if credentials are present\n let session;\n try {\n session = await fetchAuthSession();\n }\n catch (error) {\n return Promise.reject('No credentials');\n }\n const { region, aliasId, localeId, botId } = botConfig;\n const client = new LexRuntimeV2Client({\n region,\n credentials: session.credentials,\n customUserAgent: getAmplifyUserAgentObject(),\n });\n let response;\n // common base params for all requests\n const reqBaseParams = {\n botAliasId: aliasId,\n botId,\n localeId,\n sessionId: session.identityId ?? this.defaultSessionId,\n };\n if (typeof message === 'string') {\n response = await this._handleRecognizeTextCommand(botConfig, message, reqBaseParams, client);\n }\n else {\n response = await this._handleRecognizeUtteranceCommand(botConfig, message, reqBaseParams, client);\n }\n return response;\n }\n /**\n * Attach a onComplete callback function to a bot.\n * The callback is called once the bot's intent is fulfilled\n * @param {AWSLexV2ProviderOption} botConfig - Bot configuration to attach the onComplete callback\n * @param {InteractionsOnCompleteCallback} callback - called when Intent Fulfilled\n */\n onComplete({ name }, callback) {\n this._botsCompleteCallback[name] = callback;\n }\n /**\n * call onComplete callback for a bot if configured\n */\n _reportBotStatus(data, { name }) {\n const sessionState = data?.sessionState;\n // Check if state is fulfilled to resolve onFullfilment promise\n logger.debug('postContent state', sessionState?.intent?.state);\n const callback = this._botsCompleteCallback[name];\n if (!callback) {\n return;\n }\n switch (sessionState?.intent?.state) {\n case IntentState.READY_FOR_FULFILLMENT:\n case IntentState.FULFILLED:\n callback(undefined, data);\n break;\n case IntentState.FAILED:\n callback(new Error('Bot conversation failed'));\n break;\n default:\n break;\n }\n }\n /**\n * Format UtteranceCommandOutput's response\n * decompress attributes\n * update audioStream format\n */\n async _formatUtteranceCommandOutput(data) {\n return {\n ...data,\n messages: await unGzipBase64AsJson(data.messages),\n sessionState: await unGzipBase64AsJson(data.sessionState),\n interpretations: await unGzipBase64AsJson(data.interpretations),\n requestAttributes: await unGzipBase64AsJson(data.requestAttributes),\n inputTranscript: await unGzipBase64AsJson(data.inputTranscript),\n audioStream: data.audioStream\n ? await convert(data.audioStream)\n : undefined,\n };\n }\n /**\n * handle client's `RecognizeTextCommand`\n * used for sending simple text message\n */\n async _handleRecognizeTextCommand(botConfig, data, baseParams, client) {\n logger.debug('postText to lex2', data);\n const params = {\n ...baseParams,\n text: data,\n };\n try {\n const recognizeTextCommand = new RecognizeTextCommand(params);\n const data = await client.send(recognizeTextCommand);\n this._reportBotStatus(data, botConfig);\n return data;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n /**\n * handle client's `RecognizeUtteranceCommand`\n * used for obj text or obj voice message\n */\n async _handleRecognizeUtteranceCommand(botConfig, data, baseParams, client) {\n const { content, options: { messageType }, } = data;\n logger.debug('postContent to lex2', data);\n let params;\n // prepare params\n if (messageType === 'voice') {\n if (typeof content !== 'object') {\n return Promise.reject('invalid content type');\n }\n const inputStream = content instanceof Uint8Array ? content : await convert(content);\n params = {\n ...baseParams,\n requestContentType: 'audio/x-l16; sample-rate=16000; channel-count=1',\n inputStream,\n };\n }\n else {\n // text input\n if (typeof content !== 'string')\n return Promise.reject('invalid content type');\n params = {\n ...baseParams,\n requestContentType: 'text/plain; charset=utf-8',\n inputStream: content,\n };\n }\n // make API call to lex\n try {\n const recognizeUtteranceCommand = new RecognizeUtteranceCommand(params);\n const data = await client.send(recognizeUtteranceCommand);\n const response = await this._formatUtteranceCommandOutput(data);\n this._reportBotStatus(response, botConfig);\n return response;\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n}\nexport const lexProvider = new AWSLexV2Provider();\n"],"names":["uuid"],"mappings":";;;;;;;AAKA,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,kBAAkB,CAAC,CAAC;AACrD,MAAM,gBAAgB,CAAC;AACvB,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;AACxC,QAAQ,IAAI,CAAC,gBAAgB,GAAGA,EAAI,EAAE,CAAC;AACvC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE;AAC1C;AACA,QAAQ,IAAI,OAAO,CAAC;AACpB,QAAQ,IAAI;AACZ,YAAY,OAAO,GAAG,MAAM,gBAAgB,EAAE,CAAC;AAC/C,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;AAC/D,QAAQ,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC;AAC9C,YAAY,MAAM;AAClB,YAAY,WAAW,EAAE,OAAO,CAAC,WAAW;AAC5C,YAAY,eAAe,EAAE,yBAAyB,EAAE;AACxD,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,QAAQ,CAAC;AACrB;AACA,QAAQ,MAAM,aAAa,GAAG;AAC9B,YAAY,UAAU,EAAE,OAAO;AAC/B,YAAY,KAAK;AACjB,YAAY,QAAQ;AACpB,YAAY,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB;AAClE,SAAS,CAAC;AACV,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,QAAQ,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AACzG,SAAS;AACT,aAAa;AACb,YAAY,QAAQ,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAC9G,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE;AACnC,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AACpD,KAAK;AACL;AACA;AACA;AACA,IAAI,gBAAgB,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;AACrC,QAAQ,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,CAAC;AAChD;AACA,QAAQ,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACvE,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC1D,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACvB,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,QAAQ,YAAY,EAAE,MAAM,EAAE,KAAK;AAC3C,YAAY,KAAK,WAAW,CAAC,qBAAqB,CAAC;AACnD,YAAY,KAAK,WAAW,CAAC,SAAS;AACtC,gBAAgB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC1C,gBAAgB,MAAM;AACtB,YAAY,KAAK,WAAW,CAAC,MAAM;AACnC,gBAAgB,QAAQ,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAC/D,gBAAgB,MAAM;AAGtB,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,6BAA6B,CAAC,IAAI,EAAE;AAC9C,QAAQ,OAAO;AACf,YAAY,GAAG,IAAI;AACnB,YAAY,QAAQ,EAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7D,YAAY,YAAY,EAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC;AACrE,YAAY,eAAe,EAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC;AAC3E,YAAY,iBAAiB,EAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAC/E,YAAY,eAAe,EAAE,MAAM,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC;AAC3E,YAAY,WAAW,EAAE,IAAI,CAAC,WAAW;AACzC,kBAAkB,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;AACjD,kBAAkB,SAAS;AAC3B,SAAS,CAAC;AACV,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,MAAM,2BAA2B,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;AAC3E,QAAQ,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AAC/C,QAAQ,MAAM,MAAM,GAAG;AACvB,YAAY,GAAG,UAAU;AACzB,YAAY,IAAI,EAAE,IAAI;AACtB,SAAS,CAAC;AACV,QAAQ,IAAI;AACZ,YAAY,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC1E,YAAY,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACjE,YAAY,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACnD,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,GAAG,EAAE;AACpB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,MAAM,gCAAgC,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;AAChF,QAAQ,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,GAAG,IAAI,CAAC;AAC5D,QAAQ,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAClD,QAAQ,IAAI,MAAM,CAAC;AACnB;AACA,QAAQ,IAAI,WAAW,KAAK,OAAO,EAAE;AACrC,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC7C,gBAAgB,OAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAC9D,aAAa;AACb,YAAY,MAAM,WAAW,GAAG,OAAO,YAAY,UAAU,GAAG,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;AACjG,YAAY,MAAM,GAAG;AACrB,gBAAgB,GAAG,UAAU;AAC7B,gBAAgB,kBAAkB,EAAE,iDAAiD;AACrF,gBAAgB,WAAW;AAC3B,aAAa,CAAC;AACd,SAAS;AACT,aAAa;AACb;AACA,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ;AAC3C,gBAAgB,OAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAC9D,YAAY,MAAM,GAAG;AACrB,gBAAgB,GAAG,UAAU;AAC7B,gBAAgB,kBAAkB,EAAE,2BAA2B;AAC/D,gBAAgB,WAAW,EAAE,OAAO;AACpC,aAAa,CAAC;AACd,SAAS;AACT;AACA,QAAQ,IAAI;AACZ,YAAY,MAAM,yBAAyB,GAAG,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;AACpF,YAAY,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AACtE,YAAY,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;AAC5E,YAAY,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvD,YAAY,OAAO,QAAQ,CAAC;AAC5B,SAAS;AACT,QAAQ,OAAO,GAAG,EAAE;AACpB,YAAY,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,SAAS;AACT,KAAK;AACL,CAAC;AACW,MAAC,WAAW,GAAG,IAAI,gBAAgB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onComplete.mjs","sources":["../../../../src/lex-v2/apis/onComplete.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveBotConfig } from '../utils';\nimport { lexProvider } from '../AWSLexV2Provider';\nimport {
|
|
1
|
+
{"version":3,"file":"onComplete.mjs","sources":["../../../../src/lex-v2/apis/onComplete.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { resolveBotConfig } from '../utils';\nimport { lexProvider } from '../AWSLexV2Provider';\nimport { assertValidationError, InteractionsValidationErrorCode, } from '../../errors';\nexport const onComplete = (input) => {\n const { botName, callback } = input;\n const botConfig = resolveBotConfig(botName);\n assertValidationError(!!botConfig, InteractionsValidationErrorCode.NoBotConfig, `Bot ${botName} does not exist.`);\n lexProvider.onComplete(botConfig, callback);\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAIY,MAAC,UAAU,GAAG,CAAC,KAAK,KAAK;AACrC,IAAI,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AACxC,IAAI,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAChD,IAAI,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,+BAA+B,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtH,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.mjs","sources":["../../../../src/lex-v2/apis/send.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { lexProvider } from '../AWSLexV2Provider';\nimport { resolveBotConfig } from '../utils';\nimport {
|
|
1
|
+
{"version":3,"file":"send.mjs","sources":["../../../../src/lex-v2/apis/send.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { lexProvider } from '../AWSLexV2Provider';\nimport { resolveBotConfig } from '../utils';\nimport { assertValidationError, InteractionsValidationErrorCode, } from '../../errors';\nexport const send = async (input) => {\n const { botName, message } = input;\n const botConfig = resolveBotConfig(botName);\n assertValidationError(!!botConfig, InteractionsValidationErrorCode.NoBotConfig, `Bot ${botName} does not exist.`);\n return lexProvider.sendMessage(botConfig, message);\n};\n"],"names":[],"mappings":";;;;;AAAA;AACA;AAIY,MAAC,IAAI,GAAG,OAAO,KAAK,KAAK;AACrC,IAAI,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;AACvC,IAAI,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAChD,IAAI,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAAE,+BAA+B,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtH,IAAI,OAAO,WAAW,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACvD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/lex-v2/index.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/lex-v2/index.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { send, onComplete } from './apis';\nexport const Interactions = {\n send,\n onComplete,\n};\n"],"names":[],"mappings":";;;AAAA;AACA;AAEY,MAAC,YAAY,GAAG;AAC5B,IAAI,IAAI;AACR,IAAI,UAAU;AACd;;;;"}
|