botium-core 1.12.1 → 1.12.4
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/LICENSES-3RDPARTY.txt +635 -650
- package/dist/botium-cjs.js +149 -62
- package/dist/botium-cjs.js.map +1 -1
- package/dist/botium-es.js +149 -62
- package/dist/botium-es.js.map +1 -1
- package/package.json +18 -18
- package/src/BotDriver.js +3 -3
- package/src/Capabilities.js +6 -0
- package/src/Defaults.js +0 -1
- package/src/containers/BaseContainer.js +20 -10
- package/src/containers/PluginConnectorContainer.js +1 -0
- package/src/containers/plugins/SimpleRestContainer.js +79 -30
- package/src/scripting/Convo.js +3 -3
- package/test/connectors/simplerest.spec.js +64 -0
- package/test/logichooks/hookfromsrc.spec.js +1 -1
package/dist/botium-cjs.js
CHANGED
|
@@ -79,7 +79,7 @@ var express__default = /*#__PURE__*/_interopDefaultLegacy(express);
|
|
|
79
79
|
var bodyParser__default = /*#__PURE__*/_interopDefaultLegacy(bodyParser);
|
|
80
80
|
|
|
81
81
|
var name = "botium-core";
|
|
82
|
-
var version$1 = "1.12.
|
|
82
|
+
var version$1 = "1.12.4";
|
|
83
83
|
var description = "The Selenium for Chatbots";
|
|
84
84
|
var main = "index.js";
|
|
85
85
|
var module$1 = "dist/botium-es.js";
|
|
@@ -111,23 +111,23 @@ var bugs = {
|
|
|
111
111
|
};
|
|
112
112
|
var homepage = "https://www.botium.ai";
|
|
113
113
|
var dependencies = {
|
|
114
|
-
"@babel/runtime": "^7.
|
|
114
|
+
"@babel/runtime": "^7.17.8",
|
|
115
115
|
async: "^3.2.3",
|
|
116
|
-
"body-parser": "^1.19.
|
|
117
|
-
boolean: "^3.
|
|
116
|
+
"body-parser": "^1.19.2",
|
|
117
|
+
boolean: "^3.2.0",
|
|
118
118
|
bottleneck: "^2.19.5",
|
|
119
119
|
"csv-parse": "^5.0.4",
|
|
120
|
-
debug: "^4.3.
|
|
120
|
+
debug: "^4.3.4",
|
|
121
121
|
esprima: "^4.0.1",
|
|
122
|
-
express: "^4.17.
|
|
122
|
+
express: "^4.17.3",
|
|
123
123
|
globby: "11.0.4",
|
|
124
|
-
ioredis: "^4.28.
|
|
124
|
+
ioredis: "^4.28.5",
|
|
125
125
|
"is-class": "^0.0.9",
|
|
126
126
|
"is-json": "^2.0.1",
|
|
127
127
|
jsonpath: "^1.1.1",
|
|
128
128
|
lodash: "^4.17.21",
|
|
129
129
|
"markdown-it": "^12.3.2",
|
|
130
|
-
"mime-types": "^2.1.
|
|
130
|
+
"mime-types": "^2.1.35",
|
|
131
131
|
mkdirp: "^1.0.4",
|
|
132
132
|
moment: "^2.29.1",
|
|
133
133
|
mustache: "^4.2.0",
|
|
@@ -144,21 +144,21 @@ var dependencies = {
|
|
|
144
144
|
"swagger-jsdoc": "^6.1.0",
|
|
145
145
|
"swagger-ui-express": "^4.3.0",
|
|
146
146
|
uuid: "^8.3.2",
|
|
147
|
-
vm2: "^3.9.
|
|
147
|
+
vm2: "^3.9.9",
|
|
148
148
|
"write-yaml": "^1.0.0",
|
|
149
|
-
xlsx: "^0.
|
|
149
|
+
xlsx: "^0.18.4",
|
|
150
150
|
xregexp: "^5.1.0",
|
|
151
151
|
yaml: "^1.10.2"
|
|
152
152
|
};
|
|
153
153
|
var devDependencies = {
|
|
154
|
-
"@babel/core": "^7.
|
|
154
|
+
"@babel/core": "^7.17.8",
|
|
155
155
|
"@babel/node": "^7.16.8",
|
|
156
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
156
|
+
"@babel/plugin-transform-runtime": "^7.17.0",
|
|
157
157
|
"@babel/preset-env": "^7.16.11",
|
|
158
|
-
chai: "^4.3.
|
|
158
|
+
chai: "^4.3.6",
|
|
159
159
|
"chai-as-promised": "^7.1.1",
|
|
160
160
|
"cross-env": "^7.0.3",
|
|
161
|
-
eslint: "^8.
|
|
161
|
+
eslint: "^8.11.0",
|
|
162
162
|
"eslint-config-standard": "^16.0.3",
|
|
163
163
|
"eslint-plugin-import": "^2.25.4",
|
|
164
164
|
"eslint-plugin-node": "^11.1.0",
|
|
@@ -166,11 +166,11 @@ var devDependencies = {
|
|
|
166
166
|
"eslint-plugin-standard": "^4.1.0",
|
|
167
167
|
"license-checker": "^25.0.1",
|
|
168
168
|
"license-compatibility-checker": "^0.3.5",
|
|
169
|
-
mocha: "^9.2.
|
|
170
|
-
nock: "^13.2.
|
|
171
|
-
"npm-check-updates": "^12.
|
|
169
|
+
mocha: "^9.2.2",
|
|
170
|
+
nock: "^13.2.4",
|
|
171
|
+
"npm-check-updates": "^12.5.4",
|
|
172
172
|
nyc: "^15.1.0",
|
|
173
|
-
rollup: "^2.
|
|
173
|
+
rollup: "^2.70.1",
|
|
174
174
|
"rollup-plugin-babel": "^4.4.0",
|
|
175
175
|
"rollup-plugin-commonjs": "^10.1.0",
|
|
176
176
|
"rollup-plugin-json": "^4.0.0",
|
|
@@ -287,6 +287,11 @@ var Capabilities = {
|
|
|
287
287
|
SIMPLEREST_RESPONSE_HOOK: 'SIMPLEREST_RESPONSE_HOOK',
|
|
288
288
|
SIMPLEREST_MEDIA_JSONPATH: 'SIMPLEREST_MEDIA_JSONPATH',
|
|
289
289
|
SIMPLEREST_BUTTONS_JSONPATH: 'SIMPLEREST_BUTTONS_JSONPATH',
|
|
290
|
+
SIMPLEREST_CARDS_JSONPATH: 'SIMPLEREST_CARDS_JSONPATH',
|
|
291
|
+
SIMPLEREST_CARD_TEXT_JSONPATH: 'SIMPLEREST_CARD_TEXT_JSONPATH',
|
|
292
|
+
SIMPLEREST_CARD_SUBTEXT_JSONPATH: 'SIMPLEREST_CARD_SUBTEXT_JSONPATH',
|
|
293
|
+
SIMPLEREST_CARD_BUTTONS_JSONPATH: 'SIMPLEREST_CARD_BUTTONS_JSONPATH',
|
|
294
|
+
SIMPLEREST_CARD_ATTACHMENTS_JSONPATH: 'SIMPLEREST_CARD_ATTACHMENTS_JSONPATH',
|
|
290
295
|
SIMPLEREST_CONTEXT_JSONPATH: 'SIMPLEREST_CONTEXT_JSONPATH',
|
|
291
296
|
SIMPLEREST_CONTEXT_MERGE_OR_REPLACE: 'SIMPLEREST_CONTEXT_MERGE_OR_REPLACE',
|
|
292
297
|
SIMPLEREST_CONVERSATION_ID_TEMPLATE: 'SIMPLEREST_CONVERSATION_ID_TEMPLATE',
|
|
@@ -357,6 +362,7 @@ var Capabilities = {
|
|
|
357
362
|
// API Calls Rate Limiting
|
|
358
363
|
RATELIMIT_USERSAYS_MAXCONCURRENT: 'RATELIMIT_USERSAYS_MAXCONCURRENT',
|
|
359
364
|
RATELIMIT_USERSAYS_MINTIME: 'RATELIMIT_USERSAYS_MINTIME',
|
|
365
|
+
RATELIMIT_BOTTLENECK_FN: 'RATELIMIT_BOTTLENECK_FN',
|
|
360
366
|
SECURITY_ALLOW_UNSAFE: 'SECURITY_ALLOW_UNSAFE',
|
|
361
367
|
PRECOMPILERS: 'PRECOMPILERS'
|
|
362
368
|
};
|
|
@@ -432,6 +438,11 @@ Capabilities.SIMPLEREST_RESPONSE_JSONPATH;
|
|
|
432
438
|
Capabilities.SIMPLEREST_RESPONSE_HOOK;
|
|
433
439
|
Capabilities.SIMPLEREST_MEDIA_JSONPATH;
|
|
434
440
|
Capabilities.SIMPLEREST_BUTTONS_JSONPATH;
|
|
441
|
+
Capabilities.SIMPLEREST_CARDS_JSONPATH;
|
|
442
|
+
Capabilities.SIMPLEREST_CARD_TEXT_JSONPATH;
|
|
443
|
+
Capabilities.SIMPLEREST_CARD_SUBTEXT_JSONPATH;
|
|
444
|
+
Capabilities.SIMPLEREST_CARD_BUTTONS_JSONPATH;
|
|
445
|
+
Capabilities.SIMPLEREST_CARD_ATTACHMENTS_JSONPATH;
|
|
435
446
|
Capabilities.SIMPLEREST_CONTEXT_JSONPATH;
|
|
436
447
|
Capabilities.SIMPLEREST_CONTEXT_MERGE_OR_REPLACE;
|
|
437
448
|
Capabilities.SIMPLEREST_CONVERSATION_ID_TEMPLATE;
|
|
@@ -491,6 +502,7 @@ Capabilities.LOGIC_HOOKS;
|
|
|
491
502
|
Capabilities.USER_INPUTS;
|
|
492
503
|
Capabilities.RATELIMIT_USERSAYS_MAXCONCURRENT;
|
|
493
504
|
Capabilities.RATELIMIT_USERSAYS_MINTIME;
|
|
505
|
+
Capabilities.RATELIMIT_BOTTLENECK_FN;
|
|
494
506
|
Capabilities.SECURITY_ALLOW_UNSAFE;
|
|
495
507
|
Capabilities.PRECOMPILERS;
|
|
496
508
|
|
|
@@ -539,7 +551,6 @@ var Defaults$1 = {
|
|
|
539
551
|
[Capabilities.SIMPLEREST_METHOD]: 'GET',
|
|
540
552
|
[Capabilities.SIMPLEREST_IGNORE_EMPTY]: true,
|
|
541
553
|
[Capabilities.SIMPLEREST_TIMEOUT]: 10000,
|
|
542
|
-
[Capabilities.SIMPLEREST_EXTRA_OPTIONS]: {},
|
|
543
554
|
[Capabilities.SIMPLEREST_STRICT_SSL]: true,
|
|
544
555
|
[Capabilities.SIMPLEREST_INBOUND_UPDATE_CONTEXT]: true,
|
|
545
556
|
[Capabilities.SIMPLEREST_CONTEXT_MERGE_OR_REPLACE]: 'MERGE',
|
|
@@ -3092,7 +3103,8 @@ class Convo$6 {
|
|
|
3092
3103
|
scriptingMemory,
|
|
3093
3104
|
meMsg,
|
|
3094
3105
|
transcript,
|
|
3095
|
-
transcriptStep
|
|
3106
|
+
transcriptStep,
|
|
3107
|
+
transcriptSteps
|
|
3096
3108
|
});
|
|
3097
3109
|
await this.scriptingEvents.onMeStart({
|
|
3098
3110
|
convo: this,
|
|
@@ -3101,7 +3113,8 @@ class Convo$6 {
|
|
|
3101
3113
|
scriptingMemory,
|
|
3102
3114
|
meMsg,
|
|
3103
3115
|
transcript,
|
|
3104
|
-
transcriptStep
|
|
3116
|
+
transcriptStep,
|
|
3117
|
+
transcriptSteps
|
|
3105
3118
|
});
|
|
3106
3119
|
await this.scriptingEvents.onMePrepare({
|
|
3107
3120
|
convo: this,
|
|
@@ -3110,7 +3123,8 @@ class Convo$6 {
|
|
|
3110
3123
|
scriptingMemory,
|
|
3111
3124
|
meMsg,
|
|
3112
3125
|
transcript,
|
|
3113
|
-
transcriptStep
|
|
3126
|
+
transcriptStep,
|
|
3127
|
+
transcriptSteps
|
|
3114
3128
|
});
|
|
3115
3129
|
await this._checkBotRepliesConsumed(container);
|
|
3116
3130
|
|
|
@@ -7580,7 +7594,7 @@ var BaseContainer_1 = class BaseContainer {
|
|
|
7580
7594
|
this.tempDirectory = tempDirectory;
|
|
7581
7595
|
this.cleanupTasks = [];
|
|
7582
7596
|
this.queues = {};
|
|
7583
|
-
this.
|
|
7597
|
+
this.bottleneck = null;
|
|
7584
7598
|
}
|
|
7585
7599
|
|
|
7586
7600
|
Validate() {
|
|
@@ -7590,18 +7604,33 @@ var BaseContainer_1 = class BaseContainer {
|
|
|
7590
7604
|
this.onBotResponseHook = getHook$1(this.caps, this.caps[Capabilities.CUSTOMHOOK_ONBOTRESPONSE]);
|
|
7591
7605
|
this.onStopHook = getHook$1(this.caps, this.caps[Capabilities.CUSTOMHOOK_ONSTOP]);
|
|
7592
7606
|
this.onCleanHook = getHook$1(this.caps, this.caps[Capabilities.CUSTOMHOOK_ONCLEAN]);
|
|
7593
|
-
return Promise.resolve();
|
|
7594
|
-
}
|
|
7595
7607
|
|
|
7596
|
-
|
|
7597
|
-
|
|
7608
|
+
if (this.caps[Capabilities.RATELIMIT_BOTTLENECK_FN]) {
|
|
7609
|
+
if (lodash__default["default"].isFunction(this.caps[Capabilities.RATELIMIT_BOTTLENECK_FN])) {
|
|
7610
|
+
this.bottleneck = this.caps[Capabilities.RATELIMIT_BOTTLENECK_FN];
|
|
7611
|
+
debug$7('Validate: Applying userSays rate limits from capability');
|
|
7612
|
+
} else {
|
|
7613
|
+
const limiter = new bottleneck__default["default"](this.caps[Capabilities.RATELIMIT_BOTTLENECK_FN]);
|
|
7614
|
+
|
|
7615
|
+
this.bottleneck = fn => limiter.schedule(fn);
|
|
7616
|
+
|
|
7617
|
+
debug$7(`Validate: Applying userSays rate limits ${util__default["default"].inspect(this.caps[Capabilities.RATELIMIT_BOTTLENECK_FN])}`);
|
|
7618
|
+
}
|
|
7619
|
+
} else if (this.caps[Capabilities.RATELIMIT_USERSAYS_MAXCONCURRENT] || this.caps[Capabilities.RATELIMIT_USERSAYS_MINTIME]) {
|
|
7598
7620
|
const opts = {};
|
|
7599
7621
|
if (this.caps[Capabilities.RATELIMIT_USERSAYS_MAXCONCURRENT]) opts.maxConcurrent = this.caps[Capabilities.RATELIMIT_USERSAYS_MAXCONCURRENT];
|
|
7600
7622
|
if (this.caps[Capabilities.RATELIMIT_USERSAYS_MINTIME]) opts.minTime = this.caps[Capabilities.RATELIMIT_USERSAYS_MINTIME];
|
|
7601
|
-
|
|
7602
|
-
|
|
7623
|
+
const limiter = new bottleneck__default["default"](opts);
|
|
7624
|
+
|
|
7625
|
+
this.bottleneck = fn => limiter.schedule(fn);
|
|
7626
|
+
|
|
7627
|
+
debug$7(`Validate: Applying userSays rate limits ${util__default["default"].inspect(opts)}`);
|
|
7603
7628
|
}
|
|
7604
7629
|
|
|
7630
|
+
return Promise.resolve();
|
|
7631
|
+
}
|
|
7632
|
+
|
|
7633
|
+
Build() {
|
|
7605
7634
|
return new Promise((resolve, reject) => {
|
|
7606
7635
|
this._RunCustomHook('onBuild', this.onBuildHook).then(() => resolve(this)).catch(err => reject(err));
|
|
7607
7636
|
});
|
|
@@ -7627,8 +7656,8 @@ var BaseContainer_1 = class BaseContainer {
|
|
|
7627
7656
|
meMsg
|
|
7628
7657
|
}).then(() => this.UserSaysImpl(meMsg));
|
|
7629
7658
|
|
|
7630
|
-
if (this.
|
|
7631
|
-
return this.
|
|
7659
|
+
if (this.bottleneck) {
|
|
7660
|
+
return this.bottleneck(run);
|
|
7632
7661
|
} else {
|
|
7633
7662
|
return run();
|
|
7634
7663
|
}
|
|
@@ -8116,10 +8145,14 @@ mustache__default["default"].escape = s => s;
|
|
|
8116
8145
|
var SimpleRestContainer_1 = class SimpleRestContainer {
|
|
8117
8146
|
constructor({
|
|
8118
8147
|
queueBotSays,
|
|
8119
|
-
caps
|
|
8148
|
+
caps,
|
|
8149
|
+
bottleneck
|
|
8120
8150
|
}) {
|
|
8121
8151
|
this.queueBotSays = queueBotSays;
|
|
8122
8152
|
this.caps = Object.assign({}, Defaults, caps);
|
|
8153
|
+
|
|
8154
|
+
this.bottleneck = bottleneck || (fn => fn());
|
|
8155
|
+
|
|
8123
8156
|
this.processInbound = false;
|
|
8124
8157
|
this.redisTopic = this.caps[Capabilities.SIMPLEREST_REDIS_TOPIC] || 'SIMPLEREST_INBOUND_SUBSCRIPTION';
|
|
8125
8158
|
|
|
@@ -8406,31 +8439,82 @@ var SimpleRestContainer_1 = class SimpleRestContainer {
|
|
|
8406
8439
|
}
|
|
8407
8440
|
|
|
8408
8441
|
for (const jsonPathRoot of jsonPathRoots) {
|
|
8409
|
-
const
|
|
8410
|
-
|
|
8411
|
-
|
|
8412
|
-
|
|
8413
|
-
|
|
8414
|
-
|
|
8415
|
-
|
|
8416
|
-
|
|
8417
|
-
|
|
8418
|
-
|
|
8419
|
-
}
|
|
8420
|
-
|
|
8442
|
+
const _retrieveMedia = (jsonPathMediaRoot, jsonPathsMedia) => {
|
|
8443
|
+
const retrievedMedia = [];
|
|
8444
|
+
jsonPathsMedia.forEach(jsonPath => {
|
|
8445
|
+
const responseMedia = jsonpath__default["default"].query(jsonPathMediaRoot, jsonPath);
|
|
8446
|
+
|
|
8447
|
+
if (responseMedia) {
|
|
8448
|
+
(lodash__default["default"].isArray(responseMedia) ? lodash__default["default"].flattenDeep(responseMedia) : [responseMedia]).forEach(m => retrievedMedia.push({
|
|
8449
|
+
mediaUri: m,
|
|
8450
|
+
mimeType: mimeTypes__default["default"].lookup(m) || 'application/unknown'
|
|
8451
|
+
}));
|
|
8452
|
+
}
|
|
8453
|
+
});
|
|
8454
|
+
return retrievedMedia;
|
|
8455
|
+
};
|
|
8456
|
+
|
|
8457
|
+
const _retrieveButtons = (jsonPathButtonRoot, jsonPathsButtons) => {
|
|
8458
|
+
const retrievedButtons = [];
|
|
8459
|
+
jsonPathsButtons.forEach(jsonPath => {
|
|
8460
|
+
const responseButtons = jsonpath__default["default"].query(jsonPathButtonRoot, jsonPath);
|
|
8461
|
+
|
|
8462
|
+
if (responseButtons) {
|
|
8463
|
+
(lodash__default["default"].isArray(responseButtons) ? lodash__default["default"].flattenDeep(responseButtons) : [responseButtons]).forEach(b => retrievedButtons.push({
|
|
8464
|
+
text: b
|
|
8465
|
+
}));
|
|
8466
|
+
}
|
|
8467
|
+
});
|
|
8468
|
+
return retrievedButtons;
|
|
8469
|
+
};
|
|
8470
|
+
|
|
8471
|
+
const _getCardText = responseCardText => {
|
|
8472
|
+
if (responseCardText) {
|
|
8473
|
+
const texts = lodash__default["default"].isArray(responseCardText) ? lodash__default["default"].flattenDeep(responseCardText) : [responseCardText];
|
|
8474
|
+
|
|
8475
|
+
if (texts.length > 1) {
|
|
8476
|
+
debug$4(`more than one text found for card: ${util__default["default"].inspect(texts)}`);
|
|
8477
|
+
}
|
|
8478
|
+
|
|
8479
|
+
if (texts.length > 0) {
|
|
8480
|
+
return texts[0];
|
|
8481
|
+
}
|
|
8421
8482
|
}
|
|
8422
|
-
}
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
|
|
8426
|
-
|
|
8427
|
-
|
|
8428
|
-
|
|
8429
|
-
|
|
8430
|
-
|
|
8431
|
-
|
|
8483
|
+
};
|
|
8484
|
+
|
|
8485
|
+
const media = _retrieveMedia(jsonPathRoot, getAllCapValues(Capabilities.SIMPLEREST_MEDIA_JSONPATH, this.caps));
|
|
8486
|
+
|
|
8487
|
+
debug$4(`found response media: ${util__default["default"].inspect(media)}`);
|
|
8488
|
+
|
|
8489
|
+
const buttons = _retrieveButtons(jsonPathRoot, getAllCapValues(Capabilities.SIMPLEREST_BUTTONS_JSONPATH, this.caps));
|
|
8490
|
+
|
|
8491
|
+
debug$4(`found response buttons: ${util__default["default"].inspect(buttons)}`);
|
|
8492
|
+
const cards = [];
|
|
8493
|
+
const jsonPathsCards = getAllCapValues(Capabilities.SIMPLEREST_CARDS_JSONPATH, this.caps);
|
|
8494
|
+
jsonPathsCards.forEach(jsonPath => {
|
|
8495
|
+
const responseCards = jsonpath__default["default"].query(jsonPathRoot, jsonPath);
|
|
8496
|
+
|
|
8497
|
+
if (responseCards) {
|
|
8498
|
+
(lodash__default["default"].isArray(responseCards) ? lodash__default["default"].flattenDeep(responseCards) : [responseCards]).forEach(c => {
|
|
8499
|
+
const card = {};
|
|
8500
|
+
const jsonPathsCardText = getAllCapValues(Capabilities.SIMPLEREST_CARD_TEXT_JSONPATH, this.caps);
|
|
8501
|
+
jsonPathsCardText.forEach(jsonPath => {
|
|
8502
|
+
card.text = _getCardText(jsonpath__default["default"].query(c, jsonPath));
|
|
8503
|
+
});
|
|
8504
|
+
const jsonPathsCardSubText = getAllCapValues(Capabilities.SIMPLEREST_CARD_SUBTEXT_JSONPATH, this.caps);
|
|
8505
|
+
jsonPathsCardSubText.forEach(jsonPath => {
|
|
8506
|
+
card.subtext = _getCardText(jsonpath__default["default"].query(c, jsonPath));
|
|
8507
|
+
});
|
|
8508
|
+
card.buttons = _retrieveButtons(c, getAllCapValues(Capabilities.SIMPLEREST_CARD_BUTTONS_JSONPATH, this.caps));
|
|
8509
|
+
card.media = _retrieveMedia(c, getAllCapValues(Capabilities.SIMPLEREST_CARD_ATTACHMENTS_JSONPATH, this.caps));
|
|
8510
|
+
|
|
8511
|
+
if (lodash__default["default"].keys(card).length > 0) {
|
|
8512
|
+
cards.push(card);
|
|
8513
|
+
}
|
|
8514
|
+
});
|
|
8432
8515
|
}
|
|
8433
8516
|
});
|
|
8517
|
+
debug$4(`found response cards: ${util__default["default"].inspect(cards)}`);
|
|
8434
8518
|
let hasMessageText = false;
|
|
8435
8519
|
const jsonPathsTexts = getAllCapValues(Capabilities.SIMPLEREST_RESPONSE_JSONPATH, this.caps);
|
|
8436
8520
|
|
|
@@ -8447,7 +8531,8 @@ var SimpleRestContainer_1 = class SimpleRestContainer {
|
|
|
8447
8531
|
sourceData: body,
|
|
8448
8532
|
messageText,
|
|
8449
8533
|
media,
|
|
8450
|
-
buttons
|
|
8534
|
+
buttons,
|
|
8535
|
+
cards
|
|
8451
8536
|
};
|
|
8452
8537
|
await executeHook(this.caps, this.responseHook, Object.assign({
|
|
8453
8538
|
botMsg,
|
|
@@ -8463,7 +8548,8 @@ var SimpleRestContainer_1 = class SimpleRestContainer {
|
|
|
8463
8548
|
messageText: '',
|
|
8464
8549
|
sourceData: body,
|
|
8465
8550
|
media,
|
|
8466
|
-
buttons
|
|
8551
|
+
buttons,
|
|
8552
|
+
cards
|
|
8467
8553
|
};
|
|
8468
8554
|
const beforeHookKeys = Object.keys(botMsg);
|
|
8469
8555
|
await executeHook(this.caps, this.responseHook, Object.assign({
|
|
@@ -8472,7 +8558,7 @@ var SimpleRestContainer_1 = class SimpleRestContainer {
|
|
|
8472
8558
|
}, this.view));
|
|
8473
8559
|
const afterHookKeys = Object.keys(botMsg);
|
|
8474
8560
|
|
|
8475
|
-
if (beforeHookKeys.length !== afterHookKeys.length || !!(botMsg.messageText && botMsg.messageText.length > 0) || botMsg.media.length > 0 || botMsg.buttons.length > 0 || !this.caps[Capabilities.SIMPLEREST_IGNORE_EMPTY]) {
|
|
8561
|
+
if (beforeHookKeys.length !== afterHookKeys.length || !!(botMsg.messageText && botMsg.messageText.length > 0) || botMsg.media.length > 0 || botMsg.buttons.length > 0 || botMsg.cards.length > 0 || !this.caps[Capabilities.SIMPLEREST_IGNORE_EMPTY]) {
|
|
8476
8562
|
result.push(botMsg);
|
|
8477
8563
|
}
|
|
8478
8564
|
}
|
|
@@ -8658,7 +8744,7 @@ var SimpleRestContainer_1 = class SimpleRestContainer {
|
|
|
8658
8744
|
err,
|
|
8659
8745
|
response,
|
|
8660
8746
|
body
|
|
8661
|
-
} = await new Promise(resolve => {
|
|
8747
|
+
} = await this.bottleneck(() => new Promise(resolve => {
|
|
8662
8748
|
request__default["default"](pingConfig, (err, response, body) => {
|
|
8663
8749
|
resolve({
|
|
8664
8750
|
err,
|
|
@@ -8666,7 +8752,7 @@ var SimpleRestContainer_1 = class SimpleRestContainer {
|
|
|
8666
8752
|
body
|
|
8667
8753
|
});
|
|
8668
8754
|
});
|
|
8669
|
-
});
|
|
8755
|
+
}));
|
|
8670
8756
|
|
|
8671
8757
|
if (err) {
|
|
8672
8758
|
debug$4(`_waitForUrlResponse error on url check ${pingConfig.uri}: ${err}`);
|
|
@@ -9190,6 +9276,7 @@ var PluginConnectorContainer_1 = class PluginConnectorContainer extends BaseCont
|
|
|
9190
9276
|
this.pluginInstance = tryLoadPlugin(this.caps[Capabilities.CONTAINERMODE], this.caps[Capabilities.PLUGINMODULEPATH], {
|
|
9191
9277
|
container: this,
|
|
9192
9278
|
queueBotSays: msg => this._QueueBotSays(msg),
|
|
9279
|
+
bottleneck: this.bottleneck,
|
|
9193
9280
|
eventEmitter: this.eventEmitter,
|
|
9194
9281
|
caps: this.caps,
|
|
9195
9282
|
sources: this.sources,
|
|
@@ -9437,9 +9524,9 @@ var BotDriver_1 = class BotDriver {
|
|
|
9437
9524
|
|
|
9438
9525
|
Build() {
|
|
9439
9526
|
debug$1(`Build - Botium Core Version: ${version}`);
|
|
9440
|
-
debug$1(`Build - Capabilites: ${
|
|
9441
|
-
debug$1(`Build - Sources
|
|
9442
|
-
debug$1(`Build - Envs
|
|
9527
|
+
debug$1(`Build - Capabilites: ${JSON.stringify(lodash__default["default"].pickBy(this.caps, (value, key) => Defaults$1.Capabilities[key] !== value), null, 2)}`);
|
|
9528
|
+
debug$1(`Build - Sources: ${JSON.stringify(lodash__default["default"].pickBy(this.sources, (value, key) => Defaults$1.Sources[key] !== value), null, 2)}`);
|
|
9529
|
+
debug$1(`Build - Envs: ${JSON.stringify(lodash__default["default"].pickBy(this.envs, (value, key) => Defaults$1.Envs[key] !== value), null, 2)}`);
|
|
9443
9530
|
this.eventEmitter.emit(Events.CONTAINER_BUILDING);
|
|
9444
9531
|
return new Promise((resolve, reject) => {
|
|
9445
9532
|
let repo = null;
|