@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,212 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- import { AbstractInteractionsProvider } from './InteractionsProvider';
4
- import {
5
- InteractionsOptions,
6
- AWSLexProviderOptions,
7
- InteractionsResponse,
8
- InteractionsMessage,
9
- } from '../types';
10
- import {
11
- LexRuntimeServiceClient,
12
- PostTextCommand,
13
- PostTextCommandInput,
14
- PostTextCommandOutput,
15
- PostContentCommand,
16
- PostContentCommandInput,
17
- PostContentCommandOutput,
18
- } from '@aws-sdk/client-lex-runtime-service';
19
- import {
20
- ConsoleLogger as Logger,
21
- Credentials,
22
- getAmplifyUserAgentObject,
23
- } from '@aws-amplify/core';
24
- import { convert } from './AWSLexProviderHelper/utils';
25
-
26
- const logger = new Logger('AWSLexProvider');
27
-
28
- interface PostContentCommandOutputFormatted
29
- extends Omit<PostContentCommandOutput, 'audioStream'> {
30
- audioStream?: Uint8Array;
31
- }
32
-
33
- type AWSLexProviderSendResponse =
34
- | PostTextCommandOutput
35
- | PostContentCommandOutputFormatted;
36
-
37
- export class AWSLexProvider extends AbstractInteractionsProvider {
38
- private lexRuntimeServiceClient: LexRuntimeServiceClient;
39
- private _botsCompleteCallback: object;
40
-
41
- constructor(options: InteractionsOptions = {}) {
42
- super(options);
43
- this._botsCompleteCallback = {};
44
- }
45
-
46
- getProviderName() {
47
- return 'AWSLexProvider';
48
- }
49
-
50
- configure(config: AWSLexProviderOptions = {}): AWSLexProviderOptions {
51
- const propertiesToTest = ['name', 'alias', 'region'];
52
-
53
- Object.keys(config).forEach(botKey => {
54
- const botConfig = config[botKey];
55
-
56
- // is bot config correct
57
- if (!propertiesToTest.every(x => x in botConfig)) {
58
- throw new Error('invalid bot configuration');
59
- }
60
- });
61
- return super.configure(config);
62
- }
63
-
64
- /**
65
- * @private
66
- * @deprecated
67
- * This is used internally by 'sendMessage' to call onComplete callback
68
- * for a bot if configured
69
- */
70
- reportBotStatus(data: AWSLexProviderSendResponse, botname: string) {
71
- // Check if state is fulfilled to resolve onFullfilment promise
72
- logger.debug('postContent state', data.dialogState);
73
- if (
74
- data.dialogState === 'ReadyForFulfillment' ||
75
- data.dialogState === 'Fulfilled'
76
- ) {
77
- if (typeof this._botsCompleteCallback[botname] === 'function') {
78
- setTimeout(() => this._botsCompleteCallback[botname](null, data), 0);
79
- }
80
-
81
- if (
82
- this._config &&
83
- typeof this._config[botname].onComplete === 'function'
84
- ) {
85
- setTimeout(() => this._config[botname].onComplete(null, data), 0);
86
- }
87
- }
88
-
89
- if (data.dialogState === 'Failed') {
90
- if (typeof this._botsCompleteCallback[botname] === 'function') {
91
- setTimeout(
92
- () => this._botsCompleteCallback[botname]('Bot conversation failed'),
93
- 0
94
- );
95
- }
96
-
97
- if (
98
- this._config &&
99
- typeof this._config[botname].onComplete === 'function'
100
- ) {
101
- setTimeout(
102
- () => this._config[botname].onComplete('Bot conversation failed'),
103
- 0
104
- );
105
- }
106
- }
107
- }
108
-
109
- async sendMessage(
110
- botname: string,
111
- message: string | InteractionsMessage
112
- ): Promise<InteractionsResponse> {
113
- // check if bot exists
114
- if (!this._config[botname]) {
115
- return Promise.reject('Bot ' + botname + ' does not exist');
116
- }
117
-
118
- // check if credentials are present
119
- let credentials;
120
- try {
121
- credentials = await Credentials.get();
122
- } catch (error) {
123
- return Promise.reject('No credentials');
124
- }
125
-
126
- this.lexRuntimeServiceClient = new LexRuntimeServiceClient({
127
- region: this._config[botname].region,
128
- credentials,
129
- customUserAgent: getAmplifyUserAgentObject(),
130
- });
131
-
132
- let params: PostTextCommandInput | PostContentCommandInput;
133
- if (typeof message === 'string') {
134
- params = {
135
- botAlias: this._config[botname].alias,
136
- botName: botname,
137
- inputText: message,
138
- userId: credentials.identityId,
139
- };
140
-
141
- logger.debug('postText to lex', message);
142
- try {
143
- const postTextCommand = new PostTextCommand(params);
144
- const data = await this.lexRuntimeServiceClient.send(postTextCommand);
145
-
146
- this.reportBotStatus(data, botname);
147
- return data;
148
- } catch (err) {
149
- return Promise.reject(err);
150
- }
151
- } else {
152
- const {
153
- content,
154
- options: { messageType },
155
- } = message;
156
- if (messageType === 'voice') {
157
- if (typeof content !== 'object') {
158
- return Promise.reject('invalid content type');
159
- }
160
- const inputStream =
161
- content instanceof Uint8Array ? content : await convert(content);
162
-
163
- params = {
164
- botAlias: this._config[botname].alias,
165
- botName: botname,
166
- contentType: 'audio/x-l16; sample-rate=16000; channel-count=1',
167
- userId: credentials.identityId,
168
- accept: 'audio/mpeg',
169
- inputStream,
170
- };
171
- } else {
172
- if (typeof content !== 'string')
173
- return Promise.reject('invalid content type');
174
-
175
- params = {
176
- botAlias: this._config[botname].alias,
177
- botName: botname,
178
- contentType: 'text/plain; charset=utf-8',
179
- inputStream: content,
180
- userId: credentials.identityId,
181
- accept: 'audio/mpeg',
182
- };
183
- }
184
- logger.debug('postContent to lex', message);
185
- try {
186
- const postContentCommand = new PostContentCommand(params);
187
- const data = await this.lexRuntimeServiceClient.send(
188
- postContentCommand
189
- );
190
-
191
- const audioArray = data.audioStream
192
- ? await convert(data.audioStream)
193
- : undefined;
194
-
195
- const response = { ...data, ...{ audioStream: audioArray } };
196
-
197
- this.reportBotStatus(response, botname);
198
- return response;
199
- } catch (err) {
200
- return Promise.reject(err);
201
- }
202
- }
203
- }
204
-
205
- onComplete(botname: string, callback: (err, confirmation) => void) {
206
- // does bot exist
207
- if (!this._config[botname]) {
208
- throw new Error('Bot ' + botname + ' does not exist');
209
- }
210
- this._botsCompleteCallback[botname] = callback;
211
- }
212
- }
@@ -1,49 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
-
4
- import {
5
- InteractionsProvider,
6
- InteractionsOptions,
7
- InteractionsResponse,
8
- } from '../types';
9
-
10
- import { ConsoleLogger as Logger } from '@aws-amplify/core';
11
-
12
- const logger = new Logger('AbstractInteractionsProvider');
13
-
14
- export abstract class AbstractInteractionsProvider
15
- implements InteractionsProvider {
16
- protected _config: InteractionsOptions;
17
-
18
- constructor(options: InteractionsOptions = {}) {
19
- this._config = options;
20
- }
21
-
22
- configure(config: InteractionsOptions = {}): InteractionsOptions {
23
- this._config = { ...this._config, ...config };
24
-
25
- logger.debug(`configure ${this.getProviderName()}`, this._config);
26
-
27
- return this.options;
28
- }
29
-
30
- getCategory() {
31
- return 'Interactions';
32
- }
33
-
34
- abstract getProviderName(): string;
35
-
36
- protected get options(): InteractionsOptions {
37
- return { ...this._config };
38
- }
39
-
40
- public abstract sendMessage(
41
- botname: string,
42
- message: string | Object
43
- ): Promise<object>;
44
-
45
- public abstract onComplete(
46
- botname: string,
47
- callback: (err: any, confirmation: InteractionsResponse) => void
48
- );
49
- }
@@ -1,5 +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';
@@ -1,26 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- import { InteractionsOptions } from './Interactions';
4
- import { InteractionsResponse } from './Response';
5
-
6
- export interface InteractionsProvider {
7
- // configure your provider
8
- configure(config: InteractionsOptions): InteractionsOptions;
9
-
10
- // return 'Interactions'
11
- getCategory(): string;
12
-
13
- // return the name of your provider
14
- getProviderName(): string;
15
-
16
- sendMessage(botname: string, message: string | Object): Promise<object>;
17
-
18
- onComplete(
19
- botname: string,
20
- callback: (err: any, confirmation: InteractionsResponse) => void
21
- );
22
- }
23
-
24
- export interface InteractionsProviders {
25
- [key: string]: InteractionsProvider;
26
- }
@@ -1,13 +0,0 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- export interface AWSLexProviderOption {
4
- name: string;
5
- alias: string;
6
- region: string;
7
- providerName?: string;
8
- onComplete?(botname: string, callback: (err, confirmation) => void): void;
9
- }
10
-
11
- export interface AWSLexProviderOptions {
12
- [key: string]: AWSLexProviderOption;
13
- }