wingbot 3.49.0 → 3.50.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wingbot",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.50.0",
|
|
4
4
|
"description": "Enterprise Messaging Bot Conversation Engine",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"tsd-jsdoc": "^2.5.0"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
+
"@amplitude/ua-parser-js": "^0.7.31",
|
|
56
57
|
"form-data": "^4.0.0",
|
|
57
58
|
"graphql": "^15.8.0",
|
|
58
59
|
"jsonwebtoken": "^9.0.0",
|
package/src/Processor.js
CHANGED
|
@@ -608,7 +608,7 @@ class Processor extends EventEmitter {
|
|
|
608
608
|
const interactive = isUserInteraction(req);
|
|
609
609
|
|
|
610
610
|
const sessionExpired = interactive
|
|
611
|
-
&& (sessionTs + this.options.sessionDuration) <
|
|
611
|
+
&& (sessionTs + this.options.sessionDuration) < timestamp;
|
|
612
612
|
|
|
613
613
|
if (sessionExpired || !sessionId) {
|
|
614
614
|
sessionStart = timestamp;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
|
+
const uaParserJs = require('@amplitude/ua-parser-js');
|
|
6
7
|
const { replaceDiacritics, webalize } = require('webalize');
|
|
7
8
|
const Ai = require('../Ai');
|
|
8
9
|
const {
|
|
@@ -101,6 +102,9 @@ const {
|
|
|
101
102
|
* @prop {string[]} [responseTexts]
|
|
102
103
|
* @prop {string|null} [pagePath]
|
|
103
104
|
* @prop {string|null} [pageCategory]
|
|
105
|
+
* @prop {string} [browserName]
|
|
106
|
+
* @prop {string} [deviceType]
|
|
107
|
+
* @prop {string} [osName]
|
|
104
108
|
*/
|
|
105
109
|
|
|
106
110
|
/**
|
|
@@ -177,6 +181,7 @@ const {
|
|
|
177
181
|
/**
|
|
178
182
|
* @typedef {object} HandlerConfig
|
|
179
183
|
* @prop {string} [pagePathVar]
|
|
184
|
+
* @prop {string} [userAgentVar]
|
|
180
185
|
* @prop {string} [snapshot]
|
|
181
186
|
* @prop {string} [botId]
|
|
182
187
|
* @prop {string} [timeZone] - default UTC
|
|
@@ -232,6 +237,7 @@ function onInteractionHandler (
|
|
|
232
237
|
botId,
|
|
233
238
|
timeZone = 'UTC',
|
|
234
239
|
pagePathVar = '§pathname',
|
|
240
|
+
userAgentVar = '§ua',
|
|
235
241
|
pathCategoryExtractor = defaultPathExtractor,
|
|
236
242
|
anonymize = (x) => x,
|
|
237
243
|
userExtractor = (state) => null // eslint-disable-line no-unused-vars
|
|
@@ -285,9 +291,12 @@ function onInteractionHandler (
|
|
|
285
291
|
_sst: sessionStart,
|
|
286
292
|
_sts: sessionTs,
|
|
287
293
|
lang,
|
|
288
|
-
[pagePathVar]: pagePath
|
|
294
|
+
[pagePathVar]: pagePath,
|
|
295
|
+
[userAgentVar]: userAgent
|
|
289
296
|
} = state;
|
|
290
297
|
|
|
298
|
+
const ua = uaParserJs(userAgent);
|
|
299
|
+
|
|
291
300
|
const pageCategory = pathCategoryExtractor(pagePath);
|
|
292
301
|
|
|
293
302
|
const trackEvents = [];
|
|
@@ -328,7 +337,10 @@ function onInteractionHandler (
|
|
|
328
337
|
responseTexts,
|
|
329
338
|
sessionDuration: sessionTs - sessionStart,
|
|
330
339
|
pagePath,
|
|
331
|
-
pageCategory
|
|
340
|
+
pageCategory,
|
|
341
|
+
browserName: ua.browser.name || null,
|
|
342
|
+
deviceType: ua.device.type || null,
|
|
343
|
+
osName: ua.os.name || null
|
|
332
344
|
};
|
|
333
345
|
|
|
334
346
|
let sessionPromise;
|
package/src/resolvers/utils.js
CHANGED
|
@@ -71,6 +71,9 @@ function getLanguageText (translations, lang = null, disableDefaulting = false)
|
|
|
71
71
|
if (lang) {
|
|
72
72
|
// @ts-ignore
|
|
73
73
|
foundText = translations.find((t) => t.l === lang);
|
|
74
|
+
} else if (disableDefaulting) {
|
|
75
|
+
// @ts-ignore
|
|
76
|
+
[foundText] = translations;
|
|
74
77
|
}
|
|
75
78
|
if (isTextObjectEmpty(foundText) && !disableDefaulting) {
|
|
76
79
|
// @ts-ignore
|