@aws-amplify/interactions 4.0.48 → 4.0.49-next.20

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.
Files changed (100) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/dist/aws-amplify-interactions.js +30438 -8762
  3. package/dist/aws-amplify-interactions.js.map +1 -1
  4. package/dist/aws-amplify-interactions.min.js +166 -5
  5. package/dist/aws-amplify-interactions.min.js.map +1 -1
  6. package/lib/Interactions.d.ts +2 -2
  7. package/lib/Interactions.js +41 -68
  8. package/lib/Interactions.js.map +1 -1
  9. package/lib/Providers/AWSLexProvider.d.ts +16 -3
  10. package/lib/Providers/AWSLexProvider.js +106 -119
  11. package/lib/Providers/AWSLexProvider.js.map +1 -1
  12. package/lib/Providers/AWSLexProviderHelper/commonUtils.d.ts +1 -0
  13. package/lib/Providers/AWSLexProviderHelper/commonUtils.js +39 -0
  14. package/lib/Providers/AWSLexProviderHelper/commonUtils.js.map +1 -0
  15. package/lib/Providers/AWSLexProviderHelper/utils.d.ts +3 -0
  16. package/lib/Providers/AWSLexProviderHelper/utils.js +48 -0
  17. package/lib/Providers/AWSLexProviderHelper/utils.js.map +1 -0
  18. package/lib/Providers/AWSLexProviderHelper/utils.native.d.ts +3 -0
  19. package/lib/Providers/AWSLexProviderHelper/utils.native.js +65 -0
  20. package/lib/Providers/AWSLexProviderHelper/utils.native.js.map +1 -0
  21. package/lib/Providers/AWSLexV2Provider.d.ts +58 -0
  22. package/lib/Providers/AWSLexV2Provider.js +292 -0
  23. package/lib/Providers/AWSLexV2Provider.js.map +1 -0
  24. package/lib/Providers/InteractionsProvider.js +3 -13
  25. package/lib/Providers/InteractionsProvider.js.map +1 -1
  26. package/lib/Providers/index.d.ts +1 -0
  27. package/lib/Providers/index.js +4 -5
  28. package/lib/Providers/index.js.map +1 -1
  29. package/lib/index.d.ts +2 -0
  30. package/lib/index.js +4 -4
  31. package/lib/index.js.map +1 -1
  32. package/lib/types/Provider.d.ts +2 -1
  33. package/lib/types/Providers/AWSLexProvider.d.ts +10 -0
  34. package/lib/types/Providers/AWSLexProvider.js +3 -0
  35. package/lib/types/Providers/AWSLexProvider.js.map +1 -0
  36. package/lib/types/Providers/AWSLexV2Provider.d.ts +12 -0
  37. package/lib/types/Providers/AWSLexV2Provider.js +3 -0
  38. package/lib/types/Providers/AWSLexV2Provider.js.map +1 -0
  39. package/lib/types/index.d.ts +2 -0
  40. package/lib-esm/Interactions.d.ts +2 -2
  41. package/lib-esm/Interactions.js +38 -65
  42. package/lib-esm/Interactions.js.map +1 -1
  43. package/lib-esm/Providers/AWSLexProvider.d.ts +16 -3
  44. package/lib-esm/Providers/AWSLexProvider.js +102 -115
  45. package/lib-esm/Providers/AWSLexProvider.js.map +1 -1
  46. package/lib-esm/Providers/AWSLexProviderHelper/commonUtils.d.ts +1 -0
  47. package/lib-esm/Providers/AWSLexProviderHelper/commonUtils.js +37 -0
  48. package/lib-esm/Providers/AWSLexProviderHelper/commonUtils.js.map +1 -0
  49. package/lib-esm/Providers/AWSLexProviderHelper/utils.d.ts +3 -0
  50. package/lib-esm/Providers/AWSLexProviderHelper/utils.js +46 -0
  51. package/lib-esm/Providers/AWSLexProviderHelper/utils.js.map +1 -0
  52. package/lib-esm/Providers/AWSLexProviderHelper/utils.native.d.ts +3 -0
  53. package/lib-esm/Providers/AWSLexProviderHelper/utils.native.js +63 -0
  54. package/lib-esm/Providers/AWSLexProviderHelper/utils.native.js.map +1 -0
  55. package/lib-esm/Providers/AWSLexV2Provider.d.ts +58 -0
  56. package/lib-esm/Providers/AWSLexV2Provider.js +290 -0
  57. package/lib-esm/Providers/AWSLexV2Provider.js.map +1 -0
  58. package/lib-esm/Providers/InteractionsProvider.js +1 -11
  59. package/lib-esm/Providers/InteractionsProvider.js.map +1 -1
  60. package/lib-esm/Providers/index.d.ts +1 -0
  61. package/lib-esm/Providers/index.js +1 -0
  62. package/lib-esm/Providers/index.js.map +1 -1
  63. package/lib-esm/index.d.ts +2 -0
  64. package/lib-esm/index.js +2 -0
  65. package/lib-esm/index.js.map +1 -1
  66. package/lib-esm/types/Provider.d.ts +2 -1
  67. package/lib-esm/types/Providers/AWSLexProvider.d.ts +10 -0
  68. package/lib-esm/types/Providers/AWSLexProvider.js +1 -0
  69. package/lib-esm/types/Providers/AWSLexProvider.js.map +1 -0
  70. package/lib-esm/types/Providers/AWSLexV2Provider.d.ts +12 -0
  71. package/lib-esm/types/Providers/AWSLexV2Provider.js +1 -0
  72. package/lib-esm/types/Providers/AWSLexV2Provider.js.map +1 -0
  73. package/lib-esm/types/index.d.ts +2 -0
  74. package/package.json +9 -4
  75. package/src/Interactions.ts +43 -21
  76. package/src/Providers/AWSLexProvider.ts +70 -23
  77. package/src/Providers/AWSLexProviderHelper/commonUtils.ts +27 -0
  78. package/src/Providers/AWSLexProviderHelper/utils.native.ts +56 -0
  79. package/src/Providers/AWSLexProviderHelper/utils.ts +39 -0
  80. package/src/Providers/AWSLexV2Provider.ts +343 -0
  81. package/src/Providers/index.ts +1 -0
  82. package/src/index.ts +2 -0
  83. package/src/types/Provider.ts +1 -1
  84. package/src/types/Providers/AWSLexProvider.ts +23 -0
  85. package/src/types/Providers/AWSLexV2Provider.ts +25 -0
  86. package/src/types/index.ts +2 -0
  87. package/lib/Providers/AWSLexProviderHelper/convert.d.ts +0 -3
  88. package/lib/Providers/AWSLexProviderHelper/convert.js +0 -13
  89. package/lib/Providers/AWSLexProviderHelper/convert.js.map +0 -1
  90. package/lib/Providers/AWSLexProviderHelper/convert.native.d.ts +0 -1
  91. package/lib/Providers/AWSLexProviderHelper/convert.native.js +0 -56
  92. package/lib/Providers/AWSLexProviderHelper/convert.native.js.map +0 -1
  93. package/lib-esm/Providers/AWSLexProviderHelper/convert.d.ts +0 -3
  94. package/lib-esm/Providers/AWSLexProviderHelper/convert.js +0 -11
  95. package/lib-esm/Providers/AWSLexProviderHelper/convert.js.map +0 -1
  96. package/lib-esm/Providers/AWSLexProviderHelper/convert.native.d.ts +0 -1
  97. package/lib-esm/Providers/AWSLexProviderHelper/convert.native.js +0 -54
  98. package/lib-esm/Providers/AWSLexProviderHelper/convert.native.js.map +0 -1
  99. package/src/Providers/AWSLexProviderHelper/convert.native.ts +0 -13
  100. package/src/Providers/AWSLexProviderHelper/convert.ts +0 -12
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
6
+ * the License. A copy of the License is located at
7
+ *
8
+ * http://aws.amazon.com/apache2.0/
9
+ *
10
+ * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
11
+ * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
12
+ * and limitations under the License.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ var tslib_1 = require("tslib");
16
+ var fflate_1 = require("fflate");
17
+ exports.convert = function (stream) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
18
+ return tslib_1.__generator(this, function (_a) {
19
+ if (stream instanceof Blob || stream instanceof ReadableStream) {
20
+ return [2 /*return*/, new Response(stream)
21
+ .arrayBuffer()
22
+ .then(function (buffer) { return new Uint8Array(buffer); })];
23
+ }
24
+ else {
25
+ return [2 /*return*/, Promise.reject('Invalid content type')];
26
+ }
27
+ return [2 /*return*/];
28
+ });
29
+ }); };
30
+ exports.base64ToArrayBuffer = function (base64) {
31
+ return Uint8Array.from(window.atob(base64), function (c) { return c.charCodeAt(0); });
32
+ };
33
+ exports.gzipDecompressToString = function (data) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
34
+ return tslib_1.__generator(this, function (_a) {
35
+ switch (_a.label) {
36
+ case 0: return [4 /*yield*/, new Promise(function (resolve, reject) {
37
+ fflate_1.gunzip(data, function (err, resp) {
38
+ if (err)
39
+ reject(err);
40
+ else
41
+ resolve(fflate_1.strFromU8(resp));
42
+ });
43
+ })];
44
+ case 1: return [2 /*return*/, _a.sent()];
45
+ }
46
+ });
47
+ }); };
48
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/Providers/AWSLexProviderHelper/utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,iCAA2C;AAE9B,QAAA,OAAO,GAAG,UAAO,MAAc;;QAC3C,IAAI,MAAM,YAAY,IAAI,IAAI,MAAM,YAAY,cAAc,EAAE;YAC/D,sBAAO,IAAI,QAAQ,CAAC,MAAM,CAAC;qBACzB,WAAW,EAAE;qBACb,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,UAAU,CAAC,MAAM,CAAC,EAAtB,CAAsB,CAAC,EAAC;SACzC;aAAM;YACN,sBAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAC;SAC9C;;;KACD,CAAC;AAEW,QAAA,mBAAmB,GAAG,UAAC,MAAc;IACjD,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC;AACnE,CAAC,CAAC;AAEW,QAAA,sBAAsB,GAAG,UACrC,IAAgB;;;oBAET,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACxC,eAAM,CAAC,IAAI,EAAE,UAAC,GAAG,EAAE,IAAI;wBACtB,IAAI,GAAG;4BAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;4BAChB,OAAO,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,EAAA;oBALF,sBAAO,SAKL,EAAC;;;KACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const convert: (stream: object) => Promise<Uint8Array>;
2
+ export declare const base64ToArrayBuffer: (base64: string) => Uint8Array;
3
+ export declare const gzipDecompressToString: (data: Uint8Array) => Promise<string>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
6
+ * the License. A copy of the License is located at
7
+ *
8
+ * http://aws.amazon.com/apache2.0/
9
+ *
10
+ * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
11
+ * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
12
+ * and limitations under the License.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ var tslib_1 = require("tslib");
16
+ var base_64_1 = require("base-64");
17
+ var pako_1 = require("pako");
18
+ exports.convert = function (stream) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
19
+ return tslib_1.__generator(this, function (_a) {
20
+ if (!(stream instanceof Blob)) {
21
+ return [2 /*return*/, Promise.reject('Invalid content type')];
22
+ }
23
+ return [2 /*return*/, new Promise(function (resolve, reject) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
24
+ var fileReaderInstance_1;
25
+ return tslib_1.__generator(this, function (_a) {
26
+ try {
27
+ fileReaderInstance_1 = new FileReader();
28
+ fileReaderInstance_1.readAsDataURL(stream);
29
+ fileReaderInstance_1.onload = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
30
+ var blobURL, base64Blob, decodedArrayBuffer;
31
+ return tslib_1.__generator(this, function (_a) {
32
+ blobURL = fileReaderInstance_1.result;
33
+ base64Blob = blobURL.split(/,(.*)/s)[1];
34
+ decodedArrayBuffer = exports.base64ToArrayBuffer(base64Blob);
35
+ resolve(decodedArrayBuffer);
36
+ return [2 /*return*/];
37
+ });
38
+ }); };
39
+ }
40
+ catch (error) {
41
+ reject('unable to convert blob to arrayBuffer: ' + error);
42
+ }
43
+ return [2 /*return*/];
44
+ });
45
+ }); })];
46
+ });
47
+ }); };
48
+ exports.base64ToArrayBuffer = function (base64) {
49
+ var binaryString = base_64_1.decode(base64);
50
+ return Uint8Array.from(binaryString, function (c) { return c.charCodeAt(0); });
51
+ };
52
+ exports.gzipDecompressToString = function (data) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
53
+ return tslib_1.__generator(this, function (_a) {
54
+ return [2 /*return*/, new Promise(function (resolve, reject) {
55
+ try {
56
+ var result = pako_1.ungzip(data, { to: 'string' });
57
+ resolve(result);
58
+ }
59
+ catch (error) {
60
+ reject('unable to decompress' + error);
61
+ }
62
+ })];
63
+ });
64
+ }); };
65
+ //# sourceMappingURL=utils.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.native.js","sourceRoot":"","sources":["../../../src/Providers/AWSLexProviderHelper/utils.native.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,mCAAiC;AACjC,6BAA8B;AAEjB,QAAA,OAAO,GAAG,UAAO,MAAc;;QAC3C,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,EAAE;YAC9B,sBAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAC;SAC9C;QAED,sBAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;oBACxC,IAAI;wBACG,uBAAqB,IAAI,UAAU,EAAE,CAAC;wBAC5C,oBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;wBACzC,oBAAkB,CAAC,MAAM,GAAG;;;gCACrB,OAAO,GAAG,oBAAkB,CAAC,MAAgB,CAAC;gCAE9C,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gCAExC,kBAAkB,GAAG,2BAAmB,CAAC,UAAU,CAAC,CAAC;gCAC3D,OAAO,CAAC,kBAAkB,CAAC,CAAC;;;6BAC5B,CAAC;qBACF;oBAAC,OAAO,KAAK,EAAE;wBACf,MAAM,CAAC,yCAAyC,GAAG,KAAK,CAAC,CAAC;qBAC1D;;;iBACD,CAAC,EAAC;;KACH,CAAC;AAEW,QAAA,mBAAmB,GAAG,UAAC,MAAc;IACjD,IAAM,YAAY,GAAW,gBAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEW,QAAA,sBAAsB,GAAG,UACrC,IAAgB;;QAEhB,sBAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;gBAClC,IAAI;oBACH,IAAM,MAAM,GAAW,aAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACtD,OAAO,CAAC,MAAM,CAAC,CAAC;iBAChB;gBAAC,OAAO,KAAK,EAAE;oBACf,MAAM,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC;iBACvC;YACF,CAAC,CAAC,EAAC;;KACH,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { AbstractInteractionsProvider } from './InteractionsProvider';
2
+ import { InteractionsOptions, AWSLexV2ProviderOptions, InteractionsResponse, InteractionsMessage } from '../types';
3
+ export declare class AWSLexV2Provider extends AbstractInteractionsProvider {
4
+ private _lexRuntimeServiceV2Client;
5
+ private _botsCompleteCallback;
6
+ /**
7
+ * Initialize Interactions with AWS configurations
8
+ * @param {InteractionsOptions} options - Configuration object for Interactions
9
+ */
10
+ constructor(options?: InteractionsOptions);
11
+ /**
12
+ * get provider name of the plugin
13
+ * @returns {string} name of the provider
14
+ */
15
+ getProviderName(): string;
16
+ /**
17
+ * Configure Interactions part with aws configuration
18
+ * @param {AWSLexV2ProviderOptions} config - Configuration of the Interactions
19
+ * @return {AWSLexV2ProviderOptions} - Current configuration
20
+ */
21
+ configure(config?: AWSLexV2ProviderOptions): AWSLexV2ProviderOptions;
22
+ /**
23
+ * Send a message to a bot
24
+ * @async
25
+ * @param {string} botname - Bot name to send the message
26
+ * @param {string | InteractionsMessage} message - message to send to the bot
27
+ * @return {Promise<InteractionsResponse>} A promise resolves to the response from the bot
28
+ */
29
+ sendMessage(botname: string, message: string | InteractionsMessage): Promise<InteractionsResponse>;
30
+ /**
31
+ * Attach a onComplete callback function to a bot.
32
+ * The callback is called once the bot's intent is fulfilled
33
+ * @param {string} botname - Bot name to attach the onComplete callback
34
+ * @param {(err: Error | null, confirmation: InteractionsResponse) => void} callback - called when Intent Fulfilled
35
+ */
36
+ onComplete(botname: string, callback: (err: Error | null, confirmation: InteractionsResponse) => void): void;
37
+ /**
38
+ * @private
39
+ * call onComplete callback for a bot if configured
40
+ */
41
+ private _reportBotStatus;
42
+ /**
43
+ * Format UtteranceCommandOutput's response
44
+ * decompress attributes
45
+ * update audioStream format
46
+ */
47
+ private _formatUtteranceCommandOutput;
48
+ /**
49
+ * handle client's `RecognizeTextCommand`
50
+ * used for sending simple text message
51
+ */
52
+ private _handleRecognizeTextCommand;
53
+ /**
54
+ * handle client's `RecognizeUtteranceCommand`
55
+ * used for obj text or obj voice message
56
+ */
57
+ private _handleRecognizeUtteranceCommand;
58
+ }
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ /*
5
+ * Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
8
+ * the License. A copy of the License is located at
9
+ *
10
+ * http://aws.amazon.com/apache2.0/
11
+ *
12
+ * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
13
+ * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
14
+ * and limitations under the License.
15
+ */
16
+ var InteractionsProvider_1 = require("./InteractionsProvider");
17
+ var client_lex_runtime_v2_1 = require("@aws-sdk/client-lex-runtime-v2");
18
+ var core_1 = require("@aws-amplify/core");
19
+ var utils_1 = require("./AWSLexProviderHelper/utils");
20
+ var commonUtils_1 = require("./AWSLexProviderHelper/commonUtils");
21
+ var logger = new core_1.ConsoleLogger('AWSLexV2Provider');
22
+ var AWSLexV2Provider = /** @class */ (function (_super) {
23
+ tslib_1.__extends(AWSLexV2Provider, _super);
24
+ /**
25
+ * Initialize Interactions with AWS configurations
26
+ * @param {InteractionsOptions} options - Configuration object for Interactions
27
+ */
28
+ function AWSLexV2Provider(options) {
29
+ if (options === void 0) { options = {}; }
30
+ var _this = _super.call(this, options) || this;
31
+ _this._botsCompleteCallback = {};
32
+ return _this;
33
+ }
34
+ /**
35
+ * get provider name of the plugin
36
+ * @returns {string} name of the provider
37
+ */
38
+ AWSLexV2Provider.prototype.getProviderName = function () {
39
+ return 'AWSLexV2Provider';
40
+ };
41
+ /**
42
+ * Configure Interactions part with aws configuration
43
+ * @param {AWSLexV2ProviderOptions} config - Configuration of the Interactions
44
+ * @return {AWSLexV2ProviderOptions} - Current configuration
45
+ */
46
+ AWSLexV2Provider.prototype.configure = function (config) {
47
+ if (config === void 0) { config = {}; }
48
+ var propertiesToTest = [
49
+ 'name',
50
+ 'botId',
51
+ 'aliasId',
52
+ 'localeId',
53
+ 'providerName',
54
+ 'region',
55
+ ];
56
+ Object.keys(config).forEach(function (botKey) {
57
+ var botConfig = config[botKey];
58
+ // is bot config correct
59
+ if (!propertiesToTest.every(function (x) { return x in botConfig; })) {
60
+ throw new Error('invalid bot configuration');
61
+ }
62
+ });
63
+ return _super.prototype.configure.call(this, config);
64
+ };
65
+ /**
66
+ * Send a message to a bot
67
+ * @async
68
+ * @param {string} botname - Bot name to send the message
69
+ * @param {string | InteractionsMessage} message - message to send to the bot
70
+ * @return {Promise<InteractionsResponse>} A promise resolves to the response from the bot
71
+ */
72
+ AWSLexV2Provider.prototype.sendMessage = function (botname, message) {
73
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
74
+ var credentials, error_1, response, reqBaseParams;
75
+ return tslib_1.__generator(this, function (_a) {
76
+ switch (_a.label) {
77
+ case 0:
78
+ // check if bot exists
79
+ if (!this._config[botname]) {
80
+ return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];
81
+ }
82
+ _a.label = 1;
83
+ case 1:
84
+ _a.trys.push([1, 3, , 4]);
85
+ return [4 /*yield*/, core_1.Credentials.get()];
86
+ case 2:
87
+ credentials = _a.sent();
88
+ return [3 /*break*/, 4];
89
+ case 3:
90
+ error_1 = _a.sent();
91
+ return [2 /*return*/, Promise.reject('No credentials')];
92
+ case 4:
93
+ this._lexRuntimeServiceV2Client = new client_lex_runtime_v2_1.LexRuntimeV2Client({
94
+ region: this._config[botname].region,
95
+ credentials: credentials,
96
+ customUserAgent: core_1.getAmplifyUserAgent(),
97
+ });
98
+ reqBaseParams = {
99
+ botAliasId: this._config[botname].aliasId,
100
+ botId: this._config[botname].botId,
101
+ localeId: this._config[botname].localeId,
102
+ sessionId: credentials.identityId,
103
+ };
104
+ if (!(typeof message === 'string')) return [3 /*break*/, 6];
105
+ return [4 /*yield*/, this._handleRecognizeTextCommand(botname, message, reqBaseParams)];
106
+ case 5:
107
+ response = _a.sent();
108
+ return [3 /*break*/, 8];
109
+ case 6: return [4 /*yield*/, this._handleRecognizeUtteranceCommand(botname, message, reqBaseParams)];
110
+ case 7:
111
+ response = _a.sent();
112
+ _a.label = 8;
113
+ case 8: return [2 /*return*/, response];
114
+ }
115
+ });
116
+ });
117
+ };
118
+ /**
119
+ * Attach a onComplete callback function to a bot.
120
+ * The callback is called once the bot's intent is fulfilled
121
+ * @param {string} botname - Bot name to attach the onComplete callback
122
+ * @param {(err: Error | null, confirmation: InteractionsResponse) => void} callback - called when Intent Fulfilled
123
+ */
124
+ AWSLexV2Provider.prototype.onComplete = function (botname, callback) {
125
+ // does bot exist
126
+ if (!this._config[botname]) {
127
+ throw new Error('Bot ' + botname + ' does not exist');
128
+ }
129
+ this._botsCompleteCallback[botname] = callback;
130
+ };
131
+ /**
132
+ * @private
133
+ * call onComplete callback for a bot if configured
134
+ */
135
+ AWSLexV2Provider.prototype._reportBotStatus = function (data, botname) {
136
+ var _this = this;
137
+ var _a, _b, _c, _d, _e, _f;
138
+ var sessionState = data === null || data === void 0 ? void 0 : data.sessionState;
139
+ // Check if state is fulfilled to resolve onFullfilment promise
140
+ logger.debug('postContent state', (_a = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _a === void 0 ? void 0 : _a.state);
141
+ var isConfigOnCompleteAttached = typeof ((_b = this._config) === null || _b === void 0 ? void 0 : _b[botname].onComplete) === 'function';
142
+ var isApiOnCompleteAttached = typeof ((_c = this._botsCompleteCallback) === null || _c === void 0 ? void 0 : _c[botname]) === 'function';
143
+ // no onComplete callbacks added
144
+ if (!isConfigOnCompleteAttached && !isApiOnCompleteAttached)
145
+ return;
146
+ if (((_d = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _d === void 0 ? void 0 : _d.state) === 'ReadyForFulfillment' ||
147
+ ((_e = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _e === void 0 ? void 0 : _e.state) === 'Fulfilled') {
148
+ if (isApiOnCompleteAttached) {
149
+ setTimeout(function () { var _a; return (_a = _this._botsCompleteCallback) === null || _a === void 0 ? void 0 : _a[botname](null, data); }, 0);
150
+ }
151
+ if (isConfigOnCompleteAttached) {
152
+ setTimeout(function () { return _this._config[botname].onComplete(null, data); }, 0);
153
+ }
154
+ }
155
+ if (((_f = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _f === void 0 ? void 0 : _f.state) === 'Failed') {
156
+ var error_2 = new Error('Bot conversation failed');
157
+ if (isApiOnCompleteAttached) {
158
+ setTimeout(function () { return _this._botsCompleteCallback[botname](error_2); }, 0);
159
+ }
160
+ if (isConfigOnCompleteAttached) {
161
+ setTimeout(function () { return _this._config[botname].onComplete(error_2); }, 0);
162
+ }
163
+ }
164
+ };
165
+ /**
166
+ * Format UtteranceCommandOutput's response
167
+ * decompress attributes
168
+ * update audioStream format
169
+ */
170
+ AWSLexV2Provider.prototype._formatUtteranceCommandOutput = function (data) {
171
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
172
+ var response, _a, _b, _c;
173
+ return tslib_1.__generator(this, function (_d) {
174
+ switch (_d.label) {
175
+ case 0:
176
+ _a = [tslib_1.__assign({}, data)];
177
+ _b = {};
178
+ return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.messages)];
179
+ case 1:
180
+ _b.messages = _d.sent();
181
+ return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.sessionState)];
182
+ case 2:
183
+ _b.sessionState = _d.sent();
184
+ return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.interpretations)];
185
+ case 3:
186
+ _b.interpretations = _d.sent();
187
+ return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.requestAttributes)];
188
+ case 4:
189
+ _b.requestAttributes = _d.sent();
190
+ return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.inputTranscript)];
191
+ case 5:
192
+ _b.inputTranscript = _d.sent();
193
+ if (!data.audioStream) return [3 /*break*/, 7];
194
+ return [4 /*yield*/, utils_1.convert(data.audioStream)];
195
+ case 6:
196
+ _c = _d.sent();
197
+ return [3 /*break*/, 8];
198
+ case 7:
199
+ _c = undefined;
200
+ _d.label = 8;
201
+ case 8:
202
+ response = tslib_1.__assign.apply(void 0, _a.concat([(_b.audioStream = _c, _b)]));
203
+ return [2 /*return*/, response];
204
+ }
205
+ });
206
+ });
207
+ };
208
+ /**
209
+ * handle client's `RecognizeTextCommand`
210
+ * used for sending simple text message
211
+ */
212
+ AWSLexV2Provider.prototype._handleRecognizeTextCommand = function (botname, data, baseParams) {
213
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
214
+ var params, recognizeTextCommand, data_1, err_1;
215
+ return tslib_1.__generator(this, function (_a) {
216
+ switch (_a.label) {
217
+ case 0:
218
+ logger.debug('postText to lex2', data);
219
+ params = tslib_1.__assign(tslib_1.__assign({}, baseParams), { text: data });
220
+ _a.label = 1;
221
+ case 1:
222
+ _a.trys.push([1, 3, , 4]);
223
+ recognizeTextCommand = new client_lex_runtime_v2_1.RecognizeTextCommand(params);
224
+ return [4 /*yield*/, this._lexRuntimeServiceV2Client.send(recognizeTextCommand)];
225
+ case 2:
226
+ data_1 = _a.sent();
227
+ this._reportBotStatus(data_1, botname);
228
+ return [2 /*return*/, data_1];
229
+ case 3:
230
+ err_1 = _a.sent();
231
+ return [2 /*return*/, Promise.reject(err_1)];
232
+ case 4: return [2 /*return*/];
233
+ }
234
+ });
235
+ });
236
+ };
237
+ /**
238
+ * handle client's `RecognizeUtteranceCommand`
239
+ * used for obj text or obj voice message
240
+ */
241
+ AWSLexV2Provider.prototype._handleRecognizeUtteranceCommand = function (botname, data, baseParams) {
242
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
243
+ var content, messageType, params, inputStream, _a, recognizeUtteranceCommand, data_2, response, err_2;
244
+ return tslib_1.__generator(this, function (_b) {
245
+ switch (_b.label) {
246
+ case 0:
247
+ content = data.content, messageType = data.options.messageType;
248
+ logger.debug('postContent to lex2', data);
249
+ if (!(messageType === 'voice')) return [3 /*break*/, 4];
250
+ if (typeof content !== 'object') {
251
+ return [2 /*return*/, Promise.reject('invalid content type')];
252
+ }
253
+ if (!(content instanceof Uint8Array)) return [3 /*break*/, 1];
254
+ _a = content;
255
+ return [3 /*break*/, 3];
256
+ case 1: return [4 /*yield*/, utils_1.convert(content)];
257
+ case 2:
258
+ _a = _b.sent();
259
+ _b.label = 3;
260
+ case 3:
261
+ inputStream = _a;
262
+ params = tslib_1.__assign(tslib_1.__assign({}, baseParams), { requestContentType: 'audio/x-l16; sample-rate=16000; channel-count=1', inputStream: inputStream });
263
+ return [3 /*break*/, 5];
264
+ case 4:
265
+ // text input
266
+ if (typeof content !== 'string')
267
+ return [2 /*return*/, Promise.reject('invalid content type')];
268
+ params = tslib_1.__assign(tslib_1.__assign({}, baseParams), { requestContentType: 'text/plain; charset=utf-8', inputStream: content });
269
+ _b.label = 5;
270
+ case 5:
271
+ _b.trys.push([5, 8, , 9]);
272
+ recognizeUtteranceCommand = new client_lex_runtime_v2_1.RecognizeUtteranceCommand(params);
273
+ return [4 /*yield*/, this._lexRuntimeServiceV2Client.send(recognizeUtteranceCommand)];
274
+ case 6:
275
+ data_2 = _b.sent();
276
+ return [4 /*yield*/, this._formatUtteranceCommandOutput(data_2)];
277
+ case 7:
278
+ response = _b.sent();
279
+ this._reportBotStatus(response, botname);
280
+ return [2 /*return*/, response];
281
+ case 8:
282
+ err_2 = _b.sent();
283
+ return [2 /*return*/, Promise.reject(err_2)];
284
+ case 9: return [2 /*return*/];
285
+ }
286
+ });
287
+ });
288
+ };
289
+ return AWSLexV2Provider;
290
+ }(InteractionsProvider_1.AbstractInteractionsProvider));
291
+ exports.AWSLexV2Provider = AWSLexV2Provider;
292
+ //# sourceMappingURL=AWSLexV2Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AWSLexV2Provider.js","sourceRoot":"","sources":["../../src/Providers/AWSLexV2Provider.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,+DAAsE;AAOtE,wEAQwC;AACxC,0CAI2B;AAC3B,sDAAuD;AACvD,kEAAwE;AAExE,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,kBAAkB,CAAC,CAAC;AA6B9C;IAAsC,4CAA4B;IAIjE;;;OAGG;IACH,0BAAY,OAAiC;QAAjC,wBAAA,EAAA,YAAiC;QAA7C,YACC,kBAAM,OAAO,CAAC,SAEd;QADA,KAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;;IACjC,CAAC;IAED;;;OAGG;IACI,0CAAe,GAAtB;QACC,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,oCAAS,GAAhB,UACC,MAAoC;QAApC,uBAAA,EAAA,WAAoC;QAEpC,IAAM,gBAAgB,GAAG;YACxB,MAAM;YACN,OAAO;YACP,SAAS;YACT,UAAU;YACV,cAAc;YACd,QAAQ;SACR,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,MAAM;YACjC,IAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAEjC,wBAAwB;YACxB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,SAAS,EAAd,CAAc,CAAC,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;aAC7C;QACF,CAAC,CAAC,CAAC;QACH,OAAO,iBAAM,SAAS,YAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACU,sCAAW,GAAxB,UACC,OAAe,EACf,OAAqC;;;;;;wBAErC,sBAAsB;wBACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;4BAC3B,sBAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,iBAAiB,CAAC,EAAC;yBAC5D;;;;wBAKc,qBAAM,kBAAW,CAAC,GAAG,EAAE,EAAA;;wBAArC,WAAW,GAAG,SAAuB,CAAC;;;;wBAEtC,sBAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAC;;wBAGzC,IAAI,CAAC,0BAA0B,GAAG,IAAI,0CAAkB,CAAC;4BACxD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM;4BACpC,WAAW,aAAA;4BACX,eAAe,EAAE,0BAAmB,EAAE;yBACtC,CAAC,CAAC;wBAKG,aAAa,GAAuB;4BACzC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO;4BACzC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK;4BAClC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ;4BACxC,SAAS,EAAE,WAAW,CAAC,UAAU;yBACjC,CAAC;6BAEE,CAAA,OAAO,OAAO,KAAK,QAAQ,CAAA,EAA3B,wBAA2B;wBACnB,qBAAM,IAAI,CAAC,2BAA2B,CAChD,OAAO,EACP,OAAO,EACP,aAAa,CACb,EAAA;;wBAJD,QAAQ,GAAG,SAIV,CAAC;;4BAES,qBAAM,IAAI,CAAC,gCAAgC,CACrD,OAAO,EACP,OAAO,EACP,aAAa,CACb,EAAA;;wBAJD,QAAQ,GAAG,SAIV,CAAC;;4BAEH,sBAAO,QAAQ,EAAC;;;;KAChB;IAED;;;;;OAKG;IACI,qCAAU,GAAjB,UACC,OAAe,EACf,QAAyE;QAEzE,iBAAiB;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,iBAAiB,CAAC,CAAC;SACtD;QACD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;IAChD,CAAC;IAED;;;OAGG;IACK,2CAAgB,GAAxB,UACC,IAAkC,EAClC,OAAe;QAFhB,iBAyCC;;QArCA,IAAM,YAAY,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC;QAExC,+DAA+D;QAC/D,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,0CAAE,KAAK,CAAC,CAAC;QAE/D,IAAM,0BAA0B,GAC/B,cAAO,IAAI,CAAC,OAAO,0CAAG,OAAO,EAAE,UAAU,CAAA,KAAK,UAAU,CAAC;QAE1D,IAAM,uBAAuB,GAC5B,cAAO,IAAI,CAAC,qBAAqB,0CAAG,OAAO,EAAC,KAAK,UAAU,CAAC;QAE7D,gCAAgC;QAChC,IAAI,CAAC,0BAA0B,IAAI,CAAC,uBAAuB;YAAE,OAAO;QAEpE,IACC,OAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,0CAAE,KAAK,MAAK,qBAAqB;YACrD,OAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,0CAAE,KAAK,MAAK,WAAW,EAC1C;YACD,IAAI,uBAAuB,EAAE;gBAC5B,UAAU,CAAC,mCAAM,KAAI,CAAC,qBAAqB,0CAAG,OAAO,EAAE,IAAI,EAAE,IAAI,IAAC,EAAE,CAAC,CAAC,CAAC;aACvE;YAED,IAAI,0BAA0B,EAAE;gBAC/B,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAA5C,CAA4C,EAAE,CAAC,CAAC,CAAC;aAClE;SACD;QAED,IAAI,OAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,0CAAE,KAAK,MAAK,QAAQ,EAAE;YAC7C,IAAM,OAAK,GAAG,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACnD,IAAI,uBAAuB,EAAE;gBAC5B,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,OAAK,CAAC,EAA1C,CAA0C,EAAE,CAAC,CAAC,CAAC;aAChE;YAED,IAAI,0BAA0B,EAAE;gBAC/B,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAK,CAAC,EAAvC,CAAuC,EAAE,CAAC,CAAC,CAAC;aAC7D;SACD;IACF,CAAC;IAED;;;;OAIG;IACW,wDAA6B,GAA3C,UACC,IAAqC;;;;;;mDAGjC,IAAI;;wBACG,qBAAM,gCAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAA;;wBAAjD,WAAQ,GAAE,SAAuC;wBACnC,qBAAM,gCAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAA;;wBAAzD,eAAY,GAAE,SAA2C;wBACxC,qBAAM,gCAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAA;;wBAA/D,kBAAe,GAAE,SAA8C;wBAC5C,qBAAM,gCAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAA;;wBAAnE,oBAAiB,GAAE,SAAgD;wBAClD,qBAAM,gCAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAA;;wBAA/D,kBAAe,GAAE,SAA8C;6BAClD,IAAI,CAAC,WAAW,EAAhB,wBAAgB;wBAC1B,qBAAM,eAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAA;;wBAA/B,KAAA,SAA+B,CAAA;;;wBAC/B,KAAA,SAAS,CAAA;;;wBATP,QAAQ,8CAOb,cAAW,aAGX;wBACD,sBAAO,QAAQ,EAAC;;;;KAChB;IAED;;;OAGG;IACW,sDAA2B,GAAzC,UACC,OAAe,EACf,IAAY,EACZ,UAA8B;;;;;;wBAE9B,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;wBAEjC,MAAM,yCACR,UAAU,KACb,IAAI,EAAE,IAAI,GACV,CAAC;;;;wBAGK,oBAAoB,GAAG,IAAI,4CAAoB,CAAC,MAAM,CAAC,CAAC;wBACjD,qBAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CACtD,oBAAoB,CACpB,EAAA;;wBAFK,SAAO,SAEZ;wBAED,IAAI,CAAC,gBAAgB,CAAC,MAAI,EAAE,OAAO,CAAC,CAAC;wBACrC,sBAAO,MAAI,EAAC;;;wBAEZ,sBAAO,OAAO,CAAC,MAAM,CAAC,KAAG,CAAC,EAAC;;;;;KAE5B;IAED;;;OAGG;IACW,2DAAgC,GAA9C,UACC,OAAe,EACf,IAAyB,EACzB,UAA8B;;;;;;wBAG7B,OAAO,GAEJ,IAAI,QAFA,EACI,WAAW,GACnB,IAAI,oBADe,CACd;wBAET,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;6BAItC,CAAA,WAAW,KAAK,OAAO,CAAA,EAAvB,wBAAuB;wBAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;4BAChC,sBAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAC;yBAC9C;6BAGA,CAAA,OAAO,YAAY,UAAU,CAAA,EAA7B,wBAA6B;wBAAG,KAAA,OAAO,CAAA;;4BAAG,qBAAM,eAAO,CAAC,OAAO,CAAC,EAAA;;wBAAtB,KAAA,SAAsB,CAAA;;;wBAD3D,WAAW,KACgD;wBAEjE,MAAM,yCACF,UAAU,KACb,kBAAkB,EAAE,iDAAiD,EACrE,WAAW,aAAA,GACX,CAAC;;;wBAEF,aAAa;wBACb,IAAI,OAAO,OAAO,KAAK,QAAQ;4BAC9B,sBAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAC;wBAE/C,MAAM,yCACF,UAAU,KACb,kBAAkB,EAAE,2BAA2B,EAC/C,WAAW,EAAE,OAAO,GACpB,CAAC;;;;wBAKI,yBAAyB,GAAG,IAAI,iDAAyB,CAAC,MAAM,CAAC,CAAC;wBAC3D,qBAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CACtD,yBAAyB,CACzB,EAAA;;wBAFK,SAAO,SAEZ;wBAEgB,qBAAM,IAAI,CAAC,6BAA6B,CAAC,MAAI,CAAC,EAAA;;wBAAzD,QAAQ,GAAG,SAA8C;wBAC/D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACzC,sBAAO,QAAQ,EAAC;;;wBAEhB,sBAAO,OAAO,CAAC,MAAM,CAAC,KAAG,CAAC,EAAC;;;;;KAE5B;IACF,uBAAC;AAAD,CAAC,AArRD,CAAsC,mDAA4B,GAqRjE;AArRY,4CAAgB"}
@@ -11,18 +11,8 @@
11
11
  * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
