@aws-amplify/interactions 5.2.12-unstable.7762f1a.0 → 6.0.0

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 (261) hide show
  1. package/README.md +3 -0
  2. package/lex-v1/package.json +7 -0
  3. package/lex-v2/package.json +7 -0
  4. package/lib/errors/InteractionsError.d.ts +4 -0
  5. package/lib/errors/InteractionsError.js +16 -0
  6. package/lib/errors/assertValidationError.d.ts +2 -0
  7. package/lib/errors/assertValidationError.js +18 -0
  8. package/lib/errors/index.d.ts +2 -0
  9. package/lib/errors/index.js +9 -0
  10. package/lib/errors/validation.d.ts +5 -0
  11. package/lib/errors/validation.js +14 -0
  12. package/lib/index.d.ts +2 -5
  13. package/lib/index.js +3 -9
  14. package/lib/lex-v1/AWSLexProvider.d.ts +20 -0
  15. package/lib/lex-v1/AWSLexProvider.js +119 -0
  16. package/lib/lex-v1/apis/index.d.ts +2 -0
  17. package/lib/lex-v1/apis/index.js +9 -0
  18. package/lib/lex-v1/apis/onComplete.d.ts +2 -0
  19. package/lib/lex-v1/apis/onComplete.js +15 -0
  20. package/lib/lex-v1/apis/send.d.ts +2 -0
  21. package/lib/lex-v1/apis/send.js +15 -0
  22. package/lib/lex-v1/index.d.ts +6 -0
  23. package/lib/lex-v1/index.js +13 -0
  24. package/lib/lex-v1/types/AWSLexProviderOption.d.ts +11 -0
  25. package/lib/{types/Response.js → lex-v1/types/AWSLexProviderOption.js} +0 -1
  26. package/lib/lex-v1/types/index.d.ts +3 -0
  27. package/lib/lex-v1/types/index.js +4 -0
  28. package/lib/lex-v1/types/inputs.d.ts +9 -0
  29. package/lib/lex-v1/types/inputs.js +4 -0
  30. package/lib/lex-v1/types/outputs.d.ts +5 -0
  31. package/lib/lex-v1/types/outputs.js +4 -0
  32. package/lib/lex-v1/utils/index.d.ts +1 -0
  33. package/lib/lex-v1/utils/index.js +7 -0
  34. package/lib/lex-v1/utils/resolveBotConfig.d.ts +2 -0
  35. package/lib/lex-v1/utils/resolveBotConfig.js +13 -0
  36. package/lib/lex-v2/AWSLexV2Provider.d.ts +52 -0
  37. package/lib/lex-v2/AWSLexV2Provider.js +166 -0
  38. package/lib/lex-v2/apis/index.d.ts +2 -0
  39. package/lib/lex-v2/apis/index.js +9 -0
  40. package/lib/lex-v2/apis/onComplete.d.ts +2 -0
  41. package/lib/lex-v2/apis/onComplete.js +15 -0
  42. package/lib/lex-v2/apis/send.d.ts +2 -0
  43. package/lib/lex-v2/apis/send.js +15 -0
  44. package/lib/lex-v2/index.d.ts +3 -0
  45. package/lib/lex-v2/index.js +10 -0
  46. package/lib/lex-v2/types/AWSLexV2ProviderOption.d.ts +13 -0
  47. package/lib/lex-v2/types/AWSLexV2ProviderOption.js +4 -0
  48. package/lib/lex-v2/types/index.d.ts +3 -0
  49. package/lib/lex-v2/types/index.js +4 -0
  50. package/lib/lex-v2/types/inputs.d.ts +9 -0
  51. package/lib/lex-v2/types/inputs.js +4 -0
  52. package/lib/lex-v2/types/outputs.d.ts +5 -0
  53. package/lib/lex-v2/types/outputs.js +4 -0
  54. package/lib/lex-v2/utils/index.d.ts +1 -0
  55. package/lib/lex-v2/utils/index.js +7 -0
  56. package/lib/lex-v2/utils/resolveBotConfig.d.ts +2 -0
  57. package/lib/lex-v2/utils/resolveBotConfig.js +13 -0
  58. package/lib/tsconfig.tsbuildinfo +1 -0
  59. package/lib/types/Interactions.d.ts +7 -6
  60. package/lib/types/Interactions.js +2 -1
  61. package/lib/types/index.d.ts +2 -5
  62. package/lib/types/index.js +2 -1
  63. package/lib/types/inputs.d.ts +9 -0
  64. package/lib/types/inputs.js +4 -0
  65. package/lib/types/outputs.d.ts +2 -0
  66. package/lib/types/outputs.js +4 -0
  67. package/lib/utils/commonUtils.d.ts +1 -0
  68. package/lib/utils/commonUtils.js +19 -0
  69. package/lib/utils/index.d.ts +2 -0
  70. package/lib/utils/index.js +11 -0
  71. package/lib/utils/utils.js +32 -0
  72. package/lib/utils/utils.native.js +45 -0
  73. package/lib-esm/errors/InteractionsError.d.ts +4 -0
  74. package/lib-esm/errors/InteractionsError.js +12 -0
  75. package/lib-esm/errors/assertValidationError.d.ts +2 -0
  76. package/lib-esm/errors/assertValidationError.js +14 -0
  77. package/lib-esm/errors/index.d.ts +2 -0
  78. package/lib-esm/errors/index.js +4 -0
  79. package/lib-esm/errors/validation.d.ts +5 -0
  80. package/lib-esm/errors/validation.js +11 -0
  81. package/lib-esm/index.d.ts +2 -5
  82. package/lib-esm/index.js +1 -5
  83. package/lib-esm/lex-v1/AWSLexProvider.d.ts +20 -0
  84. package/lib-esm/lex-v1/AWSLexProvider.js +116 -0
  85. package/lib-esm/lex-v1/apis/index.d.ts +2 -0
  86. package/lib-esm/lex-v1/apis/index.js +4 -0
  87. package/lib-esm/lex-v1/apis/onComplete.d.ts +2 -0
  88. package/lib-esm/lex-v1/apis/onComplete.js +11 -0
  89. package/lib-esm/lex-v1/apis/send.d.ts +2 -0
  90. package/lib-esm/lex-v1/apis/send.js +11 -0
  91. package/lib-esm/lex-v1/index.d.ts +6 -0
  92. package/lib-esm/lex-v1/index.js +10 -0
  93. package/lib-esm/lex-v1/types/AWSLexProviderOption.d.ts +11 -0
  94. package/lib-esm/{types/Response.js → lex-v1/types/AWSLexProviderOption.js} +1 -1
  95. package/lib-esm/lex-v1/types/index.d.ts +3 -0
  96. package/lib-esm/lex-v1/types/index.js +3 -0
  97. package/lib-esm/lex-v1/types/inputs.d.ts +9 -0
  98. package/lib-esm/lex-v1/types/inputs.js +3 -0
  99. package/lib-esm/lex-v1/types/outputs.d.ts +5 -0
  100. package/lib-esm/lex-v1/types/outputs.js +3 -0
  101. package/lib-esm/lex-v1/utils/index.d.ts +1 -0
  102. package/lib-esm/lex-v1/utils/index.js +3 -0
  103. package/lib-esm/lex-v1/utils/resolveBotConfig.d.ts +2 -0
  104. package/lib-esm/lex-v1/utils/resolveBotConfig.js +9 -0
  105. package/lib-esm/lex-v2/AWSLexV2Provider.d.ts +52 -0
  106. package/lib-esm/lex-v2/AWSLexV2Provider.js +163 -0
  107. package/lib-esm/lex-v2/apis/index.d.ts +2 -0
  108. package/lib-esm/lex-v2/apis/index.js +4 -0
  109. package/lib-esm/lex-v2/apis/onComplete.d.ts +2 -0
  110. package/lib-esm/lex-v2/apis/onComplete.js +11 -0
  111. package/lib-esm/lex-v2/apis/send.d.ts +2 -0
  112. package/lib-esm/lex-v2/apis/send.js +11 -0
  113. package/lib-esm/lex-v2/index.d.ts +3 -0
  114. package/lib-esm/lex-v2/index.js +7 -0
  115. package/lib-esm/lex-v2/types/AWSLexV2ProviderOption.d.ts +13 -0
  116. package/lib-esm/lex-v2/types/AWSLexV2ProviderOption.js +3 -0
  117. package/lib-esm/lex-v2/types/index.d.ts +3 -0
  118. package/lib-esm/lex-v2/types/index.js +3 -0
  119. package/lib-esm/lex-v2/types/inputs.d.ts +9 -0
  120. package/lib-esm/lex-v2/types/inputs.js +3 -0
  121. package/lib-esm/lex-v2/types/outputs.d.ts +5 -0
  122. package/lib-esm/lex-v2/types/outputs.js +3 -0
  123. package/lib-esm/lex-v2/utils/index.d.ts +1 -0
  124. package/lib-esm/lex-v2/utils/index.js +3 -0
  125. package/lib-esm/lex-v2/utils/resolveBotConfig.d.ts +2 -0
  126. package/lib-esm/lex-v2/utils/resolveBotConfig.js +9 -0
  127. package/lib-esm/tsconfig.tsbuildinfo +1 -0
  128. package/lib-esm/types/Interactions.d.ts +7 -6
  129. package/lib-esm/types/Interactions.js +3 -1
  130. package/lib-esm/types/index.d.ts +2 -5
  131. package/lib-esm/types/index.js +3 -1
  132. package/lib-esm/types/inputs.d.ts +9 -0
  133. package/lib-esm/types/inputs.js +3 -0
  134. package/lib-esm/types/outputs.d.ts +2 -0
  135. package/lib-esm/types/outputs.js +3 -0
  136. package/lib-esm/utils/commonUtils.d.ts +1 -0
  137. package/lib-esm/utils/commonUtils.js +15 -0
  138. package/lib-esm/utils/index.d.ts +2 -0
  139. package/lib-esm/utils/index.js +4 -0
  140. package/lib-esm/utils/utils.js +26 -0
  141. package/lib-esm/utils/utils.native.js +39 -0
  142. package/package.json +67 -28
  143. package/src/errors/InteractionsError.ts +18 -0
  144. package/src/errors/assertValidationError.ts +24 -0
  145. package/src/errors/index.ts +5 -0
  146. package/src/errors/validation.ts +15 -0
  147. package/src/index.ts +2 -5
  148. package/src/lex-v1/AWSLexProvider.ts +167 -0
  149. package/src/lex-v1/apis/index.ts +5 -0
  150. package/src/lex-v1/apis/onComplete.ts +21 -0
  151. package/src/lex-v1/apis/send.ts +21 -0
  152. package/src/lex-v1/index.ts +14 -0
  153. package/src/lex-v1/types/AWSLexProviderOption.ts +16 -0
  154. package/src/lex-v1/types/index.ts +6 -0
  155. package/src/lex-v1/types/inputs.ts +17 -0
  156. package/src/lex-v1/types/outputs.ts +9 -0
  157. package/src/{types/Response.ts → lex-v1/utils/index.ts} +1 -3
  158. package/src/lex-v1/utils/resolveBotConfig.ts +15 -0
  159. package/src/{Providers → lex-v2}/AWSLexV2Provider.ts +67 -137
  160. package/src/lex-v2/apis/index.ts +5 -0
  161. package/src/lex-v2/apis/onComplete.ts +21 -0
  162. package/src/lex-v2/apis/send.ts +21 -0
  163. package/src/lex-v2/index.ts +11 -0
  164. package/src/{types/Providers/AWSLexV2Provider.ts → lex-v2/types/AWSLexV2ProviderOption.ts} +7 -4
  165. package/src/lex-v2/types/index.ts +6 -0
  166. package/src/lex-v2/types/inputs.ts +17 -0
  167. package/src/lex-v2/types/outputs.ts +9 -0
  168. package/src/lex-v2/utils/index.ts +4 -0
  169. package/src/lex-v2/utils/resolveBotConfig.ts +15 -0
  170. package/src/types/Interactions.ts +9 -3
  171. package/src/types/index.ts +3 -5
  172. package/src/types/inputs.ts +17 -0
  173. package/src/types/outputs.ts +6 -0
  174. package/src/utils/index.ts +5 -0
  175. package/lib/.tsbuildinfo +0 -3
  176. package/lib/Interactions.d.ts +0 -24
  177. package/lib/Interactions.js +0 -123
  178. package/lib/Interactions.js.map +0 -1
  179. package/lib/Providers/AWSLexProvider.d.ts +0 -24
  180. package/lib/Providers/AWSLexProvider.js +0 -187
  181. package/lib/Providers/AWSLexProvider.js.map +0 -1
  182. package/lib/Providers/AWSLexProviderHelper/commonUtils.d.ts +0 -1
  183. package/lib/Providers/AWSLexProviderHelper/commonUtils.js +0 -29
  184. package/lib/Providers/AWSLexProviderHelper/commonUtils.js.map +0 -1
  185. package/lib/Providers/AWSLexProviderHelper/utils.js +0 -38
  186. package/lib/Providers/AWSLexProviderHelper/utils.js.map +0 -1
  187. package/lib/Providers/AWSLexProviderHelper/utils.native.js +0 -55
  188. package/lib/Providers/AWSLexProviderHelper/utils.native.js.map +0 -1
  189. package/lib/Providers/AWSLexV2Provider.d.ts +0 -58
  190. package/lib/Providers/AWSLexV2Provider.js +0 -282
  191. package/lib/Providers/AWSLexV2Provider.js.map +0 -1
  192. package/lib/Providers/InteractionsProvider.d.ts +0 -11
  193. package/lib/Providers/InteractionsProvider.js +0 -32
  194. package/lib/Providers/InteractionsProvider.js.map +0 -1
  195. package/lib/Providers/index.d.ts +0 -3
  196. package/lib/Providers/index.js +0 -11
  197. package/lib/Providers/index.js.map +0 -1
  198. package/lib/index.js.map +0 -1
  199. package/lib/types/Interactions.js.map +0 -1
  200. package/lib/types/Provider.d.ts +0 -12
  201. package/lib/types/Provider.js +0 -3
  202. package/lib/types/Provider.js.map +0 -1
  203. package/lib/types/Providers/AWSLexProvider.d.ts +0 -10
  204. package/lib/types/Providers/AWSLexProvider.js +0 -3
  205. package/lib/types/Providers/AWSLexProvider.js.map +0 -1
  206. package/lib/types/Providers/AWSLexV2Provider.d.ts +0 -12
  207. package/lib/types/Providers/AWSLexV2Provider.js +0 -3
  208. package/lib/types/Providers/AWSLexV2Provider.js.map +0 -1
  209. package/lib/types/Response.d.ts +0 -3
  210. package/lib/types/Response.js.map +0 -1
  211. package/lib/types/index.js.map +0 -1
  212. package/lib-esm/.tsbuildinfo +0 -3
  213. package/lib-esm/Interactions.d.ts +0 -24
  214. package/lib-esm/Interactions.js +0 -121
  215. package/lib-esm/Interactions.js.map +0 -1
  216. package/lib-esm/Providers/AWSLexProvider.d.ts +0 -24
  217. package/lib-esm/Providers/AWSLexProvider.js +0 -185
  218. package/lib-esm/Providers/AWSLexProvider.js.map +0 -1
  219. package/lib-esm/Providers/AWSLexProviderHelper/commonUtils.d.ts +0 -1
  220. package/lib-esm/Providers/AWSLexProviderHelper/commonUtils.js +0 -27
  221. package/lib-esm/Providers/AWSLexProviderHelper/commonUtils.js.map +0 -1
  222. package/lib-esm/Providers/AWSLexProviderHelper/utils.js +0 -36
  223. package/lib-esm/Providers/AWSLexProviderHelper/utils.js.map +0 -1
  224. package/lib-esm/Providers/AWSLexProviderHelper/utils.native.js +0 -53
  225. package/lib-esm/Providers/AWSLexProviderHelper/utils.native.js.map +0 -1
  226. package/lib-esm/Providers/AWSLexV2Provider.d.ts +0 -58
  227. package/lib-esm/Providers/AWSLexV2Provider.js +0 -280
  228. package/lib-esm/Providers/AWSLexV2Provider.js.map +0 -1
  229. package/lib-esm/Providers/InteractionsProvider.d.ts +0 -11
  230. package/lib-esm/Providers/InteractionsProvider.js +0 -30
  231. package/lib-esm/Providers/InteractionsProvider.js.map +0 -1
  232. package/lib-esm/Providers/index.d.ts +0 -3
  233. package/lib-esm/Providers/index.js +0 -6
  234. package/lib-esm/Providers/index.js.map +0 -1
  235. package/lib-esm/index.js.map +0 -1
  236. package/lib-esm/types/Interactions.js.map +0 -1
  237. package/lib-esm/types/Provider.d.ts +0 -12
  238. package/lib-esm/types/Provider.js +0 -1
  239. package/lib-esm/types/Provider.js.map +0 -1
  240. package/lib-esm/types/Providers/AWSLexProvider.d.ts +0 -10
  241. package/lib-esm/types/Providers/AWSLexProvider.js +0 -1
  242. package/lib-esm/types/Providers/AWSLexProvider.js.map +0 -1
  243. package/lib-esm/types/Providers/AWSLexV2Provider.d.ts +0 -12
  244. package/lib-esm/types/Providers/AWSLexV2Provider.js +0 -1
  245. package/lib-esm/types/Providers/AWSLexV2Provider.js.map +0 -1
  246. package/lib-esm/types/Response.d.ts +0 -3
  247. package/lib-esm/types/Response.js.map +0 -1
  248. package/lib-esm/types/index.js.map +0 -1
  249. package/src/Interactions.ts +0 -162
  250. package/src/Providers/AWSLexProvider.ts +0 -212
  251. package/src/Providers/InteractionsProvider.ts +0 -49
  252. package/src/Providers/index.ts +0 -5
  253. package/src/types/Provider.ts +0 -26
  254. package/src/types/Providers/AWSLexProvider.ts +0 -13
  255. /package/lib/{Providers/AWSLexProviderHelper → utils}/utils.d.ts +0 -0
  256. /package/lib/{Providers/AWSLexProviderHelper → utils}/utils.native.d.ts +0 -0
  257. /package/lib-esm/{Providers/AWSLexProviderHelper → utils}/utils.d.ts +0 -0
  258. /package/lib-esm/{Providers/AWSLexProviderHelper → utils}/utils.native.d.ts +0 -0
  259. /package/src/{Providers/AWSLexProviderHelper → utils}/commonUtils.ts +0 -0
  260. /package/src/{Providers/AWSLexProviderHelper → utils}/utils.native.ts +0 -0
  261. /package/src/{Providers/AWSLexProviderHelper → utils}/utils.ts +0 -0
