@aws-amplify/interactions 4.0.51 → 4.1.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.
- package/CHANGELOG.md +18 -0
- package/dist/aws-amplify-interactions.js +23054 -6091
- package/dist/aws-amplify-interactions.js.map +1 -1
- package/dist/aws-amplify-interactions.min.js +4 -4
- package/dist/aws-amplify-interactions.min.js.map +1 -1
- package/lib/Providers/AWSLexProvider.d.ts +12 -1
- package/lib/Providers/AWSLexProvider.js +48 -36
- package/lib/Providers/AWSLexProvider.js.map +1 -1
- package/lib/Providers/AWSLexProviderHelper/commonUtils.d.ts +1 -0
- package/lib/Providers/AWSLexProviderHelper/{convert.native.js → commonUtils.js} +36 -18
- package/lib/Providers/AWSLexProviderHelper/commonUtils.js.map +1 -0
- package/lib/Providers/AWSLexProviderHelper/utils.d.ts +3 -0
- package/lib/Providers/AWSLexProviderHelper/utils.js +83 -0
- package/lib/Providers/AWSLexProviderHelper/utils.js.map +1 -0
- package/lib/Providers/AWSLexProviderHelper/utils.native.d.ts +3 -0
- package/lib/Providers/AWSLexProviderHelper/utils.native.js +100 -0
- package/lib/Providers/AWSLexProviderHelper/utils.native.js.map +1 -0
- package/lib/Providers/AWSLexV2Provider.d.ts +58 -0
- package/lib/Providers/AWSLexV2Provider.js +351 -0
- package/lib/Providers/AWSLexV2Provider.js.map +1 -0
- package/lib/Providers/index.d.ts +1 -0
- package/lib/Providers/index.js +1 -0
- package/lib/Providers/index.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/types/Providers/AWSLexV2Provider.d.ts +12 -0
- package/lib/types/Providers/AWSLexV2Provider.js +3 -0
- package/lib/types/Providers/AWSLexV2Provider.js.map +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib-esm/Providers/AWSLexProvider.d.ts +12 -1
- package/lib-esm/Providers/AWSLexProvider.js +47 -35
- package/lib-esm/Providers/AWSLexProvider.js.map +1 -1
- package/lib-esm/Providers/AWSLexProviderHelper/commonUtils.d.ts +1 -0
- package/lib-esm/Providers/AWSLexProviderHelper/{convert.native.js → commonUtils.js} +36 -18
- package/lib-esm/Providers/AWSLexProviderHelper/commonUtils.js.map +1 -0
- package/lib-esm/Providers/AWSLexProviderHelper/utils.d.ts +3 -0
- package/lib-esm/Providers/AWSLexProviderHelper/utils.js +81 -0
- package/lib-esm/Providers/AWSLexProviderHelper/utils.js.map +1 -0
- package/lib-esm/Providers/AWSLexProviderHelper/utils.native.d.ts +3 -0
- package/lib-esm/Providers/AWSLexProviderHelper/utils.native.js +98 -0
- package/lib-esm/Providers/AWSLexProviderHelper/utils.native.js.map +1 -0
- package/lib-esm/Providers/AWSLexV2Provider.d.ts +58 -0
- package/lib-esm/Providers/AWSLexV2Provider.js +349 -0
- package/lib-esm/Providers/AWSLexV2Provider.js.map +1 -0
- package/lib-esm/Providers/index.d.ts +1 -0
- package/lib-esm/Providers/index.js +1 -0
- package/lib-esm/Providers/index.js.map +1 -1
- package/lib-esm/index.d.ts +1 -0
- package/lib-esm/index.js +1 -0
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/types/Providers/AWSLexV2Provider.d.ts +12 -0
- package/lib-esm/types/Providers/AWSLexV2Provider.js +1 -0
- package/lib-esm/types/Providers/AWSLexV2Provider.js.map +1 -0
- package/lib-esm/types/index.d.ts +1 -0
- package/package.json +8 -4
- package/src/Providers/AWSLexProvider.ts +28 -18
- package/src/Providers/AWSLexProviderHelper/commonUtils.ts +27 -0
- package/src/Providers/AWSLexProviderHelper/utils.native.ts +56 -0
- package/src/Providers/AWSLexProviderHelper/utils.ts +39 -0
- package/src/Providers/AWSLexV2Provider.ts +343 -0
- package/src/Providers/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/types/Providers/AWSLexProvider.ts +12 -0
- package/src/types/Providers/AWSLexV2Provider.ts +25 -0
- package/src/types/index.ts +1 -0
- package/lib/Providers/AWSLexProviderHelper/convert.d.ts +0 -3
- package/lib/Providers/AWSLexProviderHelper/convert.js +0 -13
- package/lib/Providers/AWSLexProviderHelper/convert.js.map +0 -1
- package/lib/Providers/AWSLexProviderHelper/convert.native.d.ts +0 -1
- package/lib/Providers/AWSLexProviderHelper/convert.native.js.map +0 -1
- package/lib-esm/Providers/AWSLexProviderHelper/convert.d.ts +0 -3
- package/lib-esm/Providers/AWSLexProviderHelper/convert.js +0 -11
- package/lib-esm/Providers/AWSLexProviderHelper/convert.js.map +0 -1
- package/lib-esm/Providers/AWSLexProviderHelper/convert.native.d.ts +0 -1
- package/lib-esm/Providers/AWSLexProviderHelper/convert.native.js.map +0 -1
- package/src/Providers/AWSLexProviderHelper/convert.native.ts +0 -13
- package/src/Providers/AWSLexProviderHelper/convert.ts +0 -12
|
@@ -0,0 +1,351 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
extendStatics(d, b);
|
|
11
|
+
function __() { this.constructor = d; }
|
|
12
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
var __assign = (this && this.__assign) || function () {
|
|
16
|
+
__assign = Object.assign || function(t) {
|
|
17
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
+
s = arguments[i];
|
|
19
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
+
t[p] = s[p];
|
|
21
|
+
}
|
|
22
|
+
return t;
|
|
23
|
+
};
|
|
24
|
+
return __assign.apply(this, arguments);
|
|
25
|
+
};
|
|
26
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
28
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
29
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
30
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
31
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
32
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
36
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
37
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
38
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
39
|
+
function step(op) {
|
|
40
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
41
|
+
while (_) try {
|
|
42
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
43
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
44
|
+
switch (op[0]) {
|
|
45
|
+
case 0: case 1: t = op; break;
|
|
46
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
47
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
48
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
49
|
+
default:
|
|
50
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
51
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
52
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
53
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
54
|
+
if (t[2]) _.ops.pop();
|
|
55
|
+
_.trys.pop(); continue;
|
|
56
|
+
}
|
|
57
|
+
op = body.call(thisArg, _);
|
|
58
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
59
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
63
|
+
/*
|
|
64
|
+
* Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
65
|
+
*
|
|
66
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
|
|
67
|
+
* the License. A copy of the License is located at
|
|
68
|
+
*
|
|
69
|
+
* http://aws.amazon.com/apache2.0/
|
|
70
|
+
*
|
|
71
|
+
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
72
|
+
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
73
|
+
* and limitations under the License.
|
|
74
|
+
*/
|
|
75
|
+
var InteractionsProvider_1 = require("./InteractionsProvider");
|
|
76
|
+
var client_lex_runtime_v2_1 = require("@aws-sdk/client-lex-runtime-v2");
|
|
77
|
+
var core_1 = require("@aws-amplify/core");
|
|
78
|
+
var utils_1 = require("./AWSLexProviderHelper/utils");
|
|
79
|
+
var commonUtils_1 = require("./AWSLexProviderHelper/commonUtils");
|
|
80
|
+
var logger = new core_1.ConsoleLogger('AWSLexV2Provider');
|
|
81
|
+
var AWSLexV2Provider = /** @class */ (function (_super) {
|
|
82
|
+
__extends(AWSLexV2Provider, _super);
|
|
83
|
+
/**
|
|
84
|
+
* Initialize Interactions with AWS configurations
|
|
85
|
+
* @param {InteractionsOptions} options - Configuration object for Interactions
|
|
86
|
+
*/
|
|
87
|
+
function AWSLexV2Provider(options) {
|
|
88
|
+
if (options === void 0) { options = {}; }
|
|
89
|
+
var _this = _super.call(this, options) || this;
|
|
90
|
+
_this._botsCompleteCallback = {};
|
|
91
|
+
return _this;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* get provider name of the plugin
|
|
95
|
+
* @returns {string} name of the provider
|
|
96
|
+
*/
|
|
97
|
+
AWSLexV2Provider.prototype.getProviderName = function () {
|
|
98
|
+
return 'AWSLexV2Provider';
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Configure Interactions part with aws configuration
|
|
102
|
+
* @param {AWSLexV2ProviderOptions} config - Configuration of the Interactions
|
|
103
|
+
* @return {AWSLexV2ProviderOptions} - Current configuration
|
|
104
|
+
*/
|
|
105
|
+
AWSLexV2Provider.prototype.configure = function (config) {
|
|
106
|
+
if (config === void 0) { config = {}; }
|
|
107
|
+
var propertiesToTest = [
|
|
108
|
+
'name',
|
|
109
|
+
'botId',
|
|
110
|
+
'aliasId',
|
|
111
|
+
'localeId',
|
|
112
|
+
'providerName',
|
|
113
|
+
'region',
|
|
114
|
+
];
|
|
115
|
+
Object.keys(config).forEach(function (botKey) {
|
|
116
|
+
var botConfig = config[botKey];
|
|
117
|
+
// is bot config correct
|
|
118
|
+
if (!propertiesToTest.every(function (x) { return x in botConfig; })) {
|
|
119
|
+
throw new Error('invalid bot configuration');
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return _super.prototype.configure.call(this, config);
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Send a message to a bot
|
|
126
|
+
* @async
|
|
127
|
+
* @param {string} botname - Bot name to send the message
|
|
128
|
+
* @param {string | InteractionsMessage} message - message to send to the bot
|
|
129
|
+
* @return {Promise<InteractionsResponse>} A promise resolves to the response from the bot
|
|
130
|
+
*/
|
|
131
|
+
AWSLexV2Provider.prototype.sendMessage = function (botname, message) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
133
|
+
var credentials, error_1, response, reqBaseParams;
|
|
134
|
+
return __generator(this, function (_a) {
|
|
135
|
+
switch (_a.label) {
|
|
136
|
+
case 0:
|
|
137
|
+
// check if bot exists
|
|
138
|
+
if (!this._config[botname]) {
|
|
139
|
+
return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];
|
|
140
|
+
}
|
|
141
|
+
_a.label = 1;
|
|
142
|
+
case 1:
|
|
143
|
+
_a.trys.push([1, 3, , 4]);
|
|
144
|
+
return [4 /*yield*/, core_1.Credentials.get()];
|
|
145
|
+
case 2:
|
|
146
|
+
credentials = _a.sent();
|
|
147
|
+
return [3 /*break*/, 4];
|
|
148
|
+
case 3:
|
|
149
|
+
error_1 = _a.sent();
|
|
150
|
+
return [2 /*return*/, Promise.reject('No credentials')];
|
|
151
|
+
case 4:
|
|
152
|
+
this._lexRuntimeServiceV2Client = new client_lex_runtime_v2_1.LexRuntimeV2Client({
|
|
153
|
+
region: this._config[botname].region,
|
|
154
|
+
credentials: credentials,
|
|
155
|
+
customUserAgent: core_1.getAmplifyUserAgent(),
|
|
156
|
+
});
|
|
157
|
+
reqBaseParams = {
|
|
158
|
+
botAliasId: this._config[botname].aliasId,
|
|
159
|
+
botId: this._config[botname].botId,
|
|
160
|
+
localeId: this._config[botname].localeId,
|
|
161
|
+
sessionId: credentials.identityId,
|
|
162
|
+
};
|
|
163
|
+
if (!(typeof message === 'string')) return [3 /*break*/, 6];
|
|
164
|
+
return [4 /*yield*/, this._handleRecognizeTextCommand(botname, message, reqBaseParams)];
|
|
165
|
+
case 5:
|
|
166
|
+
response = _a.sent();
|
|
167
|
+
return [3 /*break*/, 8];
|
|
168
|
+
case 6: return [4 /*yield*/, this._handleRecognizeUtteranceCommand(botname, message, reqBaseParams)];
|
|
169
|
+
case 7:
|
|
170
|
+
response = _a.sent();
|
|
171
|
+
_a.label = 8;
|
|
172
|
+
case 8: return [2 /*return*/, response];
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Attach a onComplete callback function to a bot.
|
|
179
|
+
* The callback is called once the bot's intent is fulfilled
|
|
180
|
+
* @param {string} botname - Bot name to attach the onComplete callback
|
|
181
|
+
* @param {(err: Error | null, confirmation: InteractionsResponse) => void} callback - called when Intent Fulfilled
|
|
182
|
+
*/
|
|
183
|
+
AWSLexV2Provider.prototype.onComplete = function (botname, callback) {
|
|
184
|
+
// does bot exist
|
|
185
|
+
if (!this._config[botname]) {
|
|
186
|
+
throw new Error('Bot ' + botname + ' does not exist');
|
|
187
|
+
}
|
|
188
|
+
this._botsCompleteCallback[botname] = callback;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* @private
|
|
192
|
+
* call onComplete callback for a bot if configured
|
|
193
|
+
*/
|
|
194
|
+
AWSLexV2Provider.prototype._reportBotStatus = function (data, botname) {
|
|
195
|
+
var _this = this;
|
|
196
|
+
var _a, _b, _c, _d, _e, _f;
|
|
197
|
+
var sessionState = data === null || data === void 0 ? void 0 : data.sessionState;
|
|
198
|
+
// Check if state is fulfilled to resolve onFullfilment promise
|
|
199
|
+
logger.debug('postContent state', (_a = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _a === void 0 ? void 0 : _a.state);
|
|
200
|
+
var isConfigOnCompleteAttached = typeof ((_b = this._config) === null || _b === void 0 ? void 0 : _b[botname].onComplete) === 'function';
|
|
201
|
+
var isApiOnCompleteAttached = typeof ((_c = this._botsCompleteCallback) === null || _c === void 0 ? void 0 : _c[botname]) === 'function';
|
|
202
|
+
// no onComplete callbacks added
|
|
203
|
+
if (!isConfigOnCompleteAttached && !isApiOnCompleteAttached)
|
|
204
|
+
return;
|
|
205
|
+
if (((_d = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _d === void 0 ? void 0 : _d.state) === 'ReadyForFulfillment' ||
|
|
206
|
+
((_e = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _e === void 0 ? void 0 : _e.state) === 'Fulfilled') {
|
|
207
|
+
if (isApiOnCompleteAttached) {
|
|
208
|
+
setTimeout(function () { var _a; return (_a = _this._botsCompleteCallback) === null || _a === void 0 ? void 0 : _a[botname](null, data); }, 0);
|
|
209
|
+
}
|
|
210
|
+
if (isConfigOnCompleteAttached) {
|
|
211
|
+
setTimeout(function () { return _this._config[botname].onComplete(null, data); }, 0);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (((_f = sessionState === null || sessionState === void 0 ? void 0 : sessionState.intent) === null || _f === void 0 ? void 0 : _f.state) === 'Failed') {
|
|
215
|
+
var error_2 = new Error('Bot conversation failed');
|
|
216
|
+
if (isApiOnCompleteAttached) {
|
|
217
|
+
setTimeout(function () { return _this._botsCompleteCallback[botname](error_2); }, 0);
|
|
218
|
+
}
|
|
219
|
+
if (isConfigOnCompleteAttached) {
|
|
220
|
+
setTimeout(function () { return _this._config[botname].onComplete(error_2); }, 0);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* Format UtteranceCommandOutput's response
|
|
226
|
+
* decompress attributes
|
|
227
|
+
* update audioStream format
|
|
228
|
+
*/
|
|
229
|
+
AWSLexV2Provider.prototype._formatUtteranceCommandOutput = function (data) {
|
|
230
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
231
|
+
var response, _a, _b, _c;
|
|
232
|
+
return __generator(this, function (_d) {
|
|
233
|
+
switch (_d.label) {
|
|
234
|
+
case 0:
|
|
235
|
+
_a = [__assign({}, data)];
|
|
236
|
+
_b = {};
|
|
237
|
+
return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.messages)];
|
|
238
|
+
case 1:
|
|
239
|
+
_b.messages = _d.sent();
|
|
240
|
+
return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.sessionState)];
|
|
241
|
+
case 2:
|
|
242
|
+
_b.sessionState = _d.sent();
|
|
243
|
+
return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.interpretations)];
|
|
244
|
+
case 3:
|
|
245
|
+
_b.interpretations = _d.sent();
|
|
246
|
+
return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.requestAttributes)];
|
|
247
|
+
case 4:
|
|
248
|
+
_b.requestAttributes = _d.sent();
|
|
249
|
+
return [4 /*yield*/, commonUtils_1.unGzipBase64AsJson(data.inputTranscript)];
|
|
250
|
+
case 5:
|
|
251
|
+
_b.inputTranscript = _d.sent();
|
|
252
|
+
if (!data.audioStream) return [3 /*break*/, 7];
|
|
253
|
+
return [4 /*yield*/, utils_1.convert(data.audioStream)];
|
|
254
|
+
case 6:
|
|
255
|
+
_c = _d.sent();
|
|
256
|
+
return [3 /*break*/, 8];
|
|
257
|
+
case 7:
|
|
258
|
+
_c = undefined;
|
|
259
|
+
_d.label = 8;
|
|
260
|
+
case 8:
|
|
261
|
+
response = __assign.apply(void 0, _a.concat([(_b.audioStream = _c, _b)]));
|
|
262
|
+
return [2 /*return*/, response];
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
});
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* handle client's `RecognizeTextCommand`
|
|
269
|
+
* used for sending simple text message
|
|
270
|
+
*/
|
|
271
|
+
AWSLexV2Provider.prototype._handleRecognizeTextCommand = function (botname, data, baseParams) {
|
|
272
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
273
|
+
var params, recognizeTextCommand, data_1, err_1;
|
|
274
|
+
return __generator(this, function (_a) {
|
|
275
|
+
switch (_a.label) {
|
|
276
|
+
case 0:
|
|
277
|
+
logger.debug('postText to lex2', data);
|
|
278
|
+
params = __assign(__assign({}, baseParams), { text: data });
|
|
279
|
+
_a.label = 1;
|
|
280
|
+
case 1:
|
|
281
|
+
_a.trys.push([1, 3, , 4]);
|
|
282
|
+
recognizeTextCommand = new client_lex_runtime_v2_1.RecognizeTextCommand(params);
|
|
283
|
+
return [4 /*yield*/, this._lexRuntimeServiceV2Client.send(recognizeTextCommand)];
|
|
284
|
+
case 2:
|
|
285
|
+
data_1 = _a.sent();
|
|
286
|
+
this._reportBotStatus(data_1, botname);
|
|
287
|
+
return [2 /*return*/, data_1];
|
|
288
|
+
case 3:
|
|
289
|
+
err_1 = _a.sent();
|
|
290
|
+
return [2 /*return*/, Promise.reject(err_1)];
|
|
291
|
+
case 4: return [2 /*return*/];
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
});
|
|
295
|
+
};
|
|
296
|
+
/**
|
|
297
|
+
* handle client's `RecognizeUtteranceCommand`
|
|
298
|
+
* used for obj text or obj voice message
|
|
299
|
+
*/
|
|
300
|
+
AWSLexV2Provider.prototype._handleRecognizeUtteranceCommand = function (botname, data, baseParams) {
|
|
301
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
302
|
+
var content, messageType, params, inputStream, _a, recognizeUtteranceCommand, data_2, response, err_2;
|
|
303
|
+
return __generator(this, function (_b) {
|
|
304
|
+
switch (_b.label) {
|
|
305
|
+
case 0:
|
|
306
|
+
content = data.content, messageType = data.options.messageType;
|
|
307
|
+
logger.debug('postContent to lex2', data);
|
|
308
|
+
if (!(messageType === 'voice')) return [3 /*break*/, 4];
|
|
309
|
+
if (typeof content !== 'object') {
|
|
310
|
+
return [2 /*return*/, Promise.reject('invalid content type')];
|
|
311
|
+
}
|
|
312
|
+
if (!(content instanceof Uint8Array)) return [3 /*break*/, 1];
|
|
313
|
+
_a = content;
|
|
314
|
+
return [3 /*break*/, 3];
|
|
315
|
+
case 1: return [4 /*yield*/, utils_1.convert(content)];
|
|
316
|
+
case 2:
|
|
317
|
+
_a = _b.sent();
|
|
318
|
+
_b.label = 3;
|
|
319
|
+
case 3:
|
|
320
|
+
inputStream = _a;
|
|
321
|
+
params = __assign(__assign({}, baseParams), { requestContentType: 'audio/x-l16; sample-rate=16000; channel-count=1', inputStream: inputStream });
|
|
322
|
+
return [3 /*break*/, 5];
|
|
323
|
+
case 4:
|
|
324
|
+
// text input
|
|
325
|
+
if (typeof content !== 'string')
|
|
326
|
+
return [2 /*return*/, Promise.reject('invalid content type')];
|
|
327
|
+
params = __assign(__assign({}, baseParams), { requestContentType: 'text/plain; charset=utf-8', inputStream: content });
|
|
328
|
+
_b.label = 5;
|
|
329
|
+
case 5:
|
|
330
|
+
_b.trys.push([5, 8, , 9]);
|
|
331
|
+
recognizeUtteranceCommand = new client_lex_runtime_v2_1.RecognizeUtteranceCommand(params);
|
|
332
|
+
return [4 /*yield*/, this._lexRuntimeServiceV2Client.send(recognizeUtteranceCommand)];
|
|
333
|
+
case 6:
|
|
334
|
+
data_2 = _b.sent();
|
|
335
|
+
return [4 /*yield*/, this._formatUtteranceCommandOutput(data_2)];
|
|
336
|
+
case 7:
|
|
337
|
+
response = _b.sent();
|
|
338
|
+
this._reportBotStatus(response, botname);
|
|
339
|
+
return [2 /*return*/, response];
|
|
340
|
+
case 8:
|
|
341
|
+
err_2 = _b.sent();
|
|
342
|
+
return [2 /*return*/, Promise.reject(err_2)];
|
|
343
|
+
case 9: return [2 /*return*/];
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
});
|
|
347
|
+
};
|
|
348
|
+
return AWSLexV2Provider;
|
|
349
|
+
}(InteractionsProvider_1.AbstractInteractionsProvider));
|
|
350
|
+
exports.AWSLexV2Provider = AWSLexV2Provider;
|
|
351
|
+
//# sourceMappingURL=AWSLexV2Provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AWSLexV2Provider.js","sourceRoot":"","sources":["../../src/Providers/AWSLexV2Provider.ts"],"names":[],"mappings":"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"}
|
package/lib/Providers/index.d.ts
CHANGED
package/lib/Providers/index.js
CHANGED
|
@@ -16,5 +16,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
16
16
|
* and limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
__export(require("./AWSLexProvider"));
|
|
19
|
+
__export(require("./AWSLexV2Provider"));
|
|
19
20
|
__export(require("./InteractionsProvider"));
|
|
20
21
|
//# 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,sCAAiC;AACjC,wCAAmC;AACnC,4CAAuC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -23,4 +23,5 @@ exports.Interactions = Interactions_1.Interactions;
|
|
|
23
23
|
exports.default = Interactions_1.Interactions;
|
|
24
24
|
__export(require("./Providers/InteractionsProvider"));
|
|
25
25
|
__export(require("./Providers/AWSLexProvider"));
|
|
26
|
+
__export(require("./Providers/AWSLexV2Provider"));
|
|
26
27
|
//# 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;
|
|
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,sDAAiD;AACjD,gDAA2C;AAC3C,kDAA6C"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"AWSLexV2Provider.js","sourceRoot":"","sources":["../../../src/types/Providers/AWSLexV2Provider.ts"],"names":[],"mappings":""}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import { AbstractInteractionsProvider } from './InteractionsProvider';
|
|
2
2
|
import { InteractionsOptions, AWSLexProviderOptions, InteractionsResponse, InteractionsMessage } from '../types';
|
|
3
3
|
import { PostTextCommandOutput, PostContentCommandOutput } from '@aws-sdk/client-lex-runtime-service';
|
|
4
|
+
interface PostContentCommandOutputFormatted extends Omit<PostContentCommandOutput, 'audioStream'> {
|
|
5
|
+
audioStream?: Uint8Array;
|
|
6
|
+
}
|
|
7
|
+
declare type AWSLexProviderSendResponse = PostTextCommandOutput | PostContentCommandOutputFormatted;
|
|
4
8
|
export declare class AWSLexProvider extends AbstractInteractionsProvider {
|
|
5
9
|
private lexRuntimeServiceClient;
|
|
6
10
|
private _botsCompleteCallback;
|
|
7
11
|
constructor(options?: InteractionsOptions);
|
|
8
12
|
getProviderName(): string;
|
|
9
13
|
configure(config?: AWSLexProviderOptions): AWSLexProviderOptions;
|
|
10
|
-
|
|
14
|
+
/**
|
|
15
|
+
* @private
|
|
16
|
+
* @deprecated
|
|
17
|
+
* This is used internally by 'sendMessage' to call onComplete callback
|
|
18
|
+
* for a bot if configured
|
|
19
|
+
*/
|
|
20
|
+
reportBotStatus(data: AWSLexProviderSendResponse, botname: string): void;
|
|
11
21
|
sendMessage(botname: string, message: string | InteractionsMessage): Promise<InteractionsResponse>;
|
|
12
22
|
onComplete(botname: string, callback: (err: any, confirmation: any) => void): void;
|
|
13
23
|
}
|
|
24
|
+
export {};
|
|
@@ -73,7 +73,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
73
73
|
import { AbstractInteractionsProvider } from './InteractionsProvider';
|
|
74
74
|
import { LexRuntimeServiceClient, PostTextCommand, PostContentCommand, } from '@aws-sdk/client-lex-runtime-service';
|
|
75
75
|
import { ConsoleLogger as Logger, Credentials, getAmplifyUserAgent, } from '@aws-amplify/core';
|
|
76
|
-
import { convert } from './AWSLexProviderHelper/
|
|
76
|
+
import { convert } from './AWSLexProviderHelper/utils';
|
|
77
77
|
var logger = new Logger('AWSLexProvider');
|
|
78
78
|
var AWSLexProvider = /** @class */ (function (_super) {
|
|
79
79
|
__extends(AWSLexProvider, _super);
|
|
@@ -98,6 +98,12 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
98
98
|
});
|
|
99
99
|
return _super.prototype.configure.call(this, config);
|
|
100
100
|
};
|
|
101
|
+
/**
|
|
102
|
+
* @private
|
|
103
|
+
* @deprecated
|
|
104
|
+
* This is used internally by 'sendMessage' to call onComplete callback
|
|
105
|
+
* for a bot if configured
|
|
106
|
+
*/
|
|
101
107
|
AWSLexProvider.prototype.reportBotStatus = function (data, botname) {
|
|
102
108
|
var _this = this;
|
|
103
109
|
// Check if state is fulfilled to resolve onFullfilment promise
|
|
@@ -105,13 +111,11 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
105
111
|
if (data.dialogState === 'ReadyForFulfillment' ||
|
|
106
112
|
data.dialogState === 'Fulfilled') {
|
|
107
113
|
if (typeof this._botsCompleteCallback[botname] === 'function') {
|
|
108
|
-
setTimeout(function () {
|
|
109
|
-
return _this._botsCompleteCallback[botname](null, { slots: data.slots });
|
|
110
|
-
}, 0);
|
|
114
|
+
setTimeout(function () { return _this._botsCompleteCallback[botname](null, data); }, 0);
|
|
111
115
|
}
|
|
112
116
|
if (this._config &&
|
|
113
117
|
typeof this._config[botname].onComplete === 'function') {
|
|
114
|
-
setTimeout(function () { return _this._config[botname].onComplete(null,
|
|
118
|
+
setTimeout(function () { return _this._config[botname].onComplete(null, data); }, 0);
|
|
115
119
|
}
|
|
116
120
|
}
|
|
117
121
|
if (data.dialogState === 'Failed') {
|
|
@@ -126,7 +130,7 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
126
130
|
};
|
|
127
131
|
AWSLexProvider.prototype.sendMessage = function (botname, message) {
|
|
128
132
|
return __awaiter(this, void 0, void 0, function () {
|
|
129
|
-
var credentials, error_1, params, postTextCommand, data, err_1, content, messageType, _a, postContentCommand, data, audioArray, _b, err_2;
|
|
133
|
+
var credentials, error_1, params, postTextCommand, data, err_1, content, messageType, inputStream, _a, postContentCommand, data, audioArray, _b, response, err_2;
|
|
130
134
|
return __generator(this, function (_c) {
|
|
131
135
|
switch (_c.label) {
|
|
132
136
|
case 0:
|
|
@@ -170,25 +174,32 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
170
174
|
case 7:
|
|
171
175
|
err_1 = _c.sent();
|
|
172
176
|
return [2 /*return*/, Promise.reject(err_1)];
|
|
173
|
-
case 8: return [3 /*break*/,
|
|
177
|
+
case 8: return [3 /*break*/, 21];
|
|
174
178
|
case 9:
|
|
175
179
|
content = message.content, messageType = message.options.messageType;
|
|
176
|
-
if (!(messageType === 'voice')) return [3 /*break*/,
|
|
177
|
-
if (
|
|
180
|
+
if (!(messageType === 'voice')) return [3 /*break*/, 13];
|
|
181
|
+
if (typeof content !== 'object') {
|
|
178
182
|
return [2 /*return*/, Promise.reject('invalid content type')];
|
|
179
|
-
|
|
183
|
+
}
|
|
184
|
+
if (!(content instanceof Uint8Array)) return [3 /*break*/, 10];
|
|
185
|
+
_a = content;
|
|
186
|
+
return [3 /*break*/, 12];
|
|
187
|
+
case 10: return [4 /*yield*/, convert(content)];
|
|
188
|
+
case 11:
|
|
189
|
+
_a = _c.sent();
|
|
190
|
+
_c.label = 12;
|
|
191
|
+
case 12:
|
|
192
|
+
inputStream = _a;
|
|
193
|
+
params = {
|
|
180
194
|
botAlias: this._config[botname].alias,
|
|
181
195
|
botName: botname,
|
|
182
|
-
contentType: 'audio/x-l16; sample-rate=16000; channel-count=1'
|
|
196
|
+
contentType: 'audio/x-l16; sample-rate=16000; channel-count=1',
|
|
197
|
+
userId: credentials.identityId,
|
|
198
|
+
accept: 'audio/mpeg',
|
|
199
|
+
inputStream: inputStream,
|
|
183
200
|
};
|
|
184
|
-
return [
|
|
185
|
-
case
|
|
186
|
-
params = (_a.inputStream = _c.sent(),
|
|
187
|
-
_a.userId = credentials.identityId,
|
|
188
|
-
_a.accept = 'audio/mpeg',
|
|
189
|
-
_a);
|
|
190
|
-
return [3 /*break*/, 12];
|
|
191
|
-
case 11:
|
|
201
|
+
return [3 /*break*/, 14];
|
|
202
|
+
case 13:
|
|
192
203
|
if (typeof content !== 'string')
|
|
193
204
|
return [2 /*return*/, Promise.reject('invalid content type')];
|
|
194
205
|
params = {
|
|
@@ -199,32 +210,33 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
199
210
|
userId: credentials.identityId,
|
|
200
211
|
accept: 'audio/mpeg',
|
|
201
212
|
};
|
|
202
|
-
_c.label =
|
|
203
|
-
case
|
|
213
|
+
_c.label = 14;
|
|
214
|
+
case 14:
|
|
204
215
|
logger.debug('postContent to lex', message);
|
|
205
|
-
_c.label =
|
|
206
|
-
case
|
|
207
|
-
_c.trys.push([
|
|
216
|
+
_c.label = 15;
|
|
217
|
+
case 15:
|
|
218
|
+
_c.trys.push([15, 20, , 21]);
|
|
208
219
|
postContentCommand = new PostContentCommand(params);
|
|
209
220
|
return [4 /*yield*/, this.lexRuntimeServiceClient.send(postContentCommand)];
|
|
210
|
-
case
|
|
221
|
+
case 16:
|
|
211
222
|
data = _c.sent();
|
|
212
|
-
if (!data.audioStream) return [3 /*break*/,
|
|
223
|
+
if (!data.audioStream) return [3 /*break*/, 18];
|
|
213
224
|
return [4 /*yield*/, convert(data.audioStream)];
|
|
214
|
-
case
|
|
225
|
+
case 17:
|
|
215
226
|
_b = _c.sent();
|
|
216
|
-
return [3 /*break*/,
|
|
217
|
-
case
|
|
227
|
+
return [3 /*break*/, 19];
|
|
228
|
+
case 18:
|
|
218
229
|
_b = undefined;
|
|
219
|
-
_c.label =
|
|
220
|
-
case
|
|
230
|
+
_c.label = 19;
|
|
231
|
+
case 19:
|
|
221
232
|
audioArray = _b;
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
233
|
+
response = __assign(__assign({}, data), { audioStream: audioArray });
|
|
234
|
+
this.reportBotStatus(response, botname);
|
|
235
|
+
return [2 /*return*/, response];
|
|
236
|
+
case 20:
|
|
225
237
|
err_2 = _c.sent();
|
|
226
238
|
return [2 /*return*/, Promise.reject(err_2)];
|
|
227
|
-
case
|
|
239
|
+
case 21: return [2 /*return*/];
|
|
228
240
|
}
|
|
229
241
|
});
|
|
230
242
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLexProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSLexProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAOtE,OAAO,EACN,uBAAuB,EACvB,eAAe,EAGf,kBAAkB,GAGlB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,aAAa,IAAI,MAAM,EACvB,WAAW,EACX,mBAAmB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"AWSLexProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSLexProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const unGzipBase64AsJson: (gzipBase64: string) => Promise<any>;
|