@aws-amplify/interactions 4.0.48 → 4.0.49-next.13
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 +78 -0
- package/dist/aws-amplify-interactions.js +25945 -6010
- package/dist/aws-amplify-interactions.js.map +1 -1
- package/dist/aws-amplify-interactions.min.js +64 -4
- package/dist/aws-amplify-interactions.min.js.map +1 -1
- package/lib/Interactions.d.ts +2 -2
- package/lib/Interactions.js +37 -18
- package/lib/Interactions.js.map +1 -1
- package/lib/Providers/AWSLexProvider.d.ts +16 -3
- package/lib/Providers/AWSLexProvider.js +114 -68
- 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 +2 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/types/Provider.d.ts +2 -1
- package/lib/types/Providers/AWSLexProvider.d.ts +10 -0
- package/lib/types/Providers/AWSLexProvider.js +3 -0
- package/lib/types/Providers/AWSLexProvider.js.map +1 -0
- 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 +2 -0
- package/lib-esm/Interactions.d.ts +2 -2
- package/lib-esm/Interactions.js +37 -18
- package/lib-esm/Interactions.js.map +1 -1
- package/lib-esm/Providers/AWSLexProvider.d.ts +16 -3
- package/lib-esm/Providers/AWSLexProvider.js +113 -67
- 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 +2 -0
- package/lib-esm/index.js +2 -0
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/types/Provider.d.ts +2 -1
- package/lib-esm/types/Providers/AWSLexProvider.d.ts +10 -0
- package/lib-esm/types/Providers/AWSLexProvider.js +1 -0
- package/lib-esm/types/Providers/AWSLexProvider.js.map +1 -0
- 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 +2 -0
- package/package.json +8 -4
- package/src/Interactions.ts +43 -21
- package/src/Providers/AWSLexProvider.ts +70 -23
- 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 +2 -0
- package/src/types/Provider.ts +1 -1
- package/src/types/Providers/AWSLexProvider.ts +23 -0
- package/src/types/Providers/AWSLexV2Provider.ts +25 -0
- package/src/types/index.ts +2 -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
package/lib-esm/Interactions.js
CHANGED
|
@@ -55,6 +55,7 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
55
55
|
* @param {InteractionsOptions} options - Configuration object for Interactions
|
|
56
56
|
*/
|
|
57
57
|
function InteractionsClass(options) {
|
|
58
|
+
if (options === void 0) { options = {}; }
|
|
58
59
|
this._options = options;
|
|
59
60
|
logger.debug('Interactions Options', this._options);
|
|
60
61
|
this._pluggables = {};
|
|
@@ -65,7 +66,7 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
65
66
|
/**
|
|
66
67
|
*
|
|
67
68
|
* @param {InteractionsOptions} options - Configuration object for Interactions
|
|
68
|
-
* @return {
|
|
69
|
+
* @return {InteractionsOptions} - The current configuration
|
|
69
70
|
*/
|
|
70
71
|
InteractionsClass.prototype.configure = function (options) {
|
|
71
72
|
var _this = this;
|
|
@@ -82,28 +83,46 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
82
83
|
});
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
|
-
//
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
// configure bots to their specific providers
|
|
87
|
+
Object.keys(bots_config).forEach(function (botKey) {
|
|
88
|
+
var _a;
|
|
89
|
+
var bot = bots_config[botKey];
|
|
90
|
+
var providerName = bot.providerName || 'AWSLexProvider';
|
|
91
|
+
// add default provider if required
|
|
92
|
+
if (!_this._pluggables.AWSLexProvider &&
|
|
93
|
+
providerName === 'AWSLexProvider') {
|
|
94
|
+
_this._pluggables.AWSLexProvider = new AWSLexProvider();
|
|
95
|
+
}
|
|
96
|
+
// configure bot with it's respective provider
|
|
97
|
+
if (_this._pluggables[providerName]) {
|
|
98
|
+
_this._pluggables[providerName].configure((_a = {}, _a[bot.name] = bot, _a));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
logger.debug("bot " + bot.name + " was not configured as " + providerName + " provider was not found");
|
|
102
|
+
}
|
|
95
103
|
});
|
|
96
104
|
return this._options;
|
|
97
105
|
};
|
|
98
106
|
InteractionsClass.prototype.addPluggable = function (pluggable) {
|
|
107
|
+
var _this = this;
|
|
99
108
|
if (pluggable && pluggable.getCategory() === 'Interactions') {
|
|
100
109
|
if (!this._pluggables[pluggable.getProviderName()]) {
|
|
101
|
-
|
|
110
|
+
// configure bots for the new plugin
|
|
111
|
+
Object.keys(this._options.bots)
|
|
112
|
+
.filter(function (botKey) {
|
|
113
|
+
return _this._options.bots[botKey].providerName ===
|
|
114
|
+
pluggable.getProviderName();
|
|
115
|
+
})
|
|
116
|
+
.forEach(function (botKey) {
|
|
117
|
+
var _a;
|
|
118
|
+
var bot = _this._options.bots[botKey];
|
|
119
|
+
pluggable.configure((_a = {}, _a[bot.name] = bot, _a));
|
|
120
|
+
});
|
|
102
121
|
this._pluggables[pluggable.getProviderName()] = pluggable;
|
|
103
122
|
return;
|
|
104
123
|
}
|
|
105
124
|
else {
|
|
106
|
-
throw new Error('
|
|
125
|
+
throw new Error('Pluggable ' + pluggable.getProviderName() + ' already plugged');
|
|
107
126
|
}
|
|
108
127
|
}
|
|
109
128
|
};
|
|
@@ -114,13 +133,13 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
114
133
|
switch (_a.label) {
|
|
115
134
|
case 0:
|
|
116
135
|
if (!this._options.bots || !this._options.bots[botname]) {
|
|
117
|
-
|
|
136
|
+
return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];
|
|
118
137
|
}
|
|
119
138
|
botProvider = this._options.bots[botname].providerName || 'AWSLexProvider';
|
|
120
139
|
if (!this._pluggables[botProvider]) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
140
|
+
return [2 /*return*/, Promise.reject('Bot ' +
|
|
141
|
+
botProvider +
|
|
142
|
+
' does not have valid pluggin did you try addPluggable first?')];
|
|
124
143
|
}
|
|
125
144
|
return [4 /*yield*/, this._pluggables[botProvider].sendMessage(botname, message)];
|
|
126
145
|
case 1: return [2 /*return*/, _a.sent()];
|
|
@@ -143,6 +162,6 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
143
162
|
return InteractionsClass;
|
|
144
163
|
}());
|
|
145
164
|
export { InteractionsClass };
|
|
146
|
-
export var Interactions = new InteractionsClass(
|
|
165
|
+
export var Interactions = new InteractionsClass();
|
|
147
166
|
Amplify.register(Interactions);
|
|
148
167
|
//# sourceMappingURL=Interactions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Interactions.js","sourceRoot":"","sources":["../src/Interactions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,EAAE,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;AAE1C;IAKC;;;;OAIG;IACH,2BAAY,
|
|
1
|
+
{"version":3,"file":"Interactions.js","sourceRoot":"","sources":["../src/Interactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import { AbstractInteractionsProvider } from './InteractionsProvider';
|
|
2
|
-
import { InteractionsOptions, InteractionsResponse, InteractionsMessage } from '../types';
|
|
2
|
+
import { InteractionsOptions, AWSLexProviderOptions, InteractionsResponse, InteractionsMessage } from '../types';
|
|
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;
|
|
3
8
|
export declare class AWSLexProvider extends AbstractInteractionsProvider {
|
|
4
9
|
private lexRuntimeServiceClient;
|
|
5
10
|
private _botsCompleteCallback;
|
|
6
11
|
constructor(options?: InteractionsOptions);
|
|
7
12
|
getProviderName(): string;
|
|
8
|
-
|
|
13
|
+
configure(config?: AWSLexProviderOptions): AWSLexProviderOptions;
|
|
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;
|
|
9
21
|
sendMessage(botname: string, message: string | InteractionsMessage): Promise<InteractionsResponse>;
|
|
10
|
-
onComplete(botname: string, callback: any): void;
|
|
22
|
+
onComplete(botname: string, callback: (err: any, confirmation: any) => void): void;
|
|
11
23
|
}
|
|
24
|
+
export {};
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
|
|
5
|
-
* the License. A copy of the License is located at
|
|
6
|
-
*
|
|
7
|
-
* http://aws.amazon.com/apache2.0/
|
|
8
|
-
*
|
|
9
|
-
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
10
|
-
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
11
|
-
* and limitations under the License.
|
|
12
|
-
*/
|
|
13
1
|
var __extends = (this && this.__extends) || (function () {
|
|
14
2
|
var extendStatics = function (d, b) {
|
|
15
3
|
extendStatics = Object.setPrototypeOf ||
|
|
@@ -70,10 +58,22 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
70
58
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
71
59
|
}
|
|
72
60
|
};
|
|
61
|
+
/*
|
|
62
|
+
* Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
63
|
+
*
|
|
64
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
|
|
65
|
+
* the License. A copy of the License is located at
|
|
66
|
+
*
|
|
67
|
+
* http://aws.amazon.com/apache2.0/
|
|
68
|
+
*
|
|
69
|
+
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
70
|
+
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
71
|
+
* and limitations under the License.
|
|
72
|
+
*/
|
|
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);
|
|
@@ -86,6 +86,24 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
86
86
|
AWSLexProvider.prototype.getProviderName = function () {
|
|
87
87
|
return 'AWSLexProvider';
|
|
88
88
|
};
|
|
89
|
+
AWSLexProvider.prototype.configure = function (config) {
|
|
90
|
+
if (config === void 0) { config = {}; }
|
|
91
|
+
var propertiesToTest = ['name', 'alias', 'region'];
|
|
92
|
+
Object.keys(config).forEach(function (botKey) {
|
|
93
|
+
var botConfig = config[botKey];
|
|
94
|
+
// is bot config correct
|
|
95
|
+
if (!propertiesToTest.every(function (x) { return x in botConfig; })) {
|
|
96
|
+
throw new Error('invalid bot configuration');
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
return _super.prototype.configure.call(this, config);
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* @private
|
|
103
|
+
* @deprecated
|
|
104
|
+
* This is used internally by 'sendMessage' to call onComplete callback
|
|
105
|
+
* for a bot if configured
|
|
106
|
+
*/
|
|
89
107
|
AWSLexProvider.prototype.reportBotStatus = function (data, botname) {
|
|
90
108
|
var _this = this;
|
|
91
109
|
// Check if state is fulfilled to resolve onFullfilment promise
|
|
@@ -93,13 +111,11 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
93
111
|
if (data.dialogState === 'ReadyForFulfillment' ||
|
|
94
112
|
data.dialogState === 'Fulfilled') {
|
|
95
113
|
if (typeof this._botsCompleteCallback[botname] === 'function') {
|
|
96
|
-
setTimeout(function () {
|
|
97
|
-
return _this._botsCompleteCallback[botname](null, { slots: data.slots });
|
|
98
|
-
}, 0);
|
|
114
|
+
setTimeout(function () { return _this._botsCompleteCallback[botname](null, data); }, 0);
|
|
99
115
|
}
|
|
100
116
|
if (this._config &&
|
|
101
117
|
typeof this._config[botname].onComplete === 'function') {
|
|
102
|
-
setTimeout(function () { return _this._config[botname].onComplete(null,
|
|
118
|
+
setTimeout(function () { return _this._config[botname].onComplete(null, data); }, 0);
|
|
103
119
|
}
|
|
104
120
|
}
|
|
105
121
|
if (data.dialogState === 'Failed') {
|
|
@@ -114,25 +130,31 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
114
130
|
};
|
|
115
131
|
AWSLexProvider.prototype.sendMessage = function (botname, message) {
|
|
116
132
|
return __awaiter(this, void 0, void 0, function () {
|
|
117
|
-
var credentials, params, postTextCommand, data, err_1, content, messageType, postContentCommand, data, audioArray, err_2;
|
|
118
|
-
return __generator(this, function (
|
|
119
|
-
switch (
|
|
133
|
+
var credentials, error_1, params, postTextCommand, data, err_1, content, messageType, inputStream, _a, postContentCommand, data, audioArray, _b, response, err_2;
|
|
134
|
+
return __generator(this, function (_c) {
|
|
135
|
+
switch (_c.label) {
|
|
120
136
|
case 0:
|
|
137
|
+
// check if bot exists
|
|
121
138
|
if (!this._config[botname]) {
|
|
122
139
|
return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];
|
|
123
140
|
}
|
|
124
|
-
|
|
141
|
+
_c.label = 1;
|
|
125
142
|
case 1:
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
143
|
+
_c.trys.push([1, 3, , 4]);
|
|
144
|
+
return [4 /*yield*/, Credentials.get()];
|
|
145
|
+
case 2:
|
|
146
|
+
credentials = _c.sent();
|
|
147
|
+
return [3 /*break*/, 4];
|
|
148
|
+
case 3:
|
|
149
|
+
error_1 = _c.sent();
|
|
150
|
+
return [2 /*return*/, Promise.reject('No credentials')];
|
|
151
|
+
case 4:
|
|
130
152
|
this.lexRuntimeServiceClient = new LexRuntimeServiceClient({
|
|
131
153
|
region: this._config[botname].region,
|
|
132
154
|
credentials: credentials,
|
|
133
155
|
customUserAgent: getAmplifyUserAgent(),
|
|
134
156
|
});
|
|
135
|
-
if (!(typeof message === 'string')) return [3 /*break*/,
|
|
157
|
+
if (!(typeof message === 'string')) return [3 /*break*/, 9];
|
|
136
158
|
params = {
|
|
137
159
|
botAlias: this._config[botname].alias,
|
|
138
160
|
botName: botname,
|
|
@@ -140,65 +162,89 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
140
162
|
userId: credentials.identityId,
|
|
141
163
|
};
|
|
142
164
|
logger.debug('postText to lex', message);
|
|
143
|
-
|
|
144
|
-
case
|
|
145
|
-
|
|
165
|
+
_c.label = 5;
|
|
166
|
+
case 5:
|
|
167
|
+
_c.trys.push([5, 7, , 8]);
|
|
146
168
|
postTextCommand = new PostTextCommand(params);
|
|
147
169
|
return [4 /*yield*/, this.lexRuntimeServiceClient.send(postTextCommand)];
|
|
148
|
-
case
|
|
149
|
-
data =
|
|
170
|
+
case 6:
|
|
171
|
+
data = _c.sent();
|
|
150
172
|
this.reportBotStatus(data, botname);
|
|
151
173
|
return [2 /*return*/, data];
|
|
152
|
-
case
|
|
153
|
-
err_1 =
|
|
174
|
+
case 7:
|
|
175
|
+
err_1 = _c.sent();
|
|
154
176
|
return [2 /*return*/, Promise.reject(err_1)];
|
|
155
|
-
case
|
|
156
|
-
case
|
|
177
|
+
case 8: return [3 /*break*/, 21];
|
|
178
|
+
case 9:
|
|
157
179
|
content = message.content, messageType = message.options.messageType;
|
|
158
|
-
if (messageType === 'voice')
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
botName: botname,
|
|
162
|
-
contentType: 'audio/x-l16; sample-rate=16000',
|
|
163
|
-
inputStream: content,
|
|
164
|
-
userId: credentials.identityId,
|
|
165
|
-
accept: 'audio/mpeg',
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
params = {
|
|
170
|
-
botAlias: this._config[botname].alias,
|
|
171
|
-
botName: botname,
|
|
172
|
-
contentType: 'text/plain; charset=utf-8',
|
|
173
|
-
inputStream: content,
|
|
174
|
-
userId: credentials.identityId,
|
|
175
|
-
accept: 'audio/mpeg',
|
|
176
|
-
};
|
|
180
|
+
if (!(messageType === 'voice')) return [3 /*break*/, 13];
|
|
181
|
+
if (typeof content !== 'object') {
|
|
182
|
+
return [2 /*return*/, Promise.reject('invalid content type')];
|
|
177
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 = {
|
|
194
|
+
botAlias: this._config[botname].alias,
|
|
195
|
+
botName: botname,
|
|
196
|
+
contentType: 'audio/x-l16; sample-rate=16000; channel-count=1',
|
|
197
|
+
userId: credentials.identityId,
|
|
198
|
+
accept: 'audio/mpeg',
|
|
199
|
+
inputStream: inputStream,
|
|
200
|
+
};
|
|
201
|
+
return [3 /*break*/, 14];
|
|
202
|
+
case 13:
|
|
203
|
+
if (typeof content !== 'string')
|
|
204
|
+
return [2 /*return*/, Promise.reject('invalid content type')];
|
|
205
|
+
params = {
|
|
206
|
+
botAlias: this._config[botname].alias,
|
|
207
|
+
botName: botname,
|
|
208
|
+
contentType: 'text/plain; charset=utf-8',
|
|
209
|
+
inputStream: content,
|
|
210
|
+
userId: credentials.identityId,
|
|
211
|
+
accept: 'audio/mpeg',
|
|
212
|
+
};
|
|
213
|
+
_c.label = 14;
|
|
214
|
+
case 14:
|
|
178
215
|
logger.debug('postContent to lex', message);
|
|
179
|
-
|
|
180
|
-
case
|
|
181
|
-
|
|
216
|
+
_c.label = 15;
|
|
217
|
+
case 15:
|
|
218
|
+
_c.trys.push([15, 20, , 21]);
|
|
182
219
|
postContentCommand = new PostContentCommand(params);
|
|
183
220
|
return [4 /*yield*/, this.lexRuntimeServiceClient.send(postContentCommand)];
|
|
184
|
-
case
|
|
185
|
-
data =
|
|
221
|
+
case 16:
|
|
222
|
+
data = _c.sent();
|
|
223
|
+
if (!data.audioStream) return [3 /*break*/, 18];
|
|
186
224
|
return [4 /*yield*/, convert(data.audioStream)];
|
|
187
|
-
case
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
225
|
+
case 17:
|
|
226
|
+
_b = _c.sent();
|
|
227
|
+
return [3 /*break*/, 19];
|
|
228
|
+
case 18:
|
|
229
|
+
_b = undefined;
|
|
230
|
+
_c.label = 19;
|
|
231
|
+
case 19:
|
|
232
|
+
audioArray = _b;
|
|
233
|
+
response = __assign(__assign({}, data), { audioStream: audioArray });
|
|
234
|
+
this.reportBotStatus(response, botname);
|
|
235
|
+
return [2 /*return*/, response];
|
|
236
|
+
case 20:
|
|
237
|
+
err_2 = _c.sent();
|
|
193
238
|
return [2 /*return*/, Promise.reject(err_2)];
|
|
194
|
-
case
|
|
239
|
+
case 21: return [2 /*return*/];
|
|
195
240
|
}
|
|
196
241
|
});
|
|
197
242
|
});
|
|
198
243
|
};
|
|
199
244
|
AWSLexProvider.prototype.onComplete = function (botname, callback) {
|
|
245
|
+
// does bot exist
|
|
200
246
|
if (!this._config[botname]) {
|
|
201
|
-
throw new
|
|
247
|
+
throw new Error('Bot ' + botname + ' does not exist');
|
|
202
248
|
}
|
|
203
249
|
this._botsCompleteCallback[botname] = callback;
|
|
204
250
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLexProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSLexProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG
|
|
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,8BAA8B,CAAC;AAEvD,IAAM,MAAM,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAW5C;IAAoC,kCAA4B;IAI/D,wBAAY,OAAiC;QAAjC,wBAAA,EAAA,YAAiC;QAA7C,YACC,kBAAM,OAAO,CAAC,SAEd;QADA,KAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;;IACjC,CAAC;IAED,wCAAe,GAAf;QACC,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAED,kCAAS,GAAT,UAAU,MAAkC;QAAlC,uBAAA,EAAA,WAAkC;QAC3C,IAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAErD,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;;;;;OAKG;IACH,wCAAe,GAAf,UAAgB,IAAgC,EAAE,OAAe;QAAjE,iBAqCC;QApCA,+DAA+D;QAC/D,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACpD,IACC,IAAI,CAAC,WAAW,KAAK,qBAAqB;YAC1C,IAAI,CAAC,WAAW,KAAK,WAAW,EAC/B;YACD,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE;gBAC9D,UAAU,CAAC,cAAM,OAAA,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAA/C,CAA+C,EAAE,CAAC,CAAC,CAAC;aACrE;YAED,IACC,IAAI,CAAC,OAAO;gBACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,EACrD;gBACD,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,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE;YAClC,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE;gBAC9D,UAAU,CACT,cAAM,OAAA,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,EAA9D,CAA8D,EACpE,CAAC,CACD,CAAC;aACF;YAED,IACC,IAAI,CAAC,OAAO;gBACZ,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,UAAU,EACrD;gBACD,UAAU,CACT,cAAM,OAAA,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,yBAAyB,CAAC,EAA3D,CAA2D,EACjE,CAAC,CACD,CAAC;aACF;SACD;IACF,CAAC;IAEK,oCAAW,GAAjB,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,uBAAuB,GAAG,IAAI,uBAAuB,CAAC;4BAC1D,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM;4BACpC,WAAW,aAAA;4BACX,eAAe,EAAE,mBAAmB,EAAE;yBACtC,CAAC,CAAC;6BAGC,CAAA,OAAO,OAAO,KAAK,QAAQ,CAAA,EAA3B,wBAA2B;wBAC9B,MAAM,GAAG;4BACR,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK;4BACrC,OAAO,EAAE,OAAO;4BAChB,SAAS,EAAE,OAAO;4BAClB,MAAM,EAAE,WAAW,CAAC,UAAU;yBAC9B,CAAC;wBAEF,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;;;;wBAElC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;wBACvC,qBAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAA;;wBAA/D,IAAI,GAAG,SAAwD;wBAErE,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBACpC,sBAAO,IAAI,EAAC;;;wBAEZ,sBAAO,OAAO,CAAC,MAAM,CAAC,KAAG,CAAC,EAAC;;;wBAI3B,OAAO,GAEJ,OAAO,QAFH,EACI,WAAW,GACnB,OAAO,oBADY,CACX;6BACR,CAAA,WAAW,KAAK,OAAO,CAAA,EAAvB,yBAAuB;wBAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;4BAChC,sBAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAC;yBAC9C;6BAEA,CAAA,OAAO,YAAY,UAAU,CAAA,EAA7B,yBAA6B;wBAAG,KAAA,OAAO,CAAA;;6BAAG,qBAAM,OAAO,CAAC,OAAO,CAAC,EAAA;;wBAAtB,KAAA,SAAsB,CAAA;;;wBAD3D,WAAW,KACgD;wBAEjE,MAAM,GAAG;4BACR,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK;4BACrC,OAAO,EAAE,OAAO;4BAChB,WAAW,EAAE,iDAAiD;4BAC9D,MAAM,EAAE,WAAW,CAAC,UAAU;4BAC9B,MAAM,EAAE,YAAY;4BACpB,WAAW,aAAA;yBACX,CAAC;;;wBAEF,IAAI,OAAO,OAAO,KAAK,QAAQ;4BAC9B,sBAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAC;wBAE/C,MAAM,GAAG;4BACR,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK;4BACrC,OAAO,EAAE,OAAO;4BAChB,WAAW,EAAE,2BAA2B;4BACxC,WAAW,EAAE,OAAO;4BACpB,MAAM,EAAE,WAAW,CAAC,UAAU;4BAC9B,MAAM,EAAE,YAAY;yBACpB,CAAC;;;wBAEH,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;;;;wBAErC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;wBAC7C,qBAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CACnD,kBAAkB,CAClB,EAAA;;wBAFK,IAAI,GAAG,SAEZ;6BAEkB,IAAI,CAAC,WAAW,EAAhB,yBAAgB;wBAChC,qBAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAA;;wBAA/B,KAAA,SAA+B,CAAA;;;wBAC/B,KAAA,SAAS,CAAA;;;wBAFN,UAAU,KAEJ;wBAEN,QAAQ,yBAAQ,IAAI,GAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAE,CAAC;wBAE7D,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBACxC,sBAAO,QAAQ,EAAC;;;wBAEhB,sBAAO,OAAO,CAAC,MAAM,CAAC,KAAG,CAAC,EAAC;;;;;KAG7B;IAED,mCAAU,GAAV,UAAW,OAAe,EAAE,QAAqC;QAChE,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;IACF,qBAAC;AAAD,CAAC,AA/KD,CAAoC,4BAA4B,GA+K/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const unGzipBase64AsJson: (gzipBase64: string) => Promise<any>;
|
|
@@ -34,21 +34,39 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
37
|
+
/*
|
|
38
|
+
* Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
39
|
+
*
|
|
40
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
|
|
41
|
+
* the License. A copy of the License is located at
|
|
42
|
+
*
|
|
43
|
+
* http://aws.amazon.com/apache2.0/
|
|
44
|
+
*
|
|
45
|
+
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
46
|
+
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
47
|
+
* and limitations under the License.
|
|
48
|
+
*/
|
|
49
|
+
import { base64ToArrayBuffer, gzipDecompressToString } from './utils';
|
|
50
|
+
export var unGzipBase64AsJson = function (gzipBase64) { return __awaiter(void 0, void 0, void 0, function () {
|
|
51
|
+
var decodedArrayBuffer, objString, error_1;
|
|
52
|
+
return __generator(this, function (_a) {
|
|
53
|
+
switch (_a.label) {
|
|
54
|
+
case 0:
|
|
55
|
+
if (typeof gzipBase64 === 'undefined')
|
|
56
|
+
return [2 /*return*/, undefined];
|
|
57
|
+
_a.label = 1;
|
|
58
|
+
case 1:
|
|
59
|
+
_a.trys.push([1, 3, , 4]);
|
|
60
|
+
decodedArrayBuffer = base64ToArrayBuffer(gzipBase64);
|
|
61
|
+
return [4 /*yield*/, gzipDecompressToString(decodedArrayBuffer)];
|
|
62
|
+
case 2:
|
|
63
|
+
objString = _a.sent();
|
|
64
|
+
return [2 /*return*/, JSON.parse(objString)];
|
|
65
|
+
case 3:
|
|
66
|
+
error_1 = _a.sent();
|
|
67
|
+
return [2 /*return*/, Promise.reject('unable to decode and decompress ' + error_1)];
|
|
68
|
+
case 4: return [2 /*return*/];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}); };
|
|
72
|
+
//# sourceMappingURL=commonUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commonUtils.js","sourceRoot":"","sources":["../../../src/Providers/AWSLexProviderHelper/commonUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtE,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAO,UAA8B;;;;;gBACtE,IAAI,OAAO,UAAU,KAAK,WAAW;oBAAE,sBAAO,SAAS,EAAC;;;;gBAGjD,kBAAkB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBAEjC,qBAAM,sBAAsB,CAAC,kBAAkB,CAAC,EAAA;;gBAApE,SAAS,GAAW,SAAgD;gBAE1E,sBAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAC;;;gBAE7B,sBAAO,OAAO,CAAC,MAAM,CAAC,kCAAkC,GAAG,OAAK,CAAC,EAAC;;;;KAEnE,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2017-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
|
|
5
|
+
* the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://aws.amazon.com/apache2.0/
|
|
8
|
+
*
|
|
9
|
+
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
10
|
+
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (_) try {
|
|
29
|
+
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;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
import { gunzip, strFromU8 } from 'fflate';
|
|
50
|
+
export var convert = function (stream) { return __awaiter(void 0, void 0, void 0, function () {
|
|
51
|
+
return __generator(this, function (_a) {
|
|
52
|
+
if (stream instanceof Blob || stream instanceof ReadableStream) {
|
|
53
|
+
return [2 /*return*/, new Response(stream)
|
|
54
|
+
.arrayBuffer()
|
|
55
|
+
.then(function (buffer) { return new Uint8Array(buffer); })];
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return [2 /*return*/, Promise.reject('Invalid content type')];
|
|
59
|
+
}
|
|
60
|
+
return [2 /*return*/];
|
|
61
|
+
});
|
|
62
|
+
}); };
|
|
63
|
+
export var base64ToArrayBuffer = function (base64) {
|
|
64
|
+
return Uint8Array.from(window.atob(base64), function (c) { return c.charCodeAt(0); });
|
|
65
|
+
};
|
|
66
|
+
export var gzipDecompressToString = function (data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
67
|
+
return __generator(this, function (_a) {
|
|
68
|
+
switch (_a.label) {
|
|
69
|
+
case 0: return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
70
|
+
gunzip(data, function (err, resp) {
|
|
71
|
+
if (err)
|
|
72
|
+
reject(err);
|
|
73
|
+
else
|
|
74
|
+
resolve(strFromU8(resp));
|
|
75
|
+
});
|
|
76
|
+
})];
|
|
77
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}); };
|
|
81
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/Providers/AWSLexProviderHelper/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,CAAC,IAAM,OAAO,GAAG,UAAO,MAAc;;QAC3C,IAAI,MAAM,YAAY,IAAI,IAAI,MAAM,YAAY,cAAc,EAAE;YAC/D,sBAAO,IAAI,QAAQ,CAAC,MAAM,CAAC;qBACzB,WAAW,EAAE;qBACb,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,IAAI,UAAU,CAAC,MAAM,CAAC,EAAtB,CAAsB,CAAC,EAAC;SACzC;aAAM;YACN,sBAAO,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAC;SAC9C;;;KACD,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,MAAc;IACjD,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAf,CAAe,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,sBAAsB,GAAG,UACrC,IAAgB;;;oBAET,qBAAM,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBACxC,MAAM,CAAC,IAAI,EAAE,UAAC,GAAG,EAAE,IAAI;wBACtB,IAAI,GAAG;4BAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;4BAChB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,EAAA;oBALF,sBAAO,SAKL,EAAC;;;KACH,CAAC"}
|