@@ -1,280 +0,0 @@
1
- import { __assign, __awaiter, __extends, __generator } from "tslib";
2
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
- // SPDX-License-Identifier: Apache-2.0
4
- import { AbstractInteractionsProvider } from './InteractionsProvider';
5
- import { LexRuntimeV2Client, RecognizeTextCommand, RecognizeUtteranceCommand, } from '@aws-sdk/client-lex-runtime-v2';
6
- import { ConsoleLogger as Logger, Credentials, getAmplifyUserAgentObject, } from '@aws-amplify/core';
7
- import { convert } from './AWSLexProviderHelper/utils';
8
- import { unGzipBase64AsJson } from './AWSLexProviderHelper/commonUtils';
9
- var logger = new Logger('AWSLexV2Provider');
10
- var AWSLexV2Provider = /** @class */ (function (_super) {
11
- __extends(AWSLexV2Provider, _super);
12
- /**
13
- * Initialize Interactions with AWS configurations
14
- * @param {InteractionsOptions} options - Configuration object for Interactions
15
- */
16
- function AWSLexV2Provider(options) {
17
- if (options === void 0) { options = {}; }
18
- var _this = _super.call(this, options) || this;
19
- _this._botsCompleteCallback = {};
20
- return _this;
21
- }
22
- /**
23
- * get provider name of the plugin
24
- * @returns {string} name of the provider
25
- */
26
- AWSLexV2Provider.prototype.getProviderName = function () {
27
- return 'AWSLexV2Provider';
28
- };
29
- /**
30
- * Configure Interactions part with aws configuration
31
- * @param {AWSLexV2ProviderOptions} config - Configuration of the Interactions
32
- * @return {AWSLexV2ProviderOptions} - Current configuration
33
- */
34
- AWSLexV2Provider.prototype.configure = function (config) {
35
- if (config === void 0) { config = {}; }
36
- var propertiesToTest = [
37
- 'name',
38
- 'botId',
39
- 'aliasId',
40
- 'localeId',
41
- 'providerName',
42
- 'region',
43
- ];
44
- Object.keys(config).forEach(function (botKey) {
45
- var botConfig = config[botKey];
46
- // is bot config correct
47
- if (!propertiesToTest.every(function (x) { return x in botConfig; })) {
48
- throw new Error('invalid bot configuration');
49
- }
50
- });
51
- return _super.prototype.configure.call(this, config);
52
- };
53
- /**
54
- * Send a message to a bot
55
- * @async
56
- * @param {string} botname - Bot name to send the message
57
- * @param {string | InteractionsMessage} message - message to send to the bot
58
- * @return {Promise<InteractionsResponse>} A promise resolves to the response from the bot
59
- */
60
- AWSLexV2Provider.prototype.sendMessage = function (botname, message) {
61
- return __awaiter(this, void 0, void 0, function () {
62
- var credentials, error_1, response, reqBaseParams;
63
- return __generator(this, function (_a) {
64
- switch (_a.label) {
65
- case 0:
66
- // check if bot exists
67
- if (!this._config[botname]) {
68
- return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];
69
- }
70
- _a.label = 1;
71
- case 1:
72
- _a.trys.push([1, 3, , 4]);
73
- return [4 /*yield*/, Credentials.get()];
74
- case 2:
75
- credentials = _a.sent();
76
- return [3 /*break*/, 4];
77
- case 3:
78
- error_1 = _a.sent();
79
- return [2 /*return*/, Promise.reject('No credentials')];
80
- case 4:
81
- this._lexRuntimeServiceV2Client = new LexRuntimeV2Client({
82
- region: this._config[botname].region,
83
- credentials: credentials,
84
- customUserAgent: getAmplifyUserAgentObject(),
85
- });
86
- reqBaseParams = {
87
- botAliasId: this._config[botname].aliasId,
88
- botId: this._config[botname].botId,
89
- localeId: this._config[botname].localeId,
90
- sessionId: credentials.identityId,
91
- };
92
- if (!(typeof message === 'string')) return [3 /*break*/, 6];
93
- return [4 /*yield*/, this._handleRecognizeTextCommand(botname, message, reqBaseParams)];
94
- case 5:
95
- response = _a.sent();
96
- return [3 /*break*/, 8];
97
- case 6: return [4 /*yield*/, this._handleRecognizeUtteranceCommand(botname, message, reqBaseParams)];
98
- case 7:
99
- response = _a.sent();
100
- _a.label = 8;
101
- case 8: return [2 /*return*/, response];
102
- }
103
- });
104
- });
105
- };
106
- /**
107
- * Attach a onComplete callback function to a bot.
108
- * The callback is called once the bot's intent is fulfilled
109
- * @param {string} botname - Bot name to attach the onComplete callback
110
- * @param {(err: Error | null, confirmation: InteractionsResponse) => void} callback - called when Intent Fulfilled
111
- */
112
- AWSLexV2Provider.prototype.onComplete = function (botname, callback) {
113
- // does bot exist
114
- if (!this._config[botname]) {
115
- throw new Error('Bot ' + botname + ' does not exist');
116
- }
117
- this._botsCompleteCallback[botname] = callback;
118
- };
119
- /**
120
- * @private
121
- * call onComplete callback for a bot if configured
122
- */
123
- AWSLexV2Provider.prototype._reportBotStatus = function (data, botname) {
124
- var _this = this;
125
- var _a, _b, _c, _d, _e, _f;
126
- var sessionState = data === null || data === void 0 ? void 0 : data.sessionState;
127
- // Check if state is fulfilled to resolve onFullfilment promise
128
- logger.debug('postContent state', (_a = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _a === void 0 ? void 0 : _a.state);
129
- var isConfigOnCompleteAttached = typeof ((_b = this._config) === null || _b === void 0 ? void 0 : _b[botname].onComplete) === 'function';
130
- var isApiOnCompleteAttached = typeof ((_c = this._botsCompleteCallback) === null || _c === void 0 ? void 0 : _c[botname]) === 'function';
131
- // no onComplete callbacks added
132
- if (!isConfigOnCompleteAttached && !isApiOnCompleteAttached)
133
- return;
134
- if (((_d = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _d === void 0 ? void 0 : _d.state) === 'ReadyForFulfillment' ||
135
- ((_e = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _e === void 0 ? void 0 : _e.state) === 'Fulfilled') {
136
- if (isApiOnCompleteAttached) {
137
- setTimeout(function () { var _a; return (_a = _this._botsCompleteCallback) === null || _a === void 0 ? void 0 : _a[botname](null, data); }, 0);
138
- }
139
- if (isConfigOnCompleteAttached) {
140
- setTimeout(function () { return _this._config[botname].onComplete(null, data); }, 0);
141
- }
142
- }
143
- if (((_f = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _f === void 0 ? void 0 : _f.state) === 'Failed') {
144
- var error_2 = new Error('Bot conversation failed');
145
- if (isApiOnCompleteAttached) {
146
- setTimeout(function () { return _this._botsCompleteCallback[botname](error_2); }, 0);
147
- }
148
- if (isConfigOnCompleteAttached) {
149
- setTimeout(function () { return _this._config[botname].onComplete(error_2); }, 0);
150
- }
151
- }
152
- };
153
- /**
154
- * Format UtteranceCommandOutput's response
155
- * decompress attributes
156
- * update audioStream format
157
- */
158
- AWSLexV2Provider.prototype._formatUtteranceCommandOutput = function (data) {
159
- return __awaiter(this, void 0, void 0, function () {
160
- var response, _a, _b, _c;
161
- return __generator(this, function (_d) {
162
- switch (_d.label) {
163
- case 0:
164
- _a = [__assign({}, data)];
165
- _b = {};
166
- return [4 /*yield*/, unGzipBase64AsJson(data.messages)];
167
- case 1:
168
- _b.messages = _d.sent();
169
- return [4 /*yield*/, unGzipBase64AsJson(data.sessionState)];
170
- case 2:
171
- _b.sessionState = _d.sent();
172
- return [4 /*yield*/, unGzipBase64AsJson(data.interpretations)];
173
- case 3:
174
- _b.interpretations = _d.sent();
175
- return [4 /*yield*/, unGzipBase64AsJson(data.requestAttributes)];
176
- case 4:
177
- _b.requestAttributes = _d.sent();
178
- return [4 /*yield*/, unGzipBase64AsJson(data.inputTranscript)];
179
- case 5:
180
- _b.inputTranscript = _d.sent();
181
- if (!data.audioStream) return [3 /*break*/, 7];
182
- return [4 /*yield*/, convert(data.audioStream)];
183
- case 6:
184
- _c = _d.sent();
185
- return [3 /*break*/, 8];
186
- case 7:
187
- _c = undefined;
188
- _d.label = 8;
189
- case 8:
190
- response = __assign.apply(void 0, _a.concat([(_b.audioStream = _c, _b)]));
191
- return [2 /*return*/, response];
192
- }
193
- });
194
- });
195
- };
196
- /**
197
- * handle client's `RecognizeTextCommand`
198
- * used for sending simple text message
199
- */
200
- AWSLexV2Provider.prototype._handleRecognizeTextCommand = function (botname, data, baseParams) {
201
- return __awaiter(this, void 0, void 0, function () {
202
- var params, recognizeTextCommand, data_1, err_1;
203
- return __generator(this, function (_a) {
204
- switch (_a.label) {
205
- case 0:
206
- logger.debug('postText to lex2', data);
207
- params = __assign(__assign({}, baseParams), { text: data });
208
- _a.label = 1;
209
- case 1:
210
- _a.trys.push([1, 3, , 4]);
211
- recognizeTextCommand = new RecognizeTextCommand(params);
212
- return [4 /*yield*/, this._lexRuntimeServiceV2Client.send(recognizeTextCommand)];
213
- case 2:
214
- data_1 = _a.sent();
215
- this._reportBotStatus(data_1, botname);
216
- return [2 /*return*/, data_1];
217
- case 3:
218
- err_1 = _a.sent();
219
- return [2 /*return*/, Promise.reject(err_1)];
220
- case 4: return [2 /*return*/];
221
- }
222
- });
223
- });
224
- };
225
- /**
226
- * handle client's `RecognizeUtteranceCommand`
227
- * used for obj text or obj voice message
228
- */
229
- AWSLexV2Provider.prototype._handleRecognizeUtteranceCommand = function (botname, data, baseParams) {
230
- return __awaiter(this, void 0, void 0, function () {
231
- var content, messageType, params, inputStream, _a, recognizeUtteranceCommand, data_2, response, err_2;
232
- return __generator(this, function (_b) {
233
- switch (_b.label) {
234
- case 0:
235
- content = data.content, messageType = data.options.messageType;
236
- logger.debug('postContent to lex2', data);
237
- if (!(messageType === 'voice')) return [3 /*break*/, 4];
238
- if (typeof content !== 'object') {
239
- return [2 /*return*/, Promise.reject('invalid content type')];
240
- }
241
- if (!(content instanceof Uint8Array)) return [3 /*break*/, 1];
242
- _a = content;
243
- return [3 /*break*/, 3];
244
- case 1: return [4 /*yield*/, convert(content)];
245
- case 2:
246
- _a = _b.sent();
247
- _b.label = 3;
248
- case 3:
249
- inputStream = _a;
250
- params = __assign(__assign({}, baseParams), { requestContentType: 'audio/x-l16; sample-rate=16000; channel-count=1', inputStream: inputStream });
251
- return [3 /*break*/, 5];
252
- case 4:
253
- // text input
254
- if (typeof content !== 'string')
255
- return [2 /*return*/, Promise.reject('invalid content type')];
256
- params = __assign(__assign({}, baseParams), { requestContentType: 'text/plain; charset=utf-8', inputStream: content });
257
- _b.label = 5;
258
- case 5:
259
- _b.trys.push([5, 8, , 9]);
260
- recognizeUtteranceCommand = new RecognizeUtteranceCommand(params);
261
- return [4 /*yield*/, this._lexRuntimeServiceV2Client.send(recognizeUtteranceCommand)];
262
- case 6:
263
- data_2 = _b.sent();
264
- return [4 /*yield*/, this._formatUtteranceCommandOutput(data_2)];
265
- case 7:
266
- response = _b.sent();
267
- this._reportBotStatus(response, botname);
268
- return [2 /*return*/, response];
269
- case 8:
270
- err_2 = _b.sent();
271
- return [2 /*return*/, Promise.reject(err_2)];
272
- case 9: return [2 /*return*/];
273
- }
274
- });
275
- });
276
- };
277
- return AWSLexV2Provider;
278
- }(AbstractInteractionsProvider));
279
- export { AWSLexV2Provider };
280
- //# sourceMappingURL=AWSLexV2Provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AWSLexV2Provider.js","sourceRoot":"","sources":["../../src/Providers/AWSLexV2Provider.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAOtE,OAAO,EACN,kBAAkB,EAClB,oBAAoB,EAGpB,yBAAyB,GAGzB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,aAAa,IAAI,MAAM,EACvB,WAAW,EACX,yBAAyB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;AA6B9C;IAAsC,oCAA4B;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,WAAW,CAAC,GAAG,EAAE,EAAA;;wBAArC,WAAW,GAAG,SAAuB,CAAC;;;;wBAEtC,sBAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAC;;wBAGzC,IAAI,CAAC,0BAA0B,GAAG,IAAI,kBAAkB,CAAC;4BACxD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM;4BACpC,WAAW,aAAA;4BACX,eAAe,EAAE,yBAAyB,EAAE;yBAC5C,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;;;;;;2CAGjC,IAAI;;wBACG,qBAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAA;;wBAAjD,WAAQ,GAAE,SAAuC;wBACnC,qBAAM,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAA;;wBAAzD,eAAY,GAAE,SAA2C;wBACxC,qBAAM,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAA;;wBAA/D,kBAAe,GAAE,SAA8C;wBAC5C,qBAAM,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAA;;wBAAnE,oBAAiB,GAAE,SAAgD;wBAClD,qBAAM,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAA;;wBAA/D,kBAAe,GAAE,SAA8C;6BAClD,IAAI,CAAC,WAAW,EAAhB,wBAAgB;wBAC1B,qBAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAA;;wBAA/B,KAAA,SAA+B,CAAA;;;wBAC/B,KAAA,SAAS,CAAA;;;wBATP,QAAQ,sCAOb,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,yBACR,UAAU,KACb,IAAI,EAAE,IAAI,GACV,CAAC;;;;wBAGK,oBAAoB,GAAG,IAAI,oBAAoB,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,OAAO,CAAC,OAAO,CAAC,EAAA;;wBAAtB,KAAA,SAAsB,CAAA;;;wBAD3D,WAAW,KACgD;wBAEjE,MAAM,yBACF,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,yBACF,UAAU,KACb,kBAAkB,EAAE,2BAA2B,EAC/C,WAAW,EAAE,OAAO,GACpB,CAAC;;;;wBAKI,yBAAyB,GAAG,IAAI,yBAAyB,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,4BAA4B,GAqRjE"}
@@ -1,11 +0,0 @@
1
- import { InteractionsProvider, InteractionsOptions, InteractionsResponse } from '../types';
2
- export declare abstract class AbstractInteractionsProvider implements InteractionsProvider {
3
- protected _config: InteractionsOptions;
4
- constructor(options?: InteractionsOptions);
5
- configure(config?: InteractionsOptions): InteractionsOptions;
6
- getCategory(): string;
7
- abstract getProviderName(): string;
8
- protected get options(): InteractionsOptions;
9
- abstract sendMessage(botname: string, message: string | Object): Promise<object>;
10
- abstract onComplete(botname: string, callback: (err: any, confirmation: InteractionsResponse) => void): any;
11
- }
@@ -1,30 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- import { __assign } from "tslib";
4
- import { ConsoleLogger as Logger } from '@aws-amplify/core';
5
- var logger = new Logger('AbstractInteractionsProvider');
6
- var AbstractInteractionsProvider = /** @class */ (function () {
7
- function AbstractInteractionsProvider(options) {
8
- if (options === void 0) { options = {}; }
9
- this._config = options;
10
- }
11
- AbstractInteractionsProvider.prototype.configure = function (config) {
12
- if (config === void 0) { config = {}; }
13
- this._config = __assign(__assign({}, this._config), config);
14
- logger.debug("configure " + this.getProviderName(), this._config);
15
- return this.options;
16
- };
17
- AbstractInteractionsProvider.prototype.getCategory = function () {
18
- return 'Interactions';
19
- };
20
- Object.defineProperty(AbstractInteractionsProvider.prototype, "options", {
21
- get: function () {
22
- return __assign({}, this._config);
23
- },
24
- enumerable: true,
25
- configurable: true
26
- });
27
- return AbstractInteractionsProvider;
28
- }());
29
- export { AbstractInteractionsProvider };
30
- //# sourceMappingURL=InteractionsProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InteractionsProvider.js","sourceRoot":"","sources":["../../src/Providers/InteractionsProvider.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAQtC,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE5D,IAAM,MAAM,GAAG,IAAI,MAAM,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"}
@@ -1,3 +0,0 @@
1
- export { AWSLexProvider } from './AWSLexProvider';
2
- export { AWSLexV2Provider } from './AWSLexV2Provider';
3
- export { AbstractInteractionsProvider } from './InteractionsProvider';
@@ -1,6 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- export { AWSLexProvider } from './AWSLexProvider';
4
- export { AWSLexV2Provider } from './AWSLexV2Provider';
5
- export { AbstractInteractionsProvider } from './InteractionsProvider';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Providers/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Interactions.js","sourceRoot":"","sources":["../../src/types/Interactions.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { InteractionsOptions } from './Interactions';
2
- import { InteractionsResponse } from './Response';
3
- export interface InteractionsProvider {
4
- configure(config: InteractionsOptions): InteractionsOptions;
5
- getCategory(): string;
6
- getProviderName(): string;
7
- sendMessage(botname: string, message: string | Object): Promise<object>;
8
- onComplete(botname: string, callback: (err: any, confirmation: InteractionsResponse) => void): any;
9
- }
10
- export interface InteractionsProviders {
11
- [key: string]: InteractionsProvider;
12
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=Provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../src/types/Provider.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
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
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=AWSLexProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AWSLexProvider.js","sourceRoot":"","sources":["../../../src/types/Providers/AWSLexProvider.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
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
- }
@@ -1 +0,0 @@
1
- //# sourceMappingURL=AWSLexV2Provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AWSLexV2Provider.js","sourceRoot":"","sources":["../../../src/types/Providers/AWSLexV2Provider.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export declare type InteractionsResponse = {
2
- [key: string]: any;
3
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/types/Response.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
@@ -1,162 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- import {
4
- InteractionsOptions,
5
- InteractionsProviders,
6
- InteractionsProvider,
7
- InteractionsMessage,
8
- InteractionsResponse,
9
- } from './types';
10
- import { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';
11
- import { AWSLexProvider } from './Providers';
12
- const logger = new Logger('Interactions');
13
-
14
- export class InteractionsClass {
15
- private _options: InteractionsOptions;
16
-
17
- private _pluggables: InteractionsProviders;
18
-
19
- /**
20
- * Initialize PubSub with AWS configurations
21
- *
22
- * @param {InteractionsOptions} options - Configuration object for Interactions
23
- */
24
- constructor(options: InteractionsOptions = {}) {
25
- this._options = options;
26
- logger.debug('Interactions Options', this._options);
27
- this._pluggables = {};
28
- }
29
-
30
- public getModuleName() {
31
- return 'Interactions';
32
- }
33
-
34
- /**
35
- *
36
- * @param {InteractionsOptions} options - Configuration object for Interactions
37
- * @return {InteractionsOptions} - The current configuration
38
- */
39
- public configure(options: InteractionsOptions): InteractionsOptions {
40
- const opt = options ? options.Interactions || options : {};
41
- logger.debug('configure Interactions', { opt });
42
- this._options = { bots: {}, ...opt, ...opt.Interactions };
43
-
44
- const aws_bots_config = this._options.aws_bots_config;
45
- const bots_config = this._options.bots;
46
-
47
- if (!Object.keys(bots_config).length && aws_bots_config) {
48
- // Convert aws_bots_config to bots object
49
- if (Array.isArray(aws_bots_config)) {
50
- aws_bots_config.forEach(bot => {
51
- this._options.bots[bot.name] = bot;
52
- });
53
- }
54
- }
55
-
56
- // configure bots to their specific providers
57
- Object.keys(bots_config).forEach(botKey => {
58
- const bot = bots_config[botKey];
59
- const providerName = bot.providerName || 'AWSLexProvider';
60
-
61
- // add default provider if required
62
- if (
63
- !this._pluggables.AWSLexProvider &&
64
- providerName === 'AWSLexProvider'
65
- ) {
66
- this._pluggables.AWSLexProvider = new AWSLexProvider();
67
- }
68
-
69
- // configure bot with it's respective provider
70
- if (this._pluggables[providerName]) {
71
- this._pluggables[providerName].configure({ [bot.name]: bot });
72
- } else {
73
- logger.debug(
74
- `bot ${bot.name} was not configured as ${providerName} provider was not found`
75
- );
76
- }
77
- });
78
-
79
- return this._options;
80
- }
81
-
82
- public addPluggable(pluggable: InteractionsProvider) {
83
- if (pluggable && pluggable.getCategory() === 'Interactions') {
84
- if (!this._pluggables[pluggable.getProviderName()]) {
85
- // configure bots for the new plugin
86
- Object.keys(this._options.bots)
87
- .filter(
88
- botKey =>
89
- this._options.bots[botKey].providerName ===
90
- pluggable.getProviderName()
91
- )
92
- .forEach(botKey => {
93
- const bot = this._options.bots[botKey];
94
- pluggable.configure({ [bot.name]: bot });
95
- });
96
-
97
- this._pluggables[pluggable.getProviderName()] = pluggable;
98
- return;
99
- } else {
100
- throw new Error(
101
- 'Pluggable ' + pluggable.getProviderName() + ' already plugged'
102
- );
103
- }
104
- }
105
- }
106
-
107
- public async send(
108
- botname: string,
109
- message: string
110
- ): Promise<InteractionsResponse>;
111
- public async send(
112
- botname: string,
113
- message: InteractionsMessage
114
- ): Promise<InteractionsResponse>;
115
- public async send(
116
- botname: string,
117
- message: object
118
- ): Promise<InteractionsResponse>;
119
- public async send(
120
- botname: string,
121
- message: string | object
122
- ): Promise<InteractionsResponse> {
123
- if (!this._options.bots || !this._options.bots[botname]) {
124
- return Promise.reject('Bot ' + botname + ' does not exist');
125
- }
126
-
127
- const botProvider =
128
- this._options.bots[botname].providerName || 'AWSLexProvider';
129
-
130
- if (!this._pluggables[botProvider]) {
131
- return Promise.reject(
132
- 'Bot ' +
133
- botProvider +
134
- ' does not have valid pluggin did you try addPluggable first?'
135
- );
136
- }
137
- return await this._pluggables[botProvider].sendMessage(botname, message);
138
- }
139
-
140
- public onComplete(
141
- botname: string,
142
- callback: (err, confirmation) => void
143
- ): void {
144
- if (!this._options.bots || !this._options.bots[botname]) {
145
- throw new Error('Bot ' + botname + ' does not exist');
146
- }
147
- const botProvider =
148
- this._options.bots[botname].providerName || 'AWSLexProvider';
149
-
150
- if (!this._pluggables[botProvider]) {
151
- throw new Error(
152
- 'Bot ' +
153
- botProvider +
154
- ' does not have valid pluggin did you try addPluggable first?'
155
- );
156
- }
157
- this._pluggables[botProvider].onComplete(botname, callback);
158
- }
159
- }
160
-
161
- export const Interactions = new InteractionsClass();
162
- Amplify.register(Interactions);