12
12
  * and limitations under the License.
13
13
  */
14
- var __assign = (this && this.__assign) || function () {
15
- __assign = Object.assign || function(t) {
16
- for (var s, i = 1, n = arguments.length; i < n; i++) {
17
- s = arguments[i];
18
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
19
- t[p] = s[p];
20
- }
21
- return t;
22
- };
23
- return __assign.apply(this, arguments);
24
- };
25
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
+ var tslib_1 = require("tslib");
26
16
  var core_1 = require("@aws-amplify/core");
27
17
  var logger = new core_1.ConsoleLogger('AbstractInteractionsProvider');
28
18
  var AbstractInteractionsProvider = /** @class */ (function () {
@@ -32,7 +22,7 @@ var AbstractInteractionsProvider = /** @class */ (function () {
32
22
  }
33
23
  AbstractInteractionsProvider.prototype.configure = function (config) {
34
24
  if (config === void 0) { config = {}; }
35
- this._config = __assign(__assign({}, this._config), config);
25
+ this._config = tslib_1.__assign(tslib_1.__assign({}, this._config), config);
36
26
  logger.debug("configure " + this.getProviderName(), this._config);
37
27
  return this.options;
38
28
  };
@@ -41,7 +31,7 @@ var AbstractInteractionsProvider = /** @class */ (function () {
41
31
  };
42
32
  Object.defineProperty(AbstractInteractionsProvider.prototype, "options", {
43
33
  get: function () {
44
- return __assign({}, this._config);
34
+ return tslib_1.__assign({}, this._config);
45
35
  },
46
36
  enumerable: true,
47
37
  configurable: true
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionsProvider.js","sourceRoot":"","sources":["../../src/Providers/InteractionsProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;AAQH,0CAA4D;AAE5D,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,8BAA8B,CAAC,CAAC;AAE1D;IAIC,sCAAY,OAAiC;QAAjC,wBAAA,EAAA,YAAiC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,gDAAS,GAAT,UAAU,MAAgC;QAAhC,uBAAA,EAAA,WAAgC;QACzC,IAAI,CAAC,OAAO,yBAAQ,IAAI,CAAC,OAAO,GAAK,MAAM,CAAE,CAAC;QAE9C,MAAM,CAAC,KAAK,CAAC,eAAa,IAAI,CAAC,eAAe,EAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,kDAAW,GAAX;QACC,OAAO,cAAc,CAAC;IACvB,CAAC;IAID,sBAAc,iDAAO;aAArB;YACC,oBAAY,IAAI,CAAC,OAAO,EAAG;QAC5B,CAAC;;;OAAA;IAWF,mCAAC;AAAD,CAAC,AAnCD,IAmCC;AAnCqB,oEAA4B"}
1
+ {"version":3,"file":"InteractionsProvider.js","sourceRoot":"","sources":["../../src/Providers/InteractionsProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAQH,0CAA4D;AAE5D,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,8BAA8B,CAAC,CAAC;AAE1D;IAIC,sCAAY,OAAiC;QAAjC,wBAAA,EAAA,YAAiC;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,gDAAS,GAAT,UAAU,MAAgC;QAAhC,uBAAA,EAAA,WAAgC;QACzC,IAAI,CAAC,OAAO,yCAAQ,IAAI,CAAC,OAAO,GAAK,MAAM,CAAE,CAAC;QAE9C,MAAM,CAAC,KAAK,CAAC,eAAa,IAAI,CAAC,eAAe,EAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,kDAAW,GAAX;QACC,OAAO,cAAc,CAAC;IACvB,CAAC;IAID,sBAAc,iDAAO;aAArB;YACC,4BAAY,IAAI,CAAC,OAAO,EAAG;QAC5B,CAAC;;;OAAA;IAWF,mCAAC;AAAD,CAAC,AAnCD,IAmCC;AAnCqB,oEAA4B"}
@@ -1,2 +1,3 @@
1
1
  export * from './AWSLexProvider';
2
+ export * from './AWSLexV2Provider';
2
3
  export * from './InteractionsProvider';
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
6
4
  /*
7
5
  * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
6
  *
@@ -15,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
13
  * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
16
14
  * and limitations under the License.
17
15
  */
18
- __export(require("./AWSLexProvider"));
19
- __export(require("./InteractionsProvider"));
16
+ tslib_1.__exportStar(require("./AWSLexProvider"), exports);
17
+ tslib_1.__exportStar(require("./AWSLexV2Provider"), exports);
18
+ tslib_1.__exportStar(require("./InteractionsProvider"), exports);
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Providers/index.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;GAWG;AACH,sCAAiC;AACjC,4CAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Providers/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,2DAAiC;AACjC,6DAAmC;AACnC,iEAAuC"}
package/lib/index.d.ts CHANGED
@@ -4,5 +4,7 @@ import { Interactions } from './Interactions';
4
4
  */
5
5
  export default Interactions;
6
6
  export * from './types';
7
+ export * from './Providers/InteractionsProvider';
7
8
  export * from './Providers/AWSLexProvider';
9
+ export * from './Providers/AWSLexV2Provider';
8
10
  export { Interactions };
package/lib/index.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
6
4
  /*
7
5
  * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
6
  *
@@ -21,5 +19,7 @@ exports.Interactions = Interactions_1.Interactions;
21
19
  * @deprecated use named import
22
20
  */
23
21
  exports.default = Interactions_1.Interactions;
24
- __export(require("./Providers/AWSLexProvider"));
22
+ tslib_1.__exportStar(require("./Providers/InteractionsProvider"), exports);
23
+ tslib_1.__exportStar(require("./Providers/AWSLexProvider"), exports);
24
+ tslib_1.__exportStar(require("./Providers/AWSLexV2Provider"), exports);
25
25
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;;;;;;GAWG;AACH,+CAA8C;AAUrC,uBAVA,2BAAY,CAUA;AARrB;;GAEG;AACH,kBAAe,2BAAY,CAAC;AAG5B,gDAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,+CAA8C;AAYrC,uBAZA,2BAAY,CAYA;AAVrB;;GAEG;AACH,kBAAe,2BAAY,CAAC;AAG5B,2EAAiD;AACjD,qEAA2C;AAC3C,uEAA6C"}
@@ -1,6 +1,7 @@
1
+ import { InteractionsOptions } from './Interactions';
1
2
  import { InteractionsResponse } from './Response';
2
3
  export interface InteractionsProvider {
3
- configure(config: object): object;
4
+ configure(config: InteractionsOptions): InteractionsOptions;
4
5
  getCategory(): string;
5
6
  getProviderName(): string;
6
7
  sendMessage(botname: string, message: string | Object): Promise<object>;
@@ -0,0 +1,10 @@
1
+ export interface AWSLexProviderOption {
2
+ name: string;
3
+ alias: string;
4
+ region: string;
5
+ providerName?: string;
6
+ onComplete?(botname: string, callback: (err: any, confirmation: any) => void): void;
7
+ }
8
+ export interface AWSLexProviderOptions {
9
+ [key: string]: AWSLexProviderOption;
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=AWSLexProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AWSLexProvider.js","sourceRoot":"","sources":["../../../src/types/Providers/AWSLexProvider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export interface AWSLexV2ProviderOption {
2
+ name: string;
3
+ botId: string;
4
+ aliasId: string;
5
+ localeId: string;
6
+ region: string;
7
+ providerName: string;
8
+ onComplete?(botname: string, callback: (err: any, confirmation: any) => void): void;
9
+ }
10
+ export interface AWSLexV2ProviderOptions {
11
+ [key: string]: AWSLexV2ProviderOption;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=AWSLexV2Provider.js.map