@botonic/plugin-flow-builder 0.40.0 → 0.41.0-alpha.1
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/lib/cjs/action/fallback.js +5 -0
- package/lib/cjs/action/fallback.js.map +1 -1
- package/lib/cjs/action/knowledge-bases.js +5 -5
- package/lib/cjs/action/knowledge-bases.js.map +1 -1
- package/lib/cjs/content-fields/flow-handoff.js +6 -3
- package/lib/cjs/content-fields/flow-handoff.js.map +1 -1
- package/lib/cjs/tracking.d.ts +8 -0
- package/lib/cjs/tracking.js +23 -6
- package/lib/cjs/tracking.js.map +1 -1
- package/lib/cjs/user-input/keyword.js +5 -2
- package/lib/cjs/user-input/keyword.js.map +1 -1
- package/lib/cjs/user-input/smart-intent.js +5 -2
- package/lib/cjs/user-input/smart-intent.js.map +1 -1
- package/lib/cjs/utils.js +1 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/esm/action/fallback.js +6 -1
- package/lib/esm/action/fallback.js.map +1 -1
- package/lib/esm/action/knowledge-bases.js +6 -6
- package/lib/esm/action/knowledge-bases.js.map +1 -1
- package/lib/esm/content-fields/flow-handoff.js +6 -3
- package/lib/esm/content-fields/flow-handoff.js.map +1 -1
- package/lib/esm/tracking.d.ts +8 -0
- package/lib/esm/tracking.js +21 -5
- package/lib/esm/tracking.js.map +1 -1
- package/lib/esm/user-input/keyword.js +6 -3
- package/lib/esm/user-input/keyword.js.map +1 -1
- package/lib/esm/user-input/smart-intent.js +6 -3
- package/lib/esm/user-input/smart-intent.js.map +1 -1
- package/lib/esm/utils.js +1 -1
- package/lib/esm/utils.js.map +1 -1
- package/package.json +4 -4
- package/src/action/fallback.ts +11 -1
- package/src/action/knowledge-bases.ts +11 -10
- package/src/content-fields/flow-handoff.tsx +10 -4
- package/src/tracking.ts +39 -5
- package/src/user-input/keyword.ts +14 -3
- package/src/user-input/smart-intent.ts +14 -3
- package/src/utils.ts +1 -1
|
@@ -21,8 +21,13 @@ function getFallbackNode(cmsApi, request) {
|
|
|
21
21
|
const isFirstFallbackOption = !!request.session.user.extra_data.isFirstFallbackOption;
|
|
22
22
|
const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption);
|
|
23
23
|
request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption;
|
|
24
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(request, fallbackNode.id);
|
|
24
25
|
const event = {
|
|
25
26
|
action: core_1.EventAction.Fallback,
|
|
27
|
+
flowId,
|
|
28
|
+
flowName,
|
|
29
|
+
flowNodeId,
|
|
30
|
+
flowNodeContentId,
|
|
26
31
|
userInput: request.input.data,
|
|
27
32
|
fallbackOut: isFirstFallbackOption ? 1 : 2,
|
|
28
33
|
fallbackMessageId: request.input.message_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/action/fallback.ts"],"names":[],"mappings":";;;;AAAA,wCAA0D;AAK1D,
|
|
1
|
+
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/action/fallback.ts"],"names":[],"mappings":";;;;AAAA,wCAA0D;AAK1D,0CAGoB;AAGpB,SAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY;;QACnB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC3D,MAAM,gBAAgB,GACpB,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAEzD,OAAO,gBAAgB,CAAA;IACzB,CAAC;CAAA;AAVD,sDAUC;AAED,SAAe,eAAe,CAAC,MAAsB,EAAE,OAAsB;;;QAC3E,IAAI,CAAA,MAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,0CAAE,qBAAqB,MAAK,SAAS,EAAE;YACxE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,mCAC1B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,KAClC,qBAAqB,EAAE,IAAI,GAC5B,CAAA;SACF;QAED,MAAM,qBAAqB,GACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAA;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAA;QAClE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,qBAAqB,CAAA;QAE9E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACvD,IAAA,oDAAyC,EAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;QAErE,MAAM,KAAK,GAAkB;YAC3B,MAAM,EAAE,kBAAW,CAAC,QAAQ;YAC5B,MAAM;YACN,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAc;YACvC,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;SAC5C,CAAA;QACD,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,kBAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAA;QAEtC,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAE5C,OAAO,YAAY,CAAA;;CACpB"}
|
|
@@ -4,7 +4,6 @@ exports.getContentsByKnowledgeBase = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const core_1 = require("@botonic/core");
|
|
6
6
|
const content_fields_1 = require("../content-fields");
|
|
7
|
-
const helpers_1 = require("../helpers");
|
|
8
7
|
const tracking_1 = require("../tracking");
|
|
9
8
|
const utils_1 = require("../utils");
|
|
10
9
|
function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request, }) {
|
|
@@ -62,8 +61,6 @@ function updateContentsWithResponse(contents, response) {
|
|
|
62
61
|
}
|
|
63
62
|
function trackKnowledgeBase(response, request, knowledgeBaseContent) {
|
|
64
63
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
|
|
66
|
-
const flowId = flowBuilderPlugin.cmsApi.getNodeById(knowledgeBaseContent.id).flow_id;
|
|
67
64
|
const getKnowledgeFailReason = () => {
|
|
68
65
|
let knowledgebaseFailReason;
|
|
69
66
|
if (!response.isFaithful) {
|
|
@@ -74,6 +71,7 @@ function trackKnowledgeBase(response, request, knowledgeBaseContent) {
|
|
|
74
71
|
}
|
|
75
72
|
return knowledgebaseFailReason;
|
|
76
73
|
};
|
|
74
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(request, knowledgeBaseContent.id);
|
|
77
75
|
const event = {
|
|
78
76
|
action: core_1.EventAction.Knowledgebase,
|
|
79
77
|
knowledgebaseInferenceId: response.inferenceId,
|
|
@@ -83,8 +81,10 @@ function trackKnowledgeBase(response, request, knowledgeBaseContent) {
|
|
|
83
81
|
knowledgebaseMessageId: request.input.message_id,
|
|
84
82
|
userInput: request.input.data,
|
|
85
83
|
flowThreadId: request.session.flow_thread_id,
|
|
86
|
-
flowId
|
|
87
|
-
|
|
84
|
+
flowId,
|
|
85
|
+
flowName,
|
|
86
|
+
flowNodeId,
|
|
87
|
+
flowNodeContentId,
|
|
88
88
|
};
|
|
89
89
|
const { action } = event, eventArgs = tslib_1.__rest(event, ["action"]);
|
|
90
90
|
yield (0, tracking_1.trackEvent)(request, action, eventArgs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";;;;AAAA,wCAOsB;AAEtB,sDAI0B;
|
|
1
|
+
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const core_1 = require("@botonic/core");
|
|
7
7
|
const react_1 = require("@botonic/react");
|
|
8
|
+
const tracking_1 = require("../tracking");
|
|
8
9
|
const content_fields_base_1 = require("./content-fields-base");
|
|
9
10
|
class FlowHandoff extends content_fields_base_1.ContentFieldsBase {
|
|
10
11
|
static fromHubtypeCMS(cmsHandoff, locale, cmsApi) {
|
|
@@ -38,11 +39,13 @@ class FlowHandoff extends content_fields_base_1.ContentFieldsBase {
|
|
|
38
39
|
}
|
|
39
40
|
if (this.queue) {
|
|
40
41
|
const language = request.getSystemLocale();
|
|
41
|
-
const country = request.getUserCountry();
|
|
42
42
|
handOffBuilder.withQueue(this.queue.id);
|
|
43
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(request, this.id);
|
|
43
44
|
handOffBuilder.withBotEvent({
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
flowId,
|
|
46
|
+
flowName,
|
|
47
|
+
flowNodeId,
|
|
48
|
+
flowNodeContentId,
|
|
46
49
|
});
|
|
47
50
|
handOffBuilder.withExtraData({
|
|
48
51
|
language,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;;;;AAAA,wCAA+E;AAC/E,0CAA+D;
|
|
1
|
+
{"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;;;;AAAA,wCAA+E;AAC/E,0CAA+D;AAG/D,0CAAuE;AACvE,+DAAyD;AAGzD,MAAa,WAAY,SAAQ,uCAAiB;IAQhD,MAAM,CAAC,cAAc,CACnB,UAAyB,EACzB,MAAc,EACd,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACjD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QACjC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1E,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACxE,UAAU,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAA;QACjE,UAAU,CAAC,2CAA2C;YACpD,UAAU,CAAC,OAAO,CAAC,gDAAgD,CAAA;QACrE,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC/B,UAAyB,EACzB,MAAsB;;QAEtB,IAAI,MAAA,UAAU,CAAC,MAAM,0CAAE,EAAE,EAAE;YACzB,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SAC5C;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEK,SAAS,CAAC,OAAsB;;YACpC,MAAM,cAAc,GAAG,IAAI,qBAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1D,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAE9D,IAAI,IAAI,CAAC,2CAA2C,EAAE;gBACpD,cAAc,CAAC,2BAA2B,CAAC;oBACzC,oBAAa,CAAC,oBAAoB;iBACnC,CAAC,CAAA;aACH;YAED,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aACzD;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,EAAE,CAAA;gBAE1C,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAEvC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACvD,IAAA,oDAAyC,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;gBAE7D,cAAc,CAAC,YAAY,CAAC;oBAC1B,MAAM;oBACN,QAAQ;oBACR,UAAU;oBACV,iBAAiB;iBAClB,CAAC,CAAA;gBAEF,cAAc,CAAC,aAAa,CAAC;oBAC3B,QAAQ;iBACT,CAAC,CAAA;gBAEF,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;aAC/B;QACH,CAAC;KAAA;IAED,SAAS,CAAC,EAAU,EAAE,OAAsB;QAC1C,OAAO,IAAA,YAAK,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAA,gBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC5D,uBAAC,uBAAe,IAAU,eAAe,EAAE,IAAI,IAAzB,EAAE,CAA2B,CACpD,CAAC,CAAC,CAAC,CACF,kDAAK,CACN,CAAA;IACH,CAAC;CACF;AA9ED,kCA8EC"}
|
package/lib/cjs/tracking.d.ts
CHANGED
|
@@ -3,3 +3,11 @@ import { ActionRequest } from '@botonic/react';
|
|
|
3
3
|
import { FlowContent } from './content-fields';
|
|
4
4
|
export declare function trackEvent(request: ActionRequest, eventAction: EventAction, args?: Record<string, any>): Promise<void>;
|
|
5
5
|
export declare function trackFlowContent(request: ActionRequest, contents: FlowContent[]): Promise<void>;
|
|
6
|
+
type CommonFlowContentEventArgs = {
|
|
7
|
+
flowId: string;
|
|
8
|
+
flowName: string;
|
|
9
|
+
flowNodeId: string;
|
|
10
|
+
flowNodeContentId: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function getCommonFlowContentEventArgsForContentId(request: ActionRequest, contentId: string): CommonFlowContentEventArgs;
|
|
13
|
+
export {};
|
package/lib/cjs/tracking.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.trackFlowContent = exports.trackEvent = void 0;
|
|
3
|
+
exports.getCommonFlowContentEventArgsForContentId = exports.trackFlowContent = exports.trackEvent = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const core_1 = require("@botonic/core");
|
|
6
6
|
const uuid_1 = require("uuid");
|
|
@@ -34,18 +34,35 @@ function trackFlowContent(request, contents) {
|
|
|
34
34
|
exports.trackFlowContent = trackFlowContent;
|
|
35
35
|
function getContentEventArgs(request, nodeContent) {
|
|
36
36
|
var _a, _b;
|
|
37
|
-
const
|
|
38
|
-
const flowName = flowBuilderPlugin.getFlowName(nodeContent.flow_id);
|
|
37
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgs(request, nodeContent);
|
|
39
38
|
const flowThreadId = (_a = request.session.flow_thread_id) !== null && _a !== void 0 ? _a : (0, uuid_1.v7)();
|
|
40
39
|
request.session.flow_thread_id = flowThreadId;
|
|
41
40
|
return {
|
|
42
41
|
action: core_1.EventAction.FlowNode,
|
|
42
|
+
flowId,
|
|
43
|
+
flowName,
|
|
44
|
+
flowNodeId,
|
|
45
|
+
flowNodeContentId,
|
|
43
46
|
flowThreadId,
|
|
47
|
+
flowNodeIsMeaningful: (_b = nodeContent.is_meaningful) !== null && _b !== void 0 ? _b : false,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function getCommonFlowContentEventArgs(request, nodeContent) {
|
|
51
|
+
var _a;
|
|
52
|
+
const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
|
|
53
|
+
const flowName = flowBuilderPlugin.getFlowName(nodeContent.flow_id);
|
|
54
|
+
return {
|
|
44
55
|
flowId: nodeContent.flow_id,
|
|
45
|
-
flowName
|
|
56
|
+
flowName,
|
|
46
57
|
flowNodeId: nodeContent.id,
|
|
47
|
-
flowNodeContentId: nodeContent.code,
|
|
48
|
-
flowNodeIsMeaningful: (_b = nodeContent.is_meaningful) !== null && _b !== void 0 ? _b : false,
|
|
58
|
+
flowNodeContentId: (_a = nodeContent.code) !== null && _a !== void 0 ? _a : '',
|
|
49
59
|
};
|
|
50
60
|
}
|
|
61
|
+
function getCommonFlowContentEventArgsForContentId(request, contentId) {
|
|
62
|
+
const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
|
|
63
|
+
const cmsApi = flowBuilderPlugin.cmsApi;
|
|
64
|
+
const nodeContent = cmsApi.getNodeById(contentId);
|
|
65
|
+
return getCommonFlowContentEventArgs(request, nodeContent);
|
|
66
|
+
}
|
|
67
|
+
exports.getCommonFlowContentEventArgsForContentId = getCommonFlowContentEventArgsForContentId;
|
|
51
68
|
//# sourceMappingURL=tracking.js.map
|
package/lib/cjs/tracking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":";;;;AAAA,wCAAsD;AAEtD,+BAAmC;AAGnC,oEAGwC;AACxC,uCAAgD;AAEhD,SAAsB,UAAU,CAC9B,OAAsB,EACtB,WAAwB,EACxB,IAA0B;;QAE1B,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,IAAI,iBAAiB,CAAC,UAAU,EAAE;YAChC,MAAM,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;SAC/D;QACD,OAAM;IACR,CAAC;CAAA;AAVD,gCAUC;AAED,SAAsB,gBAAgB,CACpC,OAAsB,EACtB,QAAuB;;QAEvB,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;QACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAoB,OAAO,CAAC,EAAE,CAAC,CAAA;YACrE,IACE,WAAW,CAAC,IAAI,KAAK,sCAAqB,CAAC,cAAc;gBACzD,WAAW,CAAC,IAAI,KAAK,sCAAqB,CAAC,QAAQ,EACnD;gBACA,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;gBACvD,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,kBAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAA;gBACtC,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;aAC7C;SACF;IACH,CAAC;CAAA;AAjBD,4CAiBC;AAED,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,WAA8B;;IAE9B,MAAM,
|
|
1
|
+
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":";;;;AAAA,wCAAsD;AAEtD,+BAAmC;AAGnC,oEAGwC;AACxC,uCAAgD;AAEhD,SAAsB,UAAU,CAC9B,OAAsB,EACtB,WAAwB,EACxB,IAA0B;;QAE1B,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,IAAI,iBAAiB,CAAC,UAAU,EAAE;YAChC,MAAM,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;SAC/D;QACD,OAAM;IACR,CAAC;CAAA;AAVD,gCAUC;AAED,SAAsB,gBAAgB,CACpC,OAAsB,EACtB,QAAuB;;QAEvB,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;QACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAoB,OAAO,CAAC,EAAE,CAAC,CAAA;YACrE,IACE,WAAW,CAAC,IAAI,KAAK,sCAAqB,CAAC,cAAc;gBACzD,WAAW,CAAC,IAAI,KAAK,sCAAqB,CAAC,QAAQ,EACnD;gBACA,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;gBACvD,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,kBAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAA;gBACtC,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;aAC7C;SACF;IACH,CAAC;CAAA;AAjBD,4CAiBC;AAED,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,WAA8B;;IAE9B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACvD,6BAA6B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IAErD,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,OAAO,CAAC,cAAc,mCAAI,IAAA,SAAM,GAAE,CAAA;IAC/D,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG,YAAY,CAAA;IAE7C,OAAO;QACL,MAAM,EAAE,kBAAW,CAAC,QAAQ;QAC5B,MAAM;QACN,QAAQ;QACR,UAAU;QACV,iBAAiB;QACjB,YAAY;QACZ,oBAAoB,EAAE,MAAA,WAAW,CAAC,aAAa,mCAAI,KAAK;KACzD,CAAA;AACH,CAAC;AASD,SAAS,6BAA6B,CACpC,OAAsB,EACtB,WAA8B;;IAE9B,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;IAEnE,OAAO;QACL,MAAM,EAAE,WAAW,CAAC,OAAO;QAC3B,QAAQ;QACR,UAAU,EAAE,WAAW,CAAC,EAAE;QAC1B,iBAAiB,EAAE,MAAA,WAAW,CAAC,IAAI,mCAAI,EAAE;KAC1C,CAAA;AACH,CAAC;AAED,SAAgB,yCAAyC,CACvD,OAAsB,EACtB,SAAiB;IAEjB,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;IACvC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAoB,SAAS,CAAC,CAAA;IAEpE,OAAO,6BAA6B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;AAC5D,CAAC;AATD,8FASC"}
|
|
@@ -66,11 +66,14 @@ class KeywordMatcher {
|
|
|
66
66
|
}
|
|
67
67
|
trackKeywordEvent() {
|
|
68
68
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(this.request, this.keywordNodeId);
|
|
69
70
|
const event = {
|
|
70
71
|
action: core_1.EventAction.Keyword,
|
|
72
|
+
flowNodeId,
|
|
73
|
+
flowId,
|
|
74
|
+
flowName,
|
|
75
|
+
flowNodeContentId,
|
|
71
76
|
flowThreadId: this.request.session.flow_thread_id,
|
|
72
|
-
flowNodeId: this.keywordNodeId,
|
|
73
|
-
flowId: this.flowId,
|
|
74
77
|
nluKeywordName: this.matchedKeyword,
|
|
75
78
|
nluKeywordIsRegex: this.isRegExp,
|
|
76
79
|
nluKeywordMessageId: this.request.input.message_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":";;;;AAAA,wCAAkE;AAIlE,4CAA8C;AAK9C,
|
|
1
|
+
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ class SmartIntentsApi {
|
|
|
36
36
|
matchedValue: smartIntentNode.content.title,
|
|
37
37
|
payload: targetPayload,
|
|
38
38
|
};
|
|
39
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(this.currentRequest, smartIntentNode.id);
|
|
39
40
|
const event = {
|
|
40
41
|
action: core_1.EventAction.IntentSmart,
|
|
41
42
|
nluIntentSmartTitle: response.data.smart_intent_title,
|
|
@@ -43,8 +44,10 @@ class SmartIntentsApi {
|
|
|
43
44
|
nluIntentSmartMessageId: this.currentRequest.input.message_id,
|
|
44
45
|
userInput: this.currentRequest.input.data,
|
|
45
46
|
flowThreadId: this.currentRequest.session.flow_thread_id,
|
|
46
|
-
flowId
|
|
47
|
-
|
|
47
|
+
flowId,
|
|
48
|
+
flowName,
|
|
49
|
+
flowNodeContentId,
|
|
50
|
+
flowNodeId,
|
|
48
51
|
};
|
|
49
52
|
const { action } = event, eventArgs = tslib_1.__rest(event, ["action"]);
|
|
50
53
|
yield (0, tracking_1.trackEvent)(this.currentRequest, action, eventArgs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":";;;;AAAA,wCAAsE;AAEtE,0DAAyB;AAIzB,wCAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/utils.js
CHANGED
|
@@ -22,7 +22,7 @@ function resolveGetAccessToken(getAccessToken) {
|
|
|
22
22
|
}
|
|
23
23
|
exports.resolveGetAccessToken = resolveGetAccessToken;
|
|
24
24
|
function getValueFromKeyPath(request, keyPath) {
|
|
25
|
-
if (keyPath.startsWith('input') || keyPath.startsWith('session')) {
|
|
25
|
+
if (keyPath.startsWith('input.') || keyPath.startsWith('session.')) {
|
|
26
26
|
return keyPath
|
|
27
27
|
.split('.')
|
|
28
28
|
.reduce((object, key) => resolveObjectKey(object, key), request);
|
package/lib/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AAGrD,uCAAgD;AAChD,mCAA+D;AAE/D,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;IACD,OAAO,OAAO,CAAC,aAAa,CAAA;AAC9B,CAAC;AAED,SAAgB,qBAAqB,CACnC,cAA4C;IAE5C,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC5B,KAAK,0BAAkB,CAAC,UAAU;YAChC,OAAO,yBAAyB,CAAA;QAClC,KAAK,0BAAkB,CAAC,WAAW;YACjC,OAAO,cAAc,CAAA;QACvB;YACE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;KAChE;AACH,CAAC;AAXD,sDAWC;AAED,SAAgB,mBAAmB,CACjC,OAAsB,EACtB,OAAe;IAEf,IAAI,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AAGrD,uCAAgD;AAChD,mCAA+D;AAE/D,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;IACD,OAAO,OAAO,CAAC,aAAa,CAAA;AAC9B,CAAC;AAED,SAAgB,qBAAqB,CACnC,cAA4C;IAE5C,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC5B,KAAK,0BAAkB,CAAC,UAAU;YAChC,OAAO,yBAAyB,CAAA;QAClC,KAAK,0BAAkB,CAAC,WAAW;YACjC,OAAO,cAAc,CAAA;QACvB;YACE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;KAChE;AACH,CAAC;AAXD,sDAWC;AAED,SAAgB,mBAAmB,CACjC,OAAsB,EACtB,OAAe;IAEf,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAClE,OAAO,OAAO;aACX,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;KACnE;IAED,OAAO,OAAO;SACX,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CACL,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAChC,CAAA;AACL,CAAC;AAhBD,kDAgBC;AAED,SAAS,gBAAgB,CAAC,MAAW,EAAE,GAAW;IAChD,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;QACvC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;KACnB;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAY;IAC3C,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAK,CAAC,IAAI,CAAA;AAC9D,CAAC;AAFD,4CAEC;AAED,SAAS,YAAY,CACnB,OAAsB,EACtB,OAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,OAAO,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAsB;IACtD,OAAO,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AAC/C,CAAC;AAFD,8CAEC;AAED,SAAgB,qBAAqB,CAAC,OAAsB;IAC1D,OAAO,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;AACnD,CAAC;AAFD,sDAEC;AAED,SAAgB,uBAAuB,CAAC,OAAsB;IAC5D,OAAO,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;AACrD,CAAC;AAFD,0DAEC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter, __rest } from "tslib";
|
|
2
2
|
import { EventAction } from '@botonic/core';
|
|
3
|
-
import { trackEvent } from '../tracking';
|
|
3
|
+
import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
|
|
4
4
|
export function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, }) {
|
|
5
5
|
return __awaiter(this, void 0, void 0, function* () {
|
|
6
6
|
const fallbackNode = yield getFallbackNode(cmsApi, request);
|
|
@@ -17,8 +17,13 @@ function getFallbackNode(cmsApi, request) {
|
|
|
17
17
|
const isFirstFallbackOption = !!request.session.user.extra_data.isFirstFallbackOption;
|
|
18
18
|
const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption);
|
|
19
19
|
request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption;
|
|
20
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(request, fallbackNode.id);
|
|
20
21
|
const event = {
|
|
21
22
|
action: EventAction.Fallback,
|
|
23
|
+
flowId,
|
|
24
|
+
flowName,
|
|
25
|
+
flowNodeId,
|
|
26
|
+
flowNodeContentId,
|
|
22
27
|
userInput: request.input.data,
|
|
23
28
|
fallbackOut: isFirstFallbackOption ? 1 : 2,
|
|
24
29
|
fallbackMessageId: request.input.message_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/action/fallback.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,eAAe,CAAA;AAK1D,OAAO,
|
|
1
|
+
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/action/fallback.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAiB,MAAM,eAAe,CAAA;AAK1D,OAAO,EACL,yCAAyC,EACzC,UAAU,GACX,MAAM,aAAa,CAAA;AAGpB,MAAM,UAAgB,qBAAqB,CAAC,EAC1C,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY;;QACnB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC3D,MAAM,gBAAgB,GACpB,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAEzD,OAAO,gBAAgB,CAAA;IACzB,CAAC;CAAA;AAED,SAAe,eAAe,CAAC,MAAsB,EAAE,OAAsB;;;QAC3E,IAAI,CAAA,MAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,0CAAE,qBAAqB,MAAK,SAAS,EAAE;YACxE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,mCAC1B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,KAClC,qBAAqB,EAAE,IAAI,GAC5B,CAAA;SACF;QAED,MAAM,qBAAqB,GACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAA;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAA;QAClE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,qBAAqB,CAAA;QAE9E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACvD,yCAAyC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;QAErE,MAAM,KAAK,GAAkB;YAC3B,MAAM,EAAE,WAAW,CAAC,QAAQ;YAC5B,MAAM;YACN,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAc;YACvC,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;SAC5C,CAAA;QACD,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAA;QAEtC,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAE5C,OAAO,YAAY,CAAA;;CACpB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { __awaiter, __rest } from "tslib";
|
|
2
2
|
import { EventAction, KnowledgebaseFailReason, } from '@botonic/core';
|
|
3
3
|
import { DISABLED_MEMORY_LENGTH, FlowKnowledgeBase, } from '../content-fields';
|
|
4
|
-
import {
|
|
5
|
-
import { trackEvent } from '../tracking';
|
|
4
|
+
import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
|
|
6
5
|
import { inputHasTextData, isKnowledgeBasesAllowed } from '../utils';
|
|
7
6
|
export function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request, }) {
|
|
8
7
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -58,8 +57,6 @@ function updateContentsWithResponse(contents, response) {
|
|
|
58
57
|
}
|
|
59
58
|
function trackKnowledgeBase(response, request, knowledgeBaseContent) {
|
|
60
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
|
|
62
|
-
const flowId = flowBuilderPlugin.cmsApi.getNodeById(knowledgeBaseContent.id).flow_id;
|
|
63
60
|
const getKnowledgeFailReason = () => {
|
|
64
61
|
let knowledgebaseFailReason;
|
|
65
62
|
if (!response.isFaithful) {
|
|
@@ -70,6 +67,7 @@ function trackKnowledgeBase(response, request, knowledgeBaseContent) {
|
|
|
70
67
|
}
|
|
71
68
|
return knowledgebaseFailReason;
|
|
72
69
|
};
|
|
70
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(request, knowledgeBaseContent.id);
|
|
73
71
|
const event = {
|
|
74
72
|
action: EventAction.Knowledgebase,
|
|
75
73
|
knowledgebaseInferenceId: response.inferenceId,
|
|
@@ -79,8 +77,10 @@ function trackKnowledgeBase(response, request, knowledgeBaseContent) {
|
|
|
79
77
|
knowledgebaseMessageId: request.input.message_id,
|
|
80
78
|
userInput: request.input.data,
|
|
81
79
|
flowThreadId: request.session.flow_thread_id,
|
|
82
|
-
flowId
|
|
83
|
-
|
|
80
|
+
flowId,
|
|
81
|
+
flowName,
|
|
82
|
+
flowNodeId,
|
|
83
|
+
flowNodeContentId,
|
|
84
84
|
};
|
|
85
85
|
const { action } = event, eventArgs = __rest(event, ["action"]);
|
|
86
86
|
yield trackEvent(request, action, eventArgs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,WAAW,EAEX,uBAAuB,GAGxB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,sBAAsB,EAEtB,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,WAAW,EAEX,uBAAuB,GAGxB,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,sBAAsB,EAEtB,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,yCAAyC,EACzC,UAAU,GACX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAGpE,MAAM,UAAgB,0BAA0B,CAAC,EAC/C,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY;;QACnB,IAAI,uBAAuB,CAAC,OAAO,CAAC,EAAE;YACpC,MAAM,0BAA0B,GAAG,MAAM,CAAC,6BAA6B,EAAE,CAAA;YACzE,MAAM,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,EAAE,CAAA;YAE9D,IAAI,CAAC,0BAA0B,IAAI,CAAC,sBAAsB,EAAE;gBAC1D,OAAO,EAAE,CAAA;aACV;YAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CACxD,0BAA0B,CAC3B,CAAA;YAED,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CACxC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,iBAAiB,CAC3B,CAAA;YAEtB,IAAI,CAAC,oBAAoB,EAAE;gBACzB,OAAO,QAAQ,CAAA;aAChB;YAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAE3E,IACE,iBAAiB,CAAC,wBAAwB;gBAC1C,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC/B,SAAS,CAAC,MAAM,GAAG,CAAC,EACpB;gBACA,MAAM,6BAA6B,GACjC,MAAM,gCAAgC,CACpC,iBAAiB,CAAC,wBAAwB,EAC1C,OAAO,EACP,QAAQ,EACR,oBAAoB,CACrB,CAAA;gBAEH,IAAI,6BAA6B,EAAE;oBACjC,OAAO,6BAA6B,CAAA;iBACrC;aACF;SACF;QAED,OAAO,EAAE,CAAA;IACX,CAAC;CAAA;AAED,SAAe,gCAAgC,CAG7C,wBAAkD,EAClD,OAAsB,EACtB,QAAuB,EACvB,oBAAuC;;QAEvC,MAAM,SAAS,GAAG,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3E,MAAM,YAAY,GAAG,oBAAoB,CAAC,YAAY,CAAA;QACtD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAA;QAC1C,MAAM,YAAY,GAAG,oBAAoB,CAAC,SAAS;YACjD,CAAC,CAAC,oBAAoB,CAAC,YAAY;YACnC,CAAC,CAAC,sBAAsB,CAAA;QAE1B,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,CAC1D,OAAO,EACP,SAAS,EACT,YAAY,EACZ,SAAS,EACT,YAAY,CACb,CAAA;QACD,MAAM,kBAAkB,CAAC,qBAAqB,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAA;QAE9E,IACE,CAAC,qBAAqB,CAAC,YAAY;YACnC,CAAC,qBAAqB,CAAC,UAAU,EACjC;YACA,OAAO,SAAS,CAAA;SACjB;QAED,OAAO,0BAA0B,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IACpE,CAAC;CAAA;AAED,SAAS,0BAA0B,CACjC,QAAuB,EACvB,QAAgC;IAEhC,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC5B,IAAI,OAAO,YAAY,iBAAiB,EAAE;YACxC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAA;YAC9B,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;SAC3C;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAe,kBAAkB,CAC/B,QAAgC,EAChC,OAAmB,EACnB,oBAAuC;;QAEvC,MAAM,sBAAsB,GAAG,GAAwC,EAAE;YACvE,IAAI,uBAA4D,CAAA;YAEhE,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;gBACxB,uBAAuB,GAAG,uBAAuB,CAAC,aAAa,CAAA;aAChE;YAED,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;gBAC1B,uBAAuB,GAAG,uBAAuB,CAAC,WAAW,CAAA;aAC9D;YACD,OAAO,uBAAuB,CAAA;QAChC,CAAC,CAAA;QAED,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACvD,yCAAyC,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAE7E,MAAM,KAAK,GAAuB;YAChC,MAAM,EAAE,WAAW,CAAC,aAAa;YACjC,wBAAwB,EAAE,QAAQ,CAAC,WAAW;YAC9C,uBAAuB,EAAE,sBAAsB,EAAE;YACjD,uBAAuB,EAAE,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAC3D,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CACpB;YACD,sBAAsB,EAAE,QAAQ,CAAC,QAAQ;YACzC,sBAAsB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;YAChD,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAc;YACvC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,cAAwB;YACtD,MAAM;YACN,QAAQ;YACR,UAAU;YACV,iBAAiB;SAClB,CAAA;QAED,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAA;QAEtC,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,CAAC;CAAA"}
|
|
@@ -2,6 +2,7 @@ import { __awaiter } from "tslib";
|
|
|
2
2
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import { HandOffBuilder, HelpdeskEvent, isDev, isWebchat } from '@botonic/core';
|
|
4
4
|
import { WebchatSettings } from '@botonic/react';
|
|
5
|
+
import { getCommonFlowContentEventArgsForContentId } from '../tracking';
|
|
5
6
|
import { ContentFieldsBase } from './content-fields-base';
|
|
6
7
|
export class FlowHandoff extends ContentFieldsBase {
|
|
7
8
|
static fromHubtypeCMS(cmsHandoff, locale, cmsApi) {
|
|
@@ -35,11 +36,13 @@ export class FlowHandoff extends ContentFieldsBase {
|
|
|
35
36
|
}
|
|
36
37
|
if (this.queue) {
|
|
37
38
|
const language = request.getSystemLocale();
|
|
38
|
-
const country = request.getUserCountry();
|
|
39
39
|
handOffBuilder.withQueue(this.queue.id);
|
|
40
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(request, this.id);
|
|
40
41
|
handOffBuilder.withBotEvent({
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
flowId,
|
|
43
|
+
flowName,
|
|
44
|
+
flowNodeId,
|
|
45
|
+
flowNodeContentId,
|
|
43
46
|
});
|
|
44
47
|
handOffBuilder.withExtraData({
|
|
45
48
|
language,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC/E,OAAO,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAG/D,OAAO,EAAE,yCAAyC,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAQhD,MAAM,CAAC,cAAc,CACnB,UAAyB,EACzB,MAAc,EACd,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACjD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QACjC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1E,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACxE,UAAU,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAA;QACjE,UAAU,CAAC,2CAA2C;YACpD,UAAU,CAAC,OAAO,CAAC,gDAAgD,CAAA;QACrE,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC/B,UAAyB,EACzB,MAAsB;;QAEtB,IAAI,MAAA,UAAU,CAAC,MAAM,0CAAE,EAAE,EAAE;YACzB,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SAC5C;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEK,SAAS,CAAC,OAAsB;;YACpC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1D,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAE9D,IAAI,IAAI,CAAC,2CAA2C,EAAE;gBACpD,cAAc,CAAC,2BAA2B,CAAC;oBACzC,aAAa,CAAC,oBAAoB;iBACnC,CAAC,CAAA;aACH;YAED,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aACzD;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,EAAE,CAAA;gBAE1C,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAEvC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACvD,yCAAyC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;gBAE7D,cAAc,CAAC,YAAY,CAAC;oBAC1B,MAAM;oBACN,QAAQ;oBACR,UAAU;oBACV,iBAAiB;iBAClB,CAAC,CAAA;gBAEF,cAAc,CAAC,aAAa,CAAC;oBAC3B,QAAQ;iBACT,CAAC,CAAA;gBAEF,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;aAC/B;QACH,CAAC;KAAA;IAED,SAAS,CAAC,EAAU,EAAE,OAAsB;QAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC5D,KAAC,eAAe,IAAU,eAAe,EAAE,IAAI,IAAzB,EAAE,CAA2B,CACpD,CAAC,CAAC,CAAC,CACF,mBAAK,CACN,CAAA;IACH,CAAC;CACF"}
|
package/lib/esm/tracking.d.ts
CHANGED
|
@@ -3,3 +3,11 @@ import { ActionRequest } from '@botonic/react';
|
|
|
3
3
|
import { FlowContent } from './content-fields';
|
|
4
4
|
export declare function trackEvent(request: ActionRequest, eventAction: EventAction, args?: Record<string, any>): Promise<void>;
|
|
5
5
|
export declare function trackFlowContent(request: ActionRequest, contents: FlowContent[]): Promise<void>;
|
|
6
|
+
type CommonFlowContentEventArgs = {
|
|
7
|
+
flowId: string;
|
|
8
|
+
flowName: string;
|
|
9
|
+
flowNodeId: string;
|
|
10
|
+
flowNodeContentId: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function getCommonFlowContentEventArgsForContentId(request: ActionRequest, contentId: string): CommonFlowContentEventArgs;
|
|
13
|
+
export {};
|
package/lib/esm/tracking.js
CHANGED
|
@@ -29,18 +29,34 @@ export function trackFlowContent(request, contents) {
|
|
|
29
29
|
}
|
|
30
30
|
function getContentEventArgs(request, nodeContent) {
|
|
31
31
|
var _a, _b;
|
|
32
|
-
const
|
|
33
|
-
const flowName = flowBuilderPlugin.getFlowName(nodeContent.flow_id);
|
|
32
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgs(request, nodeContent);
|
|
34
33
|
const flowThreadId = (_a = request.session.flow_thread_id) !== null && _a !== void 0 ? _a : uuidv7();
|
|
35
34
|
request.session.flow_thread_id = flowThreadId;
|
|
36
35
|
return {
|
|
37
36
|
action: EventAction.FlowNode,
|
|
37
|
+
flowId,
|
|
38
|
+
flowName,
|
|
39
|
+
flowNodeId,
|
|
40
|
+
flowNodeContentId,
|
|
38
41
|
flowThreadId,
|
|
42
|
+
flowNodeIsMeaningful: (_b = nodeContent.is_meaningful) !== null && _b !== void 0 ? _b : false,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function getCommonFlowContentEventArgs(request, nodeContent) {
|
|
46
|
+
var _a;
|
|
47
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
|
|
48
|
+
const flowName = flowBuilderPlugin.getFlowName(nodeContent.flow_id);
|
|
49
|
+
return {
|
|
39
50
|
flowId: nodeContent.flow_id,
|
|
40
|
-
flowName
|
|
51
|
+
flowName,
|
|
41
52
|
flowNodeId: nodeContent.id,
|
|
42
|
-
flowNodeContentId: nodeContent.code,
|
|
43
|
-
flowNodeIsMeaningful: (_b = nodeContent.is_meaningful) !== null && _b !== void 0 ? _b : false,
|
|
53
|
+
flowNodeContentId: (_a = nodeContent.code) !== null && _a !== void 0 ? _a : '',
|
|
44
54
|
};
|
|
45
55
|
}
|
|
56
|
+
export function getCommonFlowContentEventArgsForContentId(request, contentId) {
|
|
57
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
|
|
58
|
+
const cmsApi = flowBuilderPlugin.cmsApi;
|
|
59
|
+
const nodeContent = cmsApi.getNodeById(contentId);
|
|
60
|
+
return getCommonFlowContentEventArgs(request, nodeContent);
|
|
61
|
+
}
|
|
46
62
|
//# sourceMappingURL=tracking.js.map
|
package/lib/esm/tracking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,eAAe,CAAA;AAEtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,EAEL,qBAAqB,GACtB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,UAAgB,UAAU,CAC9B,OAAsB,EACtB,WAAwB,EACxB,IAA0B;;QAE1B,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,IAAI,iBAAiB,CAAC,UAAU,EAAE;YAChC,MAAM,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;SAC/D;QACD,OAAM;IACR,CAAC;CAAA;AAED,MAAM,UAAgB,gBAAgB,CACpC,OAAsB,EACtB,QAAuB;;QAEvB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;QACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAoB,OAAO,CAAC,EAAE,CAAC,CAAA;YACrE,IACE,WAAW,CAAC,IAAI,KAAK,qBAAqB,CAAC,cAAc;gBACzD,WAAW,CAAC,IAAI,KAAK,qBAAqB,CAAC,QAAQ,EACnD;gBACA,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;gBACvD,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAA;gBACtC,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;aAC7C;SACF;IACH,CAAC;CAAA;AAED,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,WAA8B;;IAE9B,MAAM,
|
|
1
|
+
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __awaiter, __rest } from "tslib";
|
|
2
2
|
import { EventAction, NluType } from '@botonic/core';
|
|
3
3
|
import { REG_EXP_PATTERN } from '../constants';
|
|
4
|
-
import { trackEvent } from '../tracking';
|
|
4
|
+
import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
|
|
5
5
|
export class KeywordMatcher {
|
|
6
6
|
constructor({ cmsApi, locale, request }) {
|
|
7
7
|
this.cmsApi = cmsApi;
|
|
@@ -63,11 +63,14 @@ export class KeywordMatcher {
|
|
|
63
63
|
}
|
|
64
64
|
trackKeywordEvent() {
|
|
65
65
|
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(this.request, this.keywordNodeId);
|
|
66
67
|
const event = {
|
|
67
68
|
action: EventAction.Keyword,
|
|
69
|
+
flowNodeId,
|
|
70
|
+
flowId,
|
|
71
|
+
flowName,
|
|
72
|
+
flowNodeContentId,
|
|
68
73
|
flowThreadId: this.request.session.flow_thread_id,
|
|
69
|
-
flowNodeId: this.keywordNodeId,
|
|
70
|
-
flowId: this.flowId,
|
|
71
74
|
nluKeywordName: this.matchedKeyword,
|
|
72
75
|
nluKeywordIsRegex: this.isRegExp,
|
|
73
76
|
nluKeywordMessageId: this.request.input.message_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAgB,OAAO,EAAE,MAAM,eAAe,CAAA;AAIlE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAK9C,OAAO,
|
|
1
|
+
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { __awaiter, __rest } from "tslib";
|
|
|
2
2
|
import { EventAction, NluType } from '@botonic/core';
|
|
3
3
|
import axios from 'axios';
|
|
4
4
|
import { getFlowBuilderPlugin } from '../helpers';
|
|
5
|
-
import { trackEvent } from '../tracking';
|
|
5
|
+
import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
|
|
6
6
|
export class SmartIntentsApi {
|
|
7
7
|
constructor(cmsApi, currentRequest, smartIntentsConfig, flowId) {
|
|
8
8
|
this.cmsApi = cmsApi;
|
|
@@ -33,6 +33,7 @@ export class SmartIntentsApi {
|
|
|
33
33
|
matchedValue: smartIntentNode.content.title,
|
|
34
34
|
payload: targetPayload,
|
|
35
35
|
};
|
|
36
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(this.currentRequest, smartIntentNode.id);
|
|
36
37
|
const event = {
|
|
37
38
|
action: EventAction.IntentSmart,
|
|
38
39
|
nluIntentSmartTitle: response.data.smart_intent_title,
|
|
@@ -40,8 +41,10 @@ export class SmartIntentsApi {
|
|
|
40
41
|
nluIntentSmartMessageId: this.currentRequest.input.message_id,
|
|
41
42
|
userInput: this.currentRequest.input.data,
|
|
42
43
|
flowThreadId: this.currentRequest.session.flow_thread_id,
|
|
43
|
-
flowId
|
|
44
|
-
|
|
44
|
+
flowId,
|
|
45
|
+
flowName,
|
|
46
|
+
flowNodeContentId,
|
|
47
|
+
flowNodeId,
|
|
45
48
|
};
|
|
46
49
|
const { action } = event, eventArgs = __rest(event, ["action"]);
|
|
47
50
|
yield trackEvent(this.currentRequest, action, eventArgs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAoB,OAAO,EAAE,MAAM,eAAe,CAAA;AAEtE,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/utils.js
CHANGED
|
@@ -18,7 +18,7 @@ export function resolveGetAccessToken(getAccessToken) {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
export function getValueFromKeyPath(request, keyPath) {
|
|
21
|
-
if (keyPath.startsWith('input') || keyPath.startsWith('session')) {
|
|
21
|
+
if (keyPath.startsWith('input.') || keyPath.startsWith('session.')) {
|
|
22
22
|
return keyPath
|
|
23
23
|
.split('.')
|
|
24
24
|
.reduce((object, key) => resolveObjectKey(object, key), request);
|
package/lib/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,eAAe,CAAA;AAGrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAqB,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE/D,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;IACD,OAAO,OAAO,CAAC,aAAa,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,cAA4C;IAE5C,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC5B,KAAK,kBAAkB,CAAC,UAAU;YAChC,OAAO,yBAAyB,CAAA;QAClC,KAAK,kBAAkB,CAAC,WAAW;YACjC,OAAO,cAAc,CAAA;QACvB;YACE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;KAChE;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAsB,EACtB,OAAe;IAEf,IAAI,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAkB,MAAM,eAAe,CAAA;AAGrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAqB,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE/D,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;IACD,OAAO,OAAO,CAAC,aAAa,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,cAA4C;IAE5C,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC5B,KAAK,kBAAkB,CAAC,UAAU;YAChC,OAAO,yBAAyB,CAAA;QAClC,KAAK,kBAAkB,CAAC,WAAW;YACjC,OAAO,cAAc,CAAA;QACvB;YACE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;KAChE;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAsB,EACtB,OAAe;IAEf,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAClE,OAAO,OAAO;aACX,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;KACnE;IAED,OAAO,OAAO;SACX,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CACL,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAChC,CAAA;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAW,EAAE,GAAW;IAChD,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;QACvC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;KACnB;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAY;IAC3C,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAA;AAC9D,CAAC;AAED,SAAS,YAAY,CACnB,OAAsB,EACtB,OAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,OAAO,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAsB;IACtD,OAAO,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAsB;IAC1D,OAAO,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAsB;IAC5D,OAAO,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;AACrD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/plugin-flow-builder",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.0-alpha.1",
|
|
4
4
|
"main": "./lib/cjs/index.js",
|
|
5
5
|
"module": "./lib/esm/index.js",
|
|
6
6
|
"description": "Use Flow Builder to show your contents",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@botonic/react": "
|
|
18
|
-
"axios": "^1.
|
|
17
|
+
"@botonic/react": "0.41.0-alpha.1",
|
|
18
|
+
"axios": "^1.12.2",
|
|
19
19
|
"uuid": "^10.0.0"
|
|
20
20
|
},
|
|
21
21
|
"repository": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"README.md"
|
|
33
33
|
],
|
|
34
34
|
"engines": {
|
|
35
|
-
"node": ">=
|
|
35
|
+
"node": ">=22.19.0",
|
|
36
36
|
"npm": ">=10.0.0"
|
|
37
37
|
},
|
|
38
38
|
"keywords": [
|
package/src/action/fallback.ts
CHANGED
|
@@ -3,7 +3,10 @@ import { ActionRequest } from '@botonic/react'
|
|
|
3
3
|
|
|
4
4
|
import { FlowBuilderApi } from '../api'
|
|
5
5
|
import { FlowContent } from '../content-fields'
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
getCommonFlowContentEventArgsForContentId,
|
|
8
|
+
trackEvent,
|
|
9
|
+
} from '../tracking'
|
|
7
10
|
import { FlowBuilderContext } from './index'
|
|
8
11
|
|
|
9
12
|
export async function getContentsByFallback({
|
|
@@ -31,8 +34,15 @@ async function getFallbackNode(cmsApi: FlowBuilderApi, request: ActionRequest) {
|
|
|
31
34
|
const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption)
|
|
32
35
|
request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption
|
|
33
36
|
|
|
37
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } =
|
|
38
|
+
getCommonFlowContentEventArgsForContentId(request, fallbackNode.id)
|
|
39
|
+
|
|
34
40
|
const event: EventFallback = {
|
|
35
41
|
action: EventAction.Fallback,
|
|
42
|
+
flowId,
|
|
43
|
+
flowName,
|
|
44
|
+
flowNodeId,
|
|
45
|
+
flowNodeContentId,
|
|
36
46
|
userInput: request.input.data as string,
|
|
37
47
|
fallbackOut: isFirstFallbackOption ? 1 : 2,
|
|
38
48
|
fallbackMessageId: request.input.message_id,
|
|
@@ -12,9 +12,10 @@ import {
|
|
|
12
12
|
FlowContent,
|
|
13
13
|
FlowKnowledgeBase,
|
|
14
14
|
} from '../content-fields'
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
import {
|
|
16
|
+
getCommonFlowContentEventArgsForContentId,
|
|
17
|
+
trackEvent,
|
|
18
|
+
} from '../tracking'
|
|
18
19
|
import { KnowledgeBaseFunction } from '../types'
|
|
19
20
|
import { inputHasTextData, isKnowledgeBasesAllowed } from '../utils'
|
|
20
21
|
import { FlowBuilderContext } from './index'
|
|
@@ -121,11 +122,6 @@ async function trackKnowledgeBase(
|
|
|
121
122
|
request: BotContext,
|
|
122
123
|
knowledgeBaseContent: FlowKnowledgeBase
|
|
123
124
|
) {
|
|
124
|
-
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
|
|
125
|
-
const flowId = flowBuilderPlugin.cmsApi.getNodeById<HtNodeWithContent>(
|
|
126
|
-
knowledgeBaseContent.id
|
|
127
|
-
).flow_id
|
|
128
|
-
|
|
129
125
|
const getKnowledgeFailReason = (): KnowledgebaseFailReason | undefined => {
|
|
130
126
|
let knowledgebaseFailReason: KnowledgebaseFailReason | undefined
|
|
131
127
|
|
|
@@ -139,6 +135,9 @@ async function trackKnowledgeBase(
|
|
|
139
135
|
return knowledgebaseFailReason
|
|
140
136
|
}
|
|
141
137
|
|
|
138
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } =
|
|
139
|
+
getCommonFlowContentEventArgsForContentId(request, knowledgeBaseContent.id)
|
|
140
|
+
|
|
142
141
|
const event: EventKnowledgeBase = {
|
|
143
142
|
action: EventAction.Knowledgebase,
|
|
144
143
|
knowledgebaseInferenceId: response.inferenceId,
|
|
@@ -150,8 +149,10 @@ async function trackKnowledgeBase(
|
|
|
150
149
|
knowledgebaseMessageId: request.input.message_id,
|
|
151
150
|
userInput: request.input.data as string,
|
|
152
151
|
flowThreadId: request.session.flow_thread_id as string,
|
|
153
|
-
flowId
|
|
154
|
-
|
|
152
|
+
flowId,
|
|
153
|
+
flowName,
|
|
154
|
+
flowNodeId,
|
|
155
|
+
flowNodeContentId,
|
|
155
156
|
}
|
|
156
157
|
|
|
157
158
|
const { action, ...eventArgs } = event
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { HandOffBuilder, HelpdeskEvent, isDev, isWebchat } from '@botonic/core'
|
|
2
2
|
import { ActionRequest, WebchatSettings } from '@botonic/react'
|
|
3
|
-
import React from 'react'
|
|
4
3
|
|
|
5
4
|
import { FlowBuilderApi } from '../api'
|
|
5
|
+
import { getCommonFlowContentEventArgsForContentId } from '../tracking'
|
|
6
6
|
import { ContentFieldsBase } from './content-fields-base'
|
|
7
7
|
import { HtHandoffNode, HtQueueLocale } from './hubtype-fields'
|
|
8
8
|
|
|
@@ -56,13 +56,19 @@ export class FlowHandoff extends ContentFieldsBase {
|
|
|
56
56
|
|
|
57
57
|
if (this.queue) {
|
|
58
58
|
const language = request.getSystemLocale()
|
|
59
|
-
const country = request.getUserCountry()
|
|
60
59
|
|
|
61
60
|
handOffBuilder.withQueue(this.queue.id)
|
|
61
|
+
|
|
62
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } =
|
|
63
|
+
getCommonFlowContentEventArgsForContentId(request, this.id)
|
|
64
|
+
|
|
62
65
|
handOffBuilder.withBotEvent({
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
flowId,
|
|
67
|
+
flowName,
|
|
68
|
+
flowNodeId,
|
|
69
|
+
flowNodeContentId,
|
|
65
70
|
})
|
|
71
|
+
|
|
66
72
|
handOffBuilder.withExtraData({
|
|
67
73
|
language,
|
|
68
74
|
})
|
package/src/tracking.ts
CHANGED
|
@@ -44,18 +44,52 @@ function getContentEventArgs(
|
|
|
44
44
|
request: ActionRequest,
|
|
45
45
|
nodeContent: HtNodeWithContent
|
|
46
46
|
): EventFlow {
|
|
47
|
-
const
|
|
48
|
-
|
|
47
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } =
|
|
48
|
+
getCommonFlowContentEventArgs(request, nodeContent)
|
|
49
|
+
|
|
49
50
|
const flowThreadId = request.session.flow_thread_id ?? uuidv7()
|
|
50
51
|
request.session.flow_thread_id = flowThreadId
|
|
51
52
|
|
|
52
53
|
return {
|
|
53
54
|
action: EventAction.FlowNode,
|
|
55
|
+
flowId,
|
|
56
|
+
flowName,
|
|
57
|
+
flowNodeId,
|
|
58
|
+
flowNodeContentId,
|
|
54
59
|
flowThreadId,
|
|
60
|
+
flowNodeIsMeaningful: nodeContent.is_meaningful ?? false,
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
type CommonFlowContentEventArgs = {
|
|
65
|
+
flowId: string
|
|
66
|
+
flowName: string
|
|
67
|
+
flowNodeId: string
|
|
68
|
+
flowNodeContentId: string
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function getCommonFlowContentEventArgs(
|
|
72
|
+
request: ActionRequest,
|
|
73
|
+
nodeContent: HtNodeWithContent
|
|
74
|
+
): CommonFlowContentEventArgs {
|
|
75
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
|
|
76
|
+
const flowName = flowBuilderPlugin.getFlowName(nodeContent.flow_id)
|
|
77
|
+
|
|
78
|
+
return {
|
|
55
79
|
flowId: nodeContent.flow_id,
|
|
56
|
-
flowName
|
|
80
|
+
flowName,
|
|
57
81
|
flowNodeId: nodeContent.id,
|
|
58
|
-
flowNodeContentId: nodeContent.code,
|
|
59
|
-
flowNodeIsMeaningful: nodeContent.is_meaningful ?? false,
|
|
82
|
+
flowNodeContentId: nodeContent.code ?? '',
|
|
60
83
|
}
|
|
61
84
|
}
|
|
85
|
+
|
|
86
|
+
export function getCommonFlowContentEventArgsForContentId(
|
|
87
|
+
request: ActionRequest,
|
|
88
|
+
contentId: string
|
|
89
|
+
): CommonFlowContentEventArgs {
|
|
90
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
|
|
91
|
+
const cmsApi = flowBuilderPlugin.cmsApi
|
|
92
|
+
const nodeContent = cmsApi.getNodeById<HtNodeWithContent>(contentId)
|
|
93
|
+
|
|
94
|
+
return getCommonFlowContentEventArgs(request, nodeContent)
|
|
95
|
+
}
|
|
@@ -7,7 +7,10 @@ import {
|
|
|
7
7
|
HtKeywordNode,
|
|
8
8
|
HtNodeWithContent,
|
|
9
9
|
} from '../content-fields/hubtype-fields'
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
getCommonFlowContentEventArgsForContentId,
|
|
12
|
+
trackEvent,
|
|
13
|
+
} from '../tracking'
|
|
11
14
|
|
|
12
15
|
interface KeywordProps {
|
|
13
16
|
cmsApi: FlowBuilderApi
|
|
@@ -101,11 +104,19 @@ export class KeywordMatcher {
|
|
|
101
104
|
}
|
|
102
105
|
|
|
103
106
|
private async trackKeywordEvent() {
|
|
107
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } =
|
|
108
|
+
getCommonFlowContentEventArgsForContentId(
|
|
109
|
+
this.request,
|
|
110
|
+
this.keywordNodeId as string
|
|
111
|
+
)
|
|
112
|
+
|
|
104
113
|
const event: EventKeyword = {
|
|
105
114
|
action: EventAction.Keyword,
|
|
115
|
+
flowNodeId,
|
|
116
|
+
flowId,
|
|
117
|
+
flowName,
|
|
118
|
+
flowNodeContentId,
|
|
106
119
|
flowThreadId: this.request.session.flow_thread_id as string,
|
|
107
|
-
flowNodeId: this.keywordNodeId as string,
|
|
108
|
-
flowId: this.flowId as string,
|
|
109
120
|
nluKeywordName: this.matchedKeyword as string,
|
|
110
121
|
nluKeywordIsRegex: this.isRegExp,
|
|
111
122
|
nluKeywordMessageId: this.request.input.message_id,
|
|
@@ -5,7 +5,10 @@ import axios from 'axios'
|
|
|
5
5
|
import { FlowBuilderApi } from '../api'
|
|
6
6
|
import { HtSmartIntentNode } from '../content-fields/hubtype-fields/smart-intent'
|
|
7
7
|
import { getFlowBuilderPlugin } from '../helpers'
|
|
8
|
-
import {
|
|
8
|
+
import {
|
|
9
|
+
getCommonFlowContentEventArgsForContentId,
|
|
10
|
+
trackEvent,
|
|
11
|
+
} from '../tracking'
|
|
9
12
|
import { SmartIntentResponse } from '../types'
|
|
10
13
|
|
|
11
14
|
export interface SmartIntentsInferenceParams {
|
|
@@ -55,6 +58,12 @@ export class SmartIntentsApi {
|
|
|
55
58
|
payload: targetPayload,
|
|
56
59
|
}
|
|
57
60
|
|
|
61
|
+
const { flowId, flowName, flowNodeId, flowNodeContentId } =
|
|
62
|
+
getCommonFlowContentEventArgsForContentId(
|
|
63
|
+
this.currentRequest,
|
|
64
|
+
smartIntentNode.id
|
|
65
|
+
)
|
|
66
|
+
|
|
58
67
|
const event: EventIntentSmart = {
|
|
59
68
|
action: EventAction.IntentSmart,
|
|
60
69
|
nluIntentSmartTitle: response.data.smart_intent_title,
|
|
@@ -62,8 +71,10 @@ export class SmartIntentsApi {
|
|
|
62
71
|
nluIntentSmartMessageId: this.currentRequest.input.message_id,
|
|
63
72
|
userInput: this.currentRequest.input.data,
|
|
64
73
|
flowThreadId: this.currentRequest.session.flow_thread_id as string,
|
|
65
|
-
flowId
|
|
66
|
-
|
|
74
|
+
flowId,
|
|
75
|
+
flowName,
|
|
76
|
+
flowNodeContentId,
|
|
77
|
+
flowNodeId,
|
|
67
78
|
}
|
|
68
79
|
const { action, ...eventArgs } = event
|
|
69
80
|
|
package/src/utils.ts
CHANGED
|
@@ -28,7 +28,7 @@ export function getValueFromKeyPath(
|
|
|
28
28
|
request: ActionRequest,
|
|
29
29
|
keyPath: string
|
|
30
30
|
): any {
|
|
31
|
-
if (keyPath.startsWith('input') || keyPath.startsWith('session')) {
|
|
31
|
+
if (keyPath.startsWith('input.') || keyPath.startsWith('session.')) {
|
|
32
32
|
return keyPath
|
|
33
33
|
.split('.')
|
|
34
34
|
.reduce((object, key) => resolveObjectKey(object, key), request)
|