@aws-amplify/interactions 4.0.49 → 4.0.50
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 +11 -0
- package/dist/aws-amplify-interactions.js +177 -88
- package/dist/aws-amplify-interactions.js.map +1 -1
- package/dist/aws-amplify-interactions.min.js +1 -1
- package/dist/aws-amplify-interactions.min.js.map +1 -1
- package/lib/Interactions.d.ts +2 -2
- package/lib/Interactions.js +45 -25
- package/lib/Interactions.js.map +1 -1
- package/lib/Providers/AWSLexProvider.d.ts +5 -3
- package/lib/Providers/AWSLexProvider.js +95 -61
- package/lib/Providers/AWSLexProvider.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/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/index.d.ts +1 -0
- package/lib-esm/Interactions.d.ts +2 -2
- package/lib-esm/Interactions.js +45 -25
- package/lib-esm/Interactions.js.map +1 -1
- package/lib-esm/Providers/AWSLexProvider.d.ts +5 -3
- package/lib-esm/Providers/AWSLexProvider.js +95 -61
- package/lib-esm/Providers/AWSLexProvider.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/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/index.d.ts +1 -0
- package/package.json +3 -3
- package/src/Interactions.ts +53 -29
- package/src/Providers/AWSLexProvider.ts +48 -11
- package/src/index.ts +1 -0
- package/src/types/Provider.ts +1 -1
- package/src/types/Providers/AWSLexProvider.ts +11 -0
- package/src/types/index.ts +1 -0
package/lib/Interactions.d.ts
CHANGED
|
@@ -7,12 +7,12 @@ export declare class InteractionsClass {
|
|
|
7
7
|
*
|
|
8
8
|
* @param {InteractionsOptions} options - Configuration object for Interactions
|
|
9
9
|
*/
|
|
10
|
-
constructor(options
|
|
10
|
+
constructor(options?: InteractionsOptions);
|
|
11
11
|
getModuleName(): string;
|
|
12
12
|
/**
|
|
13
13
|
*
|
|
14
14
|
* @param {InteractionsOptions} options - Configuration object for Interactions
|
|
15
|
-
* @return {
|
|
15
|
+
* @return {InteractionsOptions} - The current configuration
|
|
16
16
|
*/
|
|
17
17
|
configure(options: InteractionsOptions): InteractionsOptions;
|
|
18
18
|
addPluggable(pluggable: InteractionsProvider): void;
|
package/lib/Interactions.js
CHANGED
|
@@ -57,6 +57,7 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
57
57
|
* @param {InteractionsOptions} options - Configuration object for Interactions
|
|
58
58
|
*/
|
|
59
59
|
function InteractionsClass(options) {
|
|
60
|
+
if (options === void 0) { options = {}; }
|
|
60
61
|
this._options = options;
|
|
61
62
|
logger.debug('Interactions Options', this._options);
|
|
62
63
|
this._pluggables = {};
|
|
@@ -67,7 +68,7 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
67
68
|
/**
|
|
68
69
|
*
|
|
69
70
|
* @param {InteractionsOptions} options - Configuration object for Interactions
|
|
70
|
-
* @return {
|
|
71
|
+
* @return {InteractionsOptions} - The current configuration
|
|
71
72
|
*/
|
|
72
73
|
InteractionsClass.prototype.configure = function (options) {
|
|
73
74
|
var _this = this;
|
|
@@ -84,29 +85,48 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
84
85
|
});
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
|
-
//
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
88
|
+
// configure bots to their specific providers
|
|
89
|
+
Object.keys(bots_config).forEach(function (botKey) {
|
|
90
|
+
var _a;
|
|
91
|
+
var bot = bots_config[botKey];
|
|
92
|
+
var providerName = bot.providerName || 'AWSLexProvider';
|
|
93
|
+
// add default provider if required
|
|
94
|
+
if (!_this._pluggables.AWSLexProvider &&
|
|
95
|
+
providerName === 'AWSLexProvider') {
|
|
96
|
+
_this._pluggables.AWSLexProvider = new Providers_1.AWSLexProvider();
|
|
97
|
+
}
|
|
98
|
+
// configure bot with it's respective provider
|
|
99
|
+
if (_this._pluggables[providerName]) {
|
|
100
|
+
_this._pluggables[providerName].configure((_a = {}, _a[bot.name] = bot, _a));
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
logger.debug("bot " + bot.name + " was not configured as " + providerName + " provider was not found");
|
|
104
|
+
}
|
|
97
105
|
});
|
|
98
106
|
return this._options;
|
|
99
107
|
};
|
|
100
108
|
InteractionsClass.prototype.addPluggable = function (pluggable) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
109
|
+
var _this = this;
|
|
110
|
+
if (!(pluggable && pluggable.getCategory() === 'Interactions')) {
|
|
111
|
+
throw new Error('Invalid pluggable');
|
|
112
|
+
}
|
|
113
|
+
if (!this._pluggables[pluggable.getProviderName()]) {
|
|
114
|
+
// configure bots for the new plugin
|
|
115
|
+
Object.keys(this._options.bots)
|
|
116
|
+
.filter(function (botKey) {
|
|
117
|
+
return _this._options.bots[botKey].providerName ===
|
|
118
|
+
pluggable.getProviderName();
|
|
119
|
+
})
|
|
120
|
+
.forEach(function (botKey) {
|
|
121
|
+
var _a;
|
|
122
|
+
var bot = _this._options.bots[botKey];
|
|
123
|
+
pluggable.configure((_a = {}, _a[bot.name] = bot, _a));
|
|
124
|
+
});
|
|
125
|
+
this._pluggables[pluggable.getProviderName()] = pluggable;
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
throw new Error('Pluggable ' + pluggable.getProviderName() + ' already plugged');
|
|
110
130
|
}
|
|
111
131
|
};
|
|
112
132
|
InteractionsClass.prototype.send = function (botname, message) {
|
|
@@ -116,13 +136,13 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
116
136
|
switch (_a.label) {
|
|
117
137
|
case 0:
|
|
118
138
|
if (!this._options.bots || !this._options.bots[botname]) {
|
|
119
|
-
|
|
139
|
+
return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];
|
|
120
140
|
}
|
|
121
141
|
botProvider = this._options.bots[botname].providerName || 'AWSLexProvider';
|
|
122
142
|
if (!this._pluggables[botProvider]) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
143
|
+
return [2 /*return*/, Promise.reject('Bot ' +
|
|
144
|
+
botProvider +
|
|
145
|
+
' does not have valid pluggin did you try addPluggable first?')];
|
|
126
146
|
}
|
|
127
147
|
return [4 /*yield*/, this._pluggables[botProvider].sendMessage(botname, message)];
|
|
128
148
|
case 1: return [2 /*return*/, _a.sent()];
|
|
@@ -145,6 +165,6 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
145
165
|
return InteractionsClass;
|
|
146
166
|
}());
|
|
147
167
|
exports.InteractionsClass = InteractionsClass;
|
|
148
|
-
exports.Interactions = new InteractionsClass(
|
|
168
|
+
exports.Interactions = new InteractionsClass();
|
|
149
169
|
core_1.Amplify.register(exports.Interactions);
|
|
150
170
|
//# sourceMappingURL=Interactions.js.map
|
package/lib/Interactions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Interactions.js","sourceRoot":"","sources":["../src/Interactions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,0CAAqE;AACrE,yCAA6C;AAC7C,IAAM,MAAM,GAAG,IAAI,oBAAM,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,13 @@
|
|
|
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';
|
|
3
4
|
export declare class AWSLexProvider extends AbstractInteractionsProvider {
|
|
4
5
|
private lexRuntimeServiceClient;
|
|
5
6
|
private _botsCompleteCallback;
|
|
6
7
|
constructor(options?: InteractionsOptions);
|
|
7
8
|
getProviderName(): string;
|
|
8
|
-
|
|
9
|
+
configure(config?: AWSLexProviderOptions): AWSLexProviderOptions;
|
|
10
|
+
reportBotStatus(data: PostTextCommandOutput | PostContentCommandOutput, botname: string): void;
|
|
9
11
|
sendMessage(botname: string, message: string | InteractionsMessage): Promise<InteractionsResponse>;
|
|
10
|
-
onComplete(botname: string, callback: any): void;
|
|
12
|
+
onComplete(botname: string, callback: (err: any, confirmation: any) => void): void;
|
|
11
13
|
}
|
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
|
|
6
|
-
* the License. A copy of the License is located at
|
|
7
|
-
*
|
|
8
|
-
* http://aws.amazon.com/apache2.0/
|
|
9
|
-
*
|
|
10
|
-
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
11
|
-
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
|
|
12
|
-
* and limitations under the License.
|
|
13
|
-
*/
|
|
14
2
|
var __extends = (this && this.__extends) || (function () {
|
|
15
3
|
var extendStatics = function (d, b) {
|
|
16
4
|
extendStatics = Object.setPrototypeOf ||
|
|
@@ -72,6 +60,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
72
60
|
}
|
|
73
61
|
};
|
|
74
62
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
63
|
+
/*
|
|
64
|
+
* Copyright 2017-2018 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
75
|
var InteractionsProvider_1 = require("./InteractionsProvider");
|
|
76
76
|
var client_lex_runtime_service_1 = require("@aws-sdk/client-lex-runtime-service");
|
|
77
77
|
var core_1 = require("@aws-amplify/core");
|
|
@@ -88,6 +88,18 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
88
88
|
AWSLexProvider.prototype.getProviderName = function () {
|
|
89
89
|
return 'AWSLexProvider';
|
|
90
90
|
};
|
|
91
|
+
AWSLexProvider.prototype.configure = function (config) {
|
|
92
|
+
if (config === void 0) { config = {}; }
|
|
93
|
+
var propertiesToTest = ['name', 'alias', 'region'];
|
|
94
|
+
Object.keys(config).forEach(function (botKey) {
|
|
95
|
+
var botConfig = config[botKey];
|
|
96
|
+
// is bot config correct
|
|
97
|
+
if (!propertiesToTest.every(function (x) { return x in botConfig; })) {
|
|
98
|
+
throw new Error('invalid bot configuration');
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
return _super.prototype.configure.call(this, config);
|
|
102
|
+
};
|
|
91
103
|
AWSLexProvider.prototype.reportBotStatus = function (data, botname) {
|
|
92
104
|
var _this = this;
|
|
93
105
|
// Check if state is fulfilled to resolve onFullfilment promise
|
|
@@ -116,25 +128,31 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
116
128
|
};
|
|
117
129
|
AWSLexProvider.prototype.sendMessage = function (botname, message) {
|
|
118
130
|
return __awaiter(this, void 0, void 0, function () {
|
|
119
|
-
var credentials, params, postTextCommand, data, err_1, content, messageType, postContentCommand, data, audioArray, err_2;
|
|
120
|
-
return __generator(this, function (
|
|
121
|
-
switch (
|
|
131
|
+
var credentials, error_1, params, postTextCommand, data, err_1, content, messageType, _a, postContentCommand, data, audioArray, _b, err_2;
|
|
132
|
+
return __generator(this, function (_c) {
|
|
133
|
+
switch (_c.label) {
|
|
122
134
|
case 0:
|
|
135
|
+
// check if bot exists
|
|
123
136
|
if (!this._config[botname]) {
|
|
124
137
|
return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];
|
|
125
138
|
}
|
|
126
|
-
|
|
139
|
+
_c.label = 1;
|
|
127
140
|
case 1:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
141
|
+
_c.trys.push([1, 3, , 4]);
|
|
142
|
+
return [4 /*yield*/, core_1.Credentials.get()];
|
|
143
|
+
case 2:
|
|
144
|
+
credentials = _c.sent();
|
|
145
|
+
return [3 /*break*/, 4];
|
|
146
|
+
case 3:
|
|
147
|
+
error_1 = _c.sent();
|
|
148
|
+
return [2 /*return*/, Promise.reject('No credentials')];
|
|
149
|
+
case 4:
|
|
132
150
|
this.lexRuntimeServiceClient = new client_lex_runtime_service_1.LexRuntimeServiceClient({
|
|
133
151
|
region: this._config[botname].region,
|
|
134
152
|
credentials: credentials,
|
|
135
153
|
customUserAgent: core_1.getAmplifyUserAgent(),
|
|
136
154
|
});
|
|
137
|
-
if (!(typeof message === 'string')) return [3 /*break*/,
|
|
155
|
+
if (!(typeof message === 'string')) return [3 /*break*/, 9];
|
|
138
156
|
params = {
|
|
139
157
|
botAlias: this._config[botname].alias,
|
|
140
158
|
botName: botname,
|
|
@@ -142,65 +160,81 @@ var AWSLexProvider = /** @class */ (function (_super) {
|
|
|
142
160
|
userId: credentials.identityId,
|
|
143
161
|
};
|
|
144
162
|
logger.debug('postText to lex', message);
|
|
145
|
-
|
|
146
|
-
case
|
|
147
|
-
|
|
163
|
+
_c.label = 5;
|
|
164
|
+
case 5:
|
|
165
|
+
_c.trys.push([5, 7, , 8]);
|
|
148
166
|
postTextCommand = new client_lex_runtime_service_1.PostTextCommand(params);
|
|
149
167
|
return [4 /*yield*/, this.lexRuntimeServiceClient.send(postTextCommand)];
|
|
150
|
-
case
|
|
151
|
-
data =
|
|
168
|
+
case 6:
|
|
169
|
+
data = _c.sent();
|
|
152
170
|
this.reportBotStatus(data, botname);
|
|
153
171
|
return [2 /*return*/, data];
|
|
154
|
-
case
|
|
155
|
-
err_1 =
|
|
172
|
+
case 7:
|
|
173
|
+
err_1 = _c.sent();
|
|
156
174
|
return [2 /*return*/, Promise.reject(err_1)];
|
|
157
|
-
case
|
|
158
|
-
case
|
|
175
|
+
case 8: return [3 /*break*/, 19];
|
|
176
|
+
case 9:
|
|
159
177
|
content = message.content, messageType = message.options.messageType;
|
|
160
|
-
if (messageType === 'voice')
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
if (!(messageType === 'voice')) return [3 /*break*/, 11];
|
|
179
|
+
if (!(content instanceof Blob || content instanceof ReadableStream))
|
|
180
|
+
return [2 /*return*/, Promise.reject('invalid content type')];
|
|
181
|
+
_a = {
|
|
182
|
+
botAlias: this._config[botname].alias,
|
|
183
|
+
botName: botname,
|
|
184
|
+
contentType: 'audio/x-l16; sample-rate=16000; channel-count=1'
|
|
185
|
+
};
|
|
186
|
+
return [4 /*yield*/, convert_1.convert(content)];
|
|
187
|
+
case 10:
|
|
188
|
+
params = (_a.inputStream = _c.sent(),
|
|
189
|
+
_a.userId = credentials.identityId,
|
|
190
|
+
_a.accept = 'audio/mpeg',
|
|
191
|
+
_a);
|
|
192
|
+
return [3 /*break*/, 12];
|
|
193
|
+
case 11:
|
|
194
|
+
if (typeof content !== 'string')
|
|
195
|
+
return [2 /*return*/, Promise.reject('invalid content type')];
|
|
196
|
+
params = {
|
|
197
|
+
botAlias: this._config[botname].alias,
|
|
198
|
+
botName: botname,
|
|
199
|
+
contentType: 'text/plain; charset=utf-8',
|
|
200
|
+
inputStream: content,
|
|
201
|
+
userId: credentials.identityId,
|
|
202
|
+
accept: 'audio/mpeg',
|
|
203
|
+
};
|
|
204
|
+
_c.label = 12;
|
|
205
|
+
case 12:
|
|
180
206
|
logger.debug('postContent to lex', message);
|
|
181
|
-
|
|
182
|
-
case
|
|
183
|
-
|
|
207
|
+
_c.label = 13;
|
|
208
|
+
case 13:
|
|
209
|
+
_c.trys.push([13, 18, , 19]);
|
|
184
210
|
postContentCommand = new client_lex_runtime_service_1.PostContentCommand(params);
|
|
185
211
|
return [4 /*yield*/, this.lexRuntimeServiceClient.send(postContentCommand)];
|
|
186
|
-
case
|
|
187
|
-
data =
|
|
212
|
+
case 14:
|
|
213
|
+
data = _c.sent();
|
|
214
|
+
if (!data.audioStream) return [3 /*break*/, 16];
|
|
188
215
|
return [4 /*yield*/, convert_1.convert(data.audioStream)];
|
|
189
|
-
case
|
|
190
|
-
|
|
216
|
+
case 15:
|
|
217
|
+
_b = _c.sent();
|
|
218
|
+
return [3 /*break*/, 17];
|
|
219
|
+
case 16:
|
|
220
|
+
_b = undefined;
|
|
221
|
+
_c.label = 17;
|
|
222
|
+
case 17:
|
|
223
|
+
audioArray = _b;
|
|
191
224
|
this.reportBotStatus(data, botname);
|
|
192
225
|
return [2 /*return*/, __assign(__assign({}, data), { audioStream: audioArray })];
|
|
193
|
-
case
|
|
194
|
-
err_2 =
|
|
226
|
+
case 18:
|
|
227
|
+
err_2 = _c.sent();
|
|
195
228
|
return [2 /*return*/, Promise.reject(err_2)];
|
|
196
|
-
case
|
|
229
|
+
case 19: return [2 /*return*/];
|
|
197
230
|
}
|
|
198
231
|
});
|
|
199
232
|
});
|
|
200
233
|
};
|
|
201
234
|
AWSLexProvider.prototype.onComplete = function (botname, callback) {
|
|
235
|
+
// does bot exist
|
|
202
236
|
if (!this._config[botname]) {
|
|
203
|
-
throw new
|
|
237
|
+
throw new Error('Bot ' + botname + ' does not exist');
|
|
204
238
|
}
|
|
205
239
|
this._botsCompleteCallback[botname] = callback;
|
|
206
240
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWSLexProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSLexProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AWSLexProvider.js","sourceRoot":"","sources":["../../src/Providers/AWSLexProvider.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -21,5 +21,6 @@ exports.Interactions = Interactions_1.Interactions;
|
|
|
21
21
|
* @deprecated use named import
|
|
22
22
|
*/
|
|
23
23
|
exports.default = Interactions_1.Interactions;
|
|
24
|
+
__export(require("./Providers/InteractionsProvider"));
|
|
24
25
|
__export(require("./Providers/AWSLexProvider"));
|
|
25
26
|
//# 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;AAWrC,uBAXA,2BAAY,CAWA;AATrB;;GAEG;AACH,kBAAe,2BAAY,CAAC;AAG5B,sDAAiD;AACjD,gDAA2C"}
|
package/lib/types/Provider.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { InteractionsOptions } from './Interactions';
|
|
1
2
|
import { InteractionsResponse } from './Response';
|
|
2
3
|
export interface InteractionsProvider {
|
|
3
|
-
configure(config:
|
|
4
|
+
configure(config: InteractionsOptions): InteractionsOptions;
|
|
4
5
|
getCategory(): string;
|
|
5
6
|
getProviderName(): string;
|
|
6
7
|
sendMessage(botname: string, message: string | Object): Promise<object>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface AWSLexProviderOption {
|
|
2
|
+
name: string;
|
|
3
|
+
alias: string;
|
|
4
|
+
region: string;
|
|
5
|
+
providerName?: string;
|
|
6
|
+
onComplete?(botname: string, callback: (err: any, confirmation: any) => void): void;
|
|
7
|
+
}
|
|
8
|
+
export interface AWSLexProviderOptions {
|
|
9
|
+
[key: string]: AWSLexProviderOption;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AWSLexProvider.js","sourceRoot":"","sources":["../../../src/types/Providers/AWSLexProvider.ts"],"names":[],"mappings":""}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -7,12 +7,12 @@ export declare class InteractionsClass {
|
|
|
7
7
|
*
|
|
8
8
|
* @param {InteractionsOptions} options - Configuration object for Interactions
|
|
9
9
|
*/
|
|
10
|
-
constructor(options
|
|
10
|
+
constructor(options?: InteractionsOptions);
|
|
11
11
|
getModuleName(): string;
|
|
12
12
|
/**
|
|
13
13
|
*
|
|
14
14
|
* @param {InteractionsOptions} options - Configuration object for Interactions
|
|
15
|
-
* @return {
|
|
15
|
+
* @return {InteractionsOptions} - The current configuration
|
|
16
16
|
*/
|
|
17
17
|
configure(options: InteractionsOptions): InteractionsOptions;
|
|
18
18
|
addPluggable(pluggable: InteractionsProvider): void;
|
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,29 +83,48 @@ 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) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
107
|
+
var _this = this;
|
|
108
|
+
if (!(pluggable && pluggable.getCategory() === 'Interactions')) {
|
|
109
|
+
throw new Error('Invalid pluggable');
|
|
110
|
+
}
|
|
111
|
+
if (!this._pluggables[pluggable.getProviderName()]) {
|
|
112
|
+
// configure bots for the new plugin
|
|
113
|
+
Object.keys(this._options.bots)
|
|
114
|
+
.filter(function (botKey) {
|
|
115
|
+
return _this._options.bots[botKey].providerName ===
|
|
116
|
+
pluggable.getProviderName();
|
|
117
|
+
})
|
|
118
|
+
.forEach(function (botKey) {
|
|
119
|
+
var _a;
|
|
120
|
+
var bot = _this._options.bots[botKey];
|
|
121
|
+
pluggable.configure((_a = {}, _a[bot.name] = bot, _a));
|
|
122
|
+
});
|
|
123
|
+
this._pluggables[pluggable.getProviderName()] = pluggable;
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
throw new Error('Pluggable ' + pluggable.getProviderName() + ' already plugged');
|
|
108
128
|
}
|
|
109
129
|
};
|
|
110
130
|
InteractionsClass.prototype.send = function (botname, message) {
|
|
@@ -114,13 +134,13 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
114
134
|
switch (_a.label) {
|
|
115
135
|
case 0:
|
|
116
136
|
if (!this._options.bots || !this._options.bots[botname]) {
|
|
117
|
-
|
|
137
|
+
return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];
|
|
118
138
|
}
|
|
119
139
|
botProvider = this._options.bots[botname].providerName || 'AWSLexProvider';
|
|
120
140
|
if (!this._pluggables[botProvider]) {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
141
|
+
return [2 /*return*/, Promise.reject('Bot ' +
|
|
142
|
+
botProvider +
|
|
143
|
+
' does not have valid pluggin did you try addPluggable first?')];
|
|
124
144
|
}
|
|
125
145
|
return [4 /*yield*/, this._pluggables[botProvider].sendMessage(botname, message)];
|
|
126
146
|
case 1: return [2 /*return*/, _a.sent()];
|
|
@@ -143,6 +163,6 @@ var InteractionsClass = /** @class */ (function () {
|
|
|
143
163
|
return InteractionsClass;
|
|
144
164
|
}());
|
|
145
165
|
export { InteractionsClass };
|
|
146
|
-
export var Interactions = new InteractionsClass(
|
|
166
|
+
export var Interactions = new InteractionsClass();
|
|
147
167
|
Amplify.register(Interactions);
|
|
148
168
|
//# 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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"}
|