@botonic/plugin-flow-builder 0.26.1 → 0.27.0-alpha.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/lib/cjs/action/index.js +39 -19
- package/lib/cjs/action/index.js.map +1 -1
- package/lib/cjs/action/knowledge-bases.js +14 -4
- package/lib/cjs/action/knowledge-bases.js.map +1 -1
- package/lib/cjs/api.d.ts +4 -6
- package/lib/cjs/api.js +7 -33
- package/lib/cjs/api.js.map +1 -1
- package/lib/cjs/constants.d.ts +1 -0
- package/lib/cjs/constants.js +2 -1
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/content-fields/flow-button.d.ts +0 -1
- package/lib/cjs/content-fields/flow-button.js +0 -10
- package/lib/cjs/content-fields/flow-button.js.map +1 -1
- package/lib/cjs/content-fields/flow-handoff.js +7 -19
- package/lib/cjs/content-fields/flow-handoff.js.map +1 -1
- package/lib/cjs/content-fields/hubtype-fields/button.d.ts +1 -2
- package/lib/cjs/content-fields/index.d.ts +1 -0
- package/lib/cjs/content-fields/index.js +3 -1
- package/lib/cjs/content-fields/index.js.map +1 -1
- package/lib/cjs/functions/conditional-queue-status.d.ts +7 -1
- package/lib/cjs/functions/conditional-queue-status.js +34 -12
- package/lib/cjs/functions/conditional-queue-status.js.map +1 -1
- package/lib/cjs/index.d.ts +7 -1
- package/lib/cjs/index.js +29 -6
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/tracking.d.ts +18 -14
- package/lib/cjs/tracking.js +27 -20
- package/lib/cjs/tracking.js.map +1 -1
- package/lib/cjs/types.d.ts +14 -1
- package/lib/cjs/types.js.map +1 -1
- package/lib/cjs/user-input/index.d.ts +2 -1
- package/lib/cjs/user-input/index.js +9 -3
- package/lib/cjs/user-input/index.js.map +1 -1
- package/lib/cjs/user-input/intent.js +12 -8
- package/lib/cjs/user-input/intent.js.map +1 -1
- package/lib/cjs/user-input/keyword.d.ts +21 -1
- package/lib/cjs/user-input/keyword.js +68 -13
- package/lib/cjs/user-input/keyword.js.map +1 -1
- package/lib/cjs/user-input/smart-intent.d.ts +18 -1
- package/lib/cjs/user-input/smart-intent.js +46 -29
- package/lib/cjs/user-input/smart-intent.js.map +1 -1
- package/lib/esm/action/index.js +39 -19
- package/lib/esm/action/index.js.map +1 -1
- package/lib/esm/action/knowledge-bases.js +15 -5
- package/lib/esm/action/knowledge-bases.js.map +1 -1
- package/lib/esm/api.d.ts +4 -6
- package/lib/esm/api.js +8 -34
- package/lib/esm/api.js.map +1 -1
- package/lib/esm/constants.d.ts +1 -0
- package/lib/esm/constants.js +1 -0
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/content-fields/flow-button.d.ts +0 -1
- package/lib/esm/content-fields/flow-button.js +0 -10
- package/lib/esm/content-fields/flow-button.js.map +1 -1
- package/lib/esm/content-fields/flow-handoff.js +7 -19
- package/lib/esm/content-fields/flow-handoff.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/button.d.ts +1 -2
- package/lib/esm/content-fields/index.d.ts +1 -0
- package/lib/esm/content-fields/index.js +1 -0
- package/lib/esm/content-fields/index.js.map +1 -1
- package/lib/esm/functions/conditional-queue-status.d.ts +7 -1
- package/lib/esm/functions/conditional-queue-status.js +32 -11
- package/lib/esm/functions/conditional-queue-status.js.map +1 -1
- package/lib/esm/index.d.ts +7 -1
- package/lib/esm/index.js +30 -7
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/tracking.d.ts +18 -14
- package/lib/esm/tracking.js +25 -19
- package/lib/esm/tracking.js.map +1 -1
- package/lib/esm/types.d.ts +14 -1
- package/lib/esm/types.js.map +1 -1
- package/lib/esm/user-input/index.d.ts +2 -1
- package/lib/esm/user-input/index.js +11 -5
- package/lib/esm/user-input/index.js.map +1 -1
- package/lib/esm/user-input/intent.js +13 -9
- package/lib/esm/user-input/intent.js.map +1 -1
- package/lib/esm/user-input/keyword.d.ts +21 -1
- package/lib/esm/user-input/keyword.js +67 -12
- package/lib/esm/user-input/keyword.js.map +1 -1
- package/lib/esm/user-input/smart-intent.d.ts +18 -1
- package/lib/esm/user-input/smart-intent.js +44 -27
- package/lib/esm/user-input/smart-intent.js.map +1 -1
- package/package.json +3 -3
- package/src/action/index.tsx +58 -24
- package/src/action/knowledge-bases.ts +16 -5
- package/src/api.ts +12 -55
- package/src/constants.ts +1 -0
- package/src/content-fields/flow-button.tsx +0 -10
- package/src/content-fields/flow-handoff.tsx +8 -28
- package/src/content-fields/hubtype-fields/button.ts +1 -7
- package/src/content-fields/index.ts +1 -0
- package/src/functions/conditional-queue-status.ts +36 -13
- package/src/index.ts +48 -7
- package/src/tracking.ts +25 -14
- package/src/types.ts +13 -1
- package/src/user-input/index.ts +13 -7
- package/src/user-input/intent.ts +17 -10
- package/src/user-input/keyword.ts +93 -14
- package/src/user-input/smart-intent.ts +57 -30
package/lib/cjs/action/index.js
CHANGED
|
@@ -7,15 +7,12 @@ const react_1 = require("@botonic/react");
|
|
|
7
7
|
const react_2 = tslib_1.__importDefault(require("react"));
|
|
8
8
|
const content_fields_1 = require("../content-fields");
|
|
9
9
|
const helpers_1 = require("../helpers");
|
|
10
|
-
const knowledge_bases_1 = require("./knowledge-bases");
|
|
11
10
|
const tracking_1 = require("../tracking");
|
|
11
|
+
const knowledge_bases_1 = require("./knowledge-bases");
|
|
12
12
|
class FlowBuilderAction extends react_2.default.Component {
|
|
13
13
|
static botonicInit(request) {
|
|
14
14
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const
|
|
16
|
-
const locale = flowBuilderPlugin.getLocale(request.session);
|
|
17
|
-
const targetNode = yield getTargetNode(flowBuilderPlugin.cmsApi, request);
|
|
18
|
-
const contents = yield flowBuilderPlugin.getContentsByNode(targetNode, locale);
|
|
15
|
+
const contents = yield getContents(request);
|
|
19
16
|
const handoffContent = contents.find(content => content instanceof content_fields_1.FlowHandoff);
|
|
20
17
|
if (handoffContent)
|
|
21
18
|
yield handoffContent.doHandoff(request);
|
|
@@ -38,25 +35,46 @@ class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
37
|
exports.FlowBuilderMultichannelAction = FlowBuilderMultichannelAction;
|
|
41
|
-
function
|
|
38
|
+
function getContents(request) {
|
|
42
39
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
|
|
41
|
+
const cmsApi = flowBuilderPlugin.cmsApi;
|
|
42
|
+
const locale = flowBuilderPlugin.getLocale(request.session);
|
|
43
|
+
const resolvedLocale = flowBuilderPlugin.cmsApi.getResolvedLocale(locale);
|
|
44
|
+
const context = {
|
|
45
|
+
cmsApi,
|
|
46
|
+
flowBuilderPlugin,
|
|
47
|
+
request,
|
|
48
|
+
resolvedLocale,
|
|
49
|
+
};
|
|
43
50
|
if (request.session.is_first_interaction) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
return yield flowBuilderPlugin.getStartContents(resolvedLocale);
|
|
52
|
+
}
|
|
53
|
+
if (request.input.payload) {
|
|
54
|
+
return yield getContentsByPayload(context);
|
|
47
55
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
56
|
+
return yield getContentsByFallback(context);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function getContentsByPayload({ cmsApi, flowBuilderPlugin, request, resolvedLocale, }) {
|
|
60
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const targetNode = request.input.payload
|
|
62
|
+
? cmsApi.getNodeById(request.input.payload)
|
|
51
63
|
: undefined;
|
|
52
64
|
if (targetNode) {
|
|
53
|
-
const eventArgs =
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
yield (0, tracking_1.trackEvent)(request, tracking_1.EventName.botFaq, eventArgs);
|
|
57
|
-
return targetNode;
|
|
65
|
+
const eventArgs = (0, tracking_1.getNodeEventArgs)(request, targetNode);
|
|
66
|
+
yield (0, tracking_1.trackEvent)(request, tracking_1.EventAction.flowNode, eventArgs);
|
|
67
|
+
return yield flowBuilderPlugin.getContentsByNode(targetNode, resolvedLocale);
|
|
58
68
|
}
|
|
59
|
-
return
|
|
69
|
+
return [];
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, resolvedLocale, }) {
|
|
73
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const fallbackNode = yield getFallbackNode(cmsApi, request);
|
|
75
|
+
const eventArgs = (0, tracking_1.getNodeEventArgs)(request, fallbackNode);
|
|
76
|
+
yield (0, tracking_1.trackEvent)(request, tracking_1.EventAction.flowNode, eventArgs);
|
|
77
|
+
return yield flowBuilderPlugin.getContentsByNode(fallbackNode, resolvedLocale);
|
|
60
78
|
});
|
|
61
79
|
}
|
|
62
80
|
function getFallbackNode(cmsApi, request) {
|
|
@@ -72,7 +90,9 @@ function getFallbackNode(cmsApi, request) {
|
|
|
72
90
|
const isFirstFallbackOption = !!request.session.user.extra_data.isFirstFallbackOption;
|
|
73
91
|
const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption);
|
|
74
92
|
request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption;
|
|
75
|
-
|
|
93
|
+
(0, tracking_1.trackEvent)(request, tracking_1.EventAction.fallback, {
|
|
94
|
+
fallbackAttempt: isFirstFallbackOption ? 1 : 2,
|
|
95
|
+
});
|
|
76
96
|
return fallbackNode;
|
|
77
97
|
});
|
|
78
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":";;;;;AAAA,0CAA4E;AAC5E,0DAAyB;AAGzB,sDAA4D;AAE5D,wCAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,9 @@ function createNodeFromKnowledgeBase(cmsApi, request) {
|
|
|
17
17
|
try {
|
|
18
18
|
const knowledgeBaseResponse = yield flowBuilderPlugin.getKnowledgeBaseResponse(request);
|
|
19
19
|
if (knowledgeBaseResponse.hasKnowledge) {
|
|
20
|
-
yield (0, tracking_1.trackEvent)(request, tracking_1.
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
yield (0, tracking_1.trackEvent)(request, tracking_1.EventAction.knowledgebase, {
|
|
21
|
+
knowledgebaseSourcesIds: knowledgeBaseResponse.sources.map(source => source.knowledgeSourceId),
|
|
22
|
+
knowledgebaseChunksIds: [],
|
|
23
23
|
});
|
|
24
24
|
const knowledgeBaseNode = {
|
|
25
25
|
type: hubtype_fields_1.HtNodeWithContentType.TEXT,
|
|
@@ -44,9 +44,19 @@ function createNodeFromKnowledgeBase(cmsApi, request) {
|
|
|
44
44
|
};
|
|
45
45
|
return knowledgeBaseNode;
|
|
46
46
|
}
|
|
47
|
+
yield (0, tracking_1.trackEvent)(request, tracking_1.EventAction.knowledgebase, {
|
|
48
|
+
knowledgebaseFailReason: 'The knowledge base does not have enough knowledge',
|
|
49
|
+
knowledgeSourceIds: [],
|
|
50
|
+
knowledgebaseChunksIds: [],
|
|
51
|
+
});
|
|
47
52
|
}
|
|
48
53
|
catch (e) {
|
|
49
|
-
console.
|
|
54
|
+
console.error('Hubtype knowledge base api error: ', { e });
|
|
55
|
+
yield (0, tracking_1.trackEvent)(request, tracking_1.EventAction.knowledgebase, {
|
|
56
|
+
knowledgebaseFailReason: 'Knowledge base api error',
|
|
57
|
+
knowledgeSourceIds: [],
|
|
58
|
+
knowledgebaseChunksIds: [],
|
|
59
|
+
});
|
|
50
60
|
return undefined;
|
|
51
61
|
}
|
|
52
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";;;;AAEA,+BAAiC;AAGjC,qEAIyC;AACzC,wCAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";;;;AAEA,+BAAiC;AAGjC,qEAIyC;AACzC,wCAAiD;AACjD,0CAAqD;AAErD,SAAsB,2BAA2B,CAC/C,MAAsB,EACtB,OAAsB;;QAEtB,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QACvD,MAAM,mBAAmB,GAAG,MAAM,CAAC,sBAAsB,EAAE,CAAA;QAE3D,IACE,iBAAiB,CAAC,wBAAwB;aAC1C,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,CAAA,EAC7B;YACA,IAAI;gBACF,MAAM,qBAAqB,GACzB,MAAM,iBAAiB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;gBAC3D,IAAI,qBAAqB,CAAC,YAAY,EAAE;oBACtC,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,sBAAW,CAAC,aAAa,EAAE;wBACnD,uBAAuB,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CACxD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CACnC;wBACD,sBAAsB,EAAE,EAAE;qBAC3B,CAAC,CAAA;oBAEF,MAAM,iBAAiB,GAAe;wBACpC,IAAI,EAAE,sCAAqB,CAAC,IAAI;wBAChC,OAAO,EAAE;4BACP,IAAI,EAAE;gCACJ;oCACE,OAAO,EAAE,qBAAqB,CAAC,MAAM;oCACrC,MAAM,EAAE,cAAc;iCACvB;6BACF;4BACD,aAAa,EAAE,SAAS;4BACxB,OAAO,EAAE,EAAE;yBACZ;wBACD,OAAO,EAAE,YAAY;wBACrB,EAAE,EAAE,IAAA,SAAI,GAAE;wBACV,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE;4BACJ,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;yBACL;wBACD,SAAS,EAAE,mBAAmB,CAAC,QAAQ;qBACxC,CAAA;oBACD,OAAO,iBAAiB,CAAA;iBACzB;gBACD,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,sBAAW,CAAC,aAAa,EAAE;oBACnD,uBAAuB,EACrB,mDAAmD;oBACrD,kBAAkB,EAAE,EAAE;oBACtB,sBAAsB,EAAE,EAAE;iBAC3B,CAAC,CAAA;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;gBAC1D,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,sBAAW,CAAC,aAAa,EAAE;oBACnD,uBAAuB,EAAE,0BAA0B;oBACnD,kBAAkB,EAAE,EAAE;oBACtB,sBAAsB,EAAE,EAAE;iBAC3B,CAAC,CAAA;gBACF,OAAO,SAAS,CAAA;aACjB;SACF;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA;AAhED,kEAgEC"}
|
package/lib/cjs/api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Input, PluginPreRequest } from '@botonic/core';
|
|
2
|
-
import { HtFlowBuilderData, HtIntentNode, HtKeywordNode, HtNodeComponent, HtNodeLink, HtNodeWithContent } from './content-fields/hubtype-fields';
|
|
2
|
+
import { HtBotActionNode, HtFlowBuilderData, HtIntentNode, HtKeywordNode, HtNodeComponent, HtNodeLink, HtNodeWithContent } from './content-fields/hubtype-fields';
|
|
3
3
|
import { HtSmartIntentNode } from './content-fields/hubtype-fields/smart-intent';
|
|
4
4
|
import { FlowBuilderApiOptions } from './types';
|
|
5
5
|
export declare class FlowBuilderApi {
|
|
@@ -22,12 +22,10 @@ export declare class FlowBuilderApi {
|
|
|
22
22
|
getSmartIntentNodes(): HtSmartIntentNode[];
|
|
23
23
|
private nodeContainsIntent;
|
|
24
24
|
hasMetConfidenceThreshold(node: HtIntentNode, predictedConfidence: number): boolean;
|
|
25
|
-
|
|
26
|
-
private matchKeywords;
|
|
27
|
-
private inputMatchesAnyKeyword;
|
|
28
|
-
private resolveKeywordAsRegExp;
|
|
25
|
+
getKeywordNodes(): HtKeywordNode[];
|
|
29
26
|
getPayload(target?: HtNodeLink): string | undefined;
|
|
30
|
-
|
|
27
|
+
createPayloadWithParams(botActionNode: HtBotActionNode): string;
|
|
31
28
|
private getFollowUpContentID;
|
|
29
|
+
getFlowName(flowId: string): string;
|
|
32
30
|
getResolvedLocale(locale: string): string;
|
|
33
31
|
}
|
package/lib/cjs/api.js
CHANGED
|
@@ -101,45 +101,15 @@ class FlowBuilderApi {
|
|
|
101
101
|
const nodeConfidence = node.content.confidence / 100;
|
|
102
102
|
return predictedConfidence >= nodeConfidence;
|
|
103
103
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
const keywordNodes = this.flow.nodes.filter(node => node.type === hubtype_fields_1.HtNodeWithContentType.KEYWORD);
|
|
107
|
-
const matchedKeywordNodes = keywordNodes.filter(node => this.matchKeywords(node, userInput, locale));
|
|
108
|
-
if (matchedKeywordNodes.length > 0 && matchedKeywordNodes[0].target) {
|
|
109
|
-
return matchedKeywordNodes[0];
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
catch (error) {
|
|
113
|
-
console.error(`Error getting node by keyword '${userInput}': `, error);
|
|
114
|
-
}
|
|
115
|
-
return undefined;
|
|
116
|
-
}
|
|
117
|
-
matchKeywords(node, input, locale) {
|
|
118
|
-
const result = node.content.keywords.find(keywords => keywords.locale === locale &&
|
|
119
|
-
this.inputMatchesAnyKeyword(input, keywords.values));
|
|
120
|
-
return Boolean(result);
|
|
121
|
-
}
|
|
122
|
-
inputMatchesAnyKeyword(input, keywords) {
|
|
123
|
-
return keywords.some(keyword => {
|
|
124
|
-
const regExpMatchArray = keyword.match(constants_1.REG_EXP_PATTERN);
|
|
125
|
-
if (regExpMatchArray) {
|
|
126
|
-
return this.resolveKeywordAsRegExp(regExpMatchArray, input);
|
|
127
|
-
}
|
|
128
|
-
return input.includes(keyword);
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
resolveKeywordAsRegExp(regExpMatchArray, input) {
|
|
132
|
-
const [, pattern, flags] = regExpMatchArray;
|
|
133
|
-
const keywordAsRegExp = new RegExp(pattern, flags);
|
|
134
|
-
return input.match(keywordAsRegExp);
|
|
104
|
+
getKeywordNodes() {
|
|
105
|
+
return this.flow.nodes.filter(node => node.type === hubtype_fields_1.HtNodeWithContentType.KEYWORD);
|
|
135
106
|
}
|
|
136
107
|
getPayload(target) {
|
|
137
108
|
if (!target) {
|
|
138
109
|
return undefined;
|
|
139
110
|
}
|
|
140
111
|
if (target.type === hubtype_fields_1.HtNodeWithoutContentType.BOT_ACTION) {
|
|
141
|
-
|
|
142
|
-
return this.createPayloadWithParams(botActionNode);
|
|
112
|
+
return `${constants_1.BOT_ACTION_PAYLOAD_PREFIX}${target.id}`;
|
|
143
113
|
}
|
|
144
114
|
return target.id;
|
|
145
115
|
}
|
|
@@ -164,6 +134,10 @@ class FlowBuilderApi {
|
|
|
164
134
|
return followUpNode === null || followUpNode === void 0 ? void 0 : followUpNode.code;
|
|
165
135
|
}
|
|
166
136
|
}
|
|
137
|
+
getFlowName(flowId) {
|
|
138
|
+
const flow = this.flow.flows.find(flow => flow.id === flowId);
|
|
139
|
+
return flow ? flow.name : '';
|
|
140
|
+
}
|
|
167
141
|
getResolvedLocale(locale) {
|
|
168
142
|
if (this.flow.locales.find(flowLocale => flowLocale === locale)) {
|
|
169
143
|
return locale;
|
package/lib/cjs/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":";;;;AACA,0DAAyB;AAEzB,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/constants.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const FLOW_BUILDER_API_URL_PROD = "https://api.ent0.flowbuilder.prod.hubtype.com";
|
|
2
2
|
export declare const SEPARATOR = "|";
|
|
3
3
|
export declare const SOURCE_INFO_SEPARATOR: string;
|
|
4
|
+
export declare const BOT_ACTION_PAYLOAD_PREFIX: string;
|
|
4
5
|
export declare const VARIABLE_PATTERN: RegExp;
|
|
5
6
|
export declare const ACCESS_TOKEN_VARIABLE_KEY = "_access_token";
|
|
6
7
|
export declare const REG_EXP_PATTERN: RegExp;
|
package/lib/cjs/constants.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REG_EXP_PATTERN = exports.ACCESS_TOKEN_VARIABLE_KEY = exports.VARIABLE_PATTERN = exports.SOURCE_INFO_SEPARATOR = exports.SEPARATOR = exports.FLOW_BUILDER_API_URL_PROD = void 0;
|
|
3
|
+
exports.REG_EXP_PATTERN = exports.ACCESS_TOKEN_VARIABLE_KEY = exports.VARIABLE_PATTERN = exports.BOT_ACTION_PAYLOAD_PREFIX = exports.SOURCE_INFO_SEPARATOR = exports.SEPARATOR = exports.FLOW_BUILDER_API_URL_PROD = void 0;
|
|
4
4
|
exports.FLOW_BUILDER_API_URL_PROD = 'https://api.ent0.flowbuilder.prod.hubtype.com';
|
|
5
5
|
exports.SEPARATOR = '|';
|
|
6
6
|
exports.SOURCE_INFO_SEPARATOR = `${exports.SEPARATOR}source_`;
|
|
7
|
+
exports.BOT_ACTION_PAYLOAD_PREFIX = `ba${exports.SEPARATOR}`;
|
|
7
8
|
exports.VARIABLE_PATTERN = /{([^}]+)}/g;
|
|
8
9
|
exports.ACCESS_TOKEN_VARIABLE_KEY = '_access_token';
|
|
9
10
|
exports.REG_EXP_PATTERN = /^\/(.*)\/([gimyus]*)$/;
|
package/lib/cjs/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GACpC,+CAA+C,CAAA;AACpC,QAAA,SAAS,GAAG,GAAG,CAAA;AACf,QAAA,qBAAqB,GAAG,GAAG,iBAAS,SAAS,CAAA;AAC7C,QAAA,gBAAgB,GAAG,YAAY,CAAA;AAC/B,QAAA,yBAAyB,GAAG,eAAe,CAAA;AAC3C,QAAA,eAAe,GAAG,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GACpC,+CAA+C,CAAA;AACpC,QAAA,SAAS,GAAG,GAAG,CAAA;AACf,QAAA,qBAAqB,GAAG,GAAG,iBAAS,SAAS,CAAA;AAC7C,QAAA,yBAAyB,GAAG,KAAK,iBAAS,EAAE,CAAA;AAC5C,QAAA,gBAAgB,GAAG,YAAY,CAAA;AAC/B,QAAA,yBAAyB,GAAG,eAAe,CAAA;AAC3C,QAAA,eAAe,GAAG,uBAAuB,CAAA"}
|
|
@@ -6,7 +6,6 @@ export declare class FlowButton extends ContentFieldsBase {
|
|
|
6
6
|
url?: string;
|
|
7
7
|
payload?: string;
|
|
8
8
|
static fromHubtypeCMS(cmsButton: HtButton, locale: string, cmsApi: FlowBuilderApi): FlowButton;
|
|
9
|
-
static getPayloadId(cmsButton: HtButton, locale: string): string | undefined;
|
|
10
9
|
static getUrlId(cmsButton: HtButton, locale: string): string | undefined;
|
|
11
10
|
renderButton(buttonIndex: number, buttonStyle?: HtButtonStyle): JSX.Element;
|
|
12
11
|
private getButtonPayload;
|
|
@@ -12,28 +12,18 @@ class FlowButton extends content_fields_base_1.ContentFieldsBase {
|
|
|
12
12
|
this.text = '';
|
|
13
13
|
}
|
|
14
14
|
static fromHubtypeCMS(cmsButton, locale, cmsApi) {
|
|
15
|
-
const payloadId = this.getPayloadId(cmsButton, locale);
|
|
16
15
|
const urlId = this.getUrlId(cmsButton, locale);
|
|
17
16
|
const newButton = new FlowButton(cmsButton.id);
|
|
18
17
|
newButton.text = this.getTextByLocale(locale, cmsButton.text);
|
|
19
18
|
if (cmsButton.target) {
|
|
20
19
|
newButton.payload = cmsApi.getPayload(cmsButton.target);
|
|
21
20
|
}
|
|
22
|
-
// OLD PAYLOAD
|
|
23
|
-
if (cmsButton.payload && payloadId) {
|
|
24
|
-
const payloadNode = cmsApi.getNodeById(payloadId);
|
|
25
|
-
newButton.payload = payloadNode.content.payload;
|
|
26
|
-
}
|
|
27
21
|
if (cmsButton.url && urlId) {
|
|
28
22
|
const urlNode = cmsApi.getNodeById(urlId);
|
|
29
23
|
newButton.url = urlNode.content.url;
|
|
30
24
|
}
|
|
31
25
|
return newButton;
|
|
32
26
|
}
|
|
33
|
-
static getPayloadId(cmsButton, locale) {
|
|
34
|
-
var _a;
|
|
35
|
-
return (_a = cmsButton.payload.find(payload => payload.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
|
|
36
|
-
}
|
|
37
27
|
static getUrlId(cmsButton, locale) {
|
|
38
28
|
var _a;
|
|
39
29
|
return (_a = cmsButton.url.find(url => url.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";;;;AAAA,0CAA8C;AAI9C,4CAAoD;AACpD,+DAAyD;AACzD,qDAKyB;AAEzB,MAAa,UAAW,SAAQ,uCAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";;;;AAAA,0CAA8C;AAI9C,4CAAoD;AACpD,+DAAyD;AACzD,qDAKyB;AAEzB,MAAa,UAAW,SAAQ,uCAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;IAqDlB,CAAC;IAjDC,MAAM,CAAC,cAAc,CACnB,SAAmB,EACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC9C,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAC7D,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;SACxD;QAED,IAAI,SAAS,CAAC,GAAG,IAAI,KAAK,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAY,KAAK,CAAC,CAAA;YACpD,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAA;SACpC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAmB,EAAE,MAAc;;QACjD,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,EAAE,CAAA;IAC7D,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,WAA2B;QAC3D,IAAI,WAAW,KAAK,8BAAa,CAAC,WAAW,EAAE;YAC7C,OAAO,CACL,uBAAC,aAAK,kBAAe,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,gBAC7D,IAAI,CAAC,IAAI,KADA,IAAI,CAAC,EAAE,CAEX,CACT,CAAA;SACF;QACD,OAAO,CACL,uBAAC,cAAM,kBAEL,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,gBAE1C,IAAI,CAAC,IAAI,KAJL,IAAI,CAAC,EAAE,CAKL,CACV,CAAA;IACH,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QAC1C,OAAO,IAAI,CAAC,OAAO;YACjB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAqB,GAAG,WAAW,EAAE;YACzD,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;CACF;AAtDD,gCAsDC"}
|
|
@@ -5,48 +5,36 @@ 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");
|
|
9
|
-
const conditional_queue_status_1 = require("../functions/conditional-queue-status");
|
|
10
8
|
const content_fields_base_1 = require("./content-fields-base");
|
|
11
9
|
class FlowHandoff extends content_fields_base_1.ContentFieldsBase {
|
|
12
10
|
static fromHubtypeCMS(cmsHandoff, locale, cmsApi) {
|
|
13
11
|
const newHandoff = new FlowHandoff(cmsHandoff.id);
|
|
14
12
|
newHandoff.code = cmsHandoff.code;
|
|
15
13
|
newHandoff.queue = this.getQueueByLocale(locale, cmsHandoff.content.queue);
|
|
16
|
-
newHandoff.onFinishPayload = this.getOnFinishPayload(cmsHandoff,
|
|
14
|
+
newHandoff.onFinishPayload = this.getOnFinishPayload(cmsHandoff, cmsApi);
|
|
17
15
|
newHandoff.handoffAutoAssign = cmsHandoff.content.has_auto_assign;
|
|
18
16
|
return newHandoff;
|
|
19
17
|
}
|
|
20
|
-
static getOnFinishPayload(cmsHandoff,
|
|
21
|
-
var _a
|
|
18
|
+
static getOnFinishPayload(cmsHandoff, cmsApi) {
|
|
19
|
+
var _a;
|
|
22
20
|
if ((_a = cmsHandoff.target) === null || _a === void 0 ? void 0 : _a.id) {
|
|
23
21
|
return cmsApi.getPayload(cmsHandoff.target);
|
|
24
22
|
}
|
|
25
|
-
// OLD PAYLOAD
|
|
26
|
-
const payloadId = (_b = cmsHandoff.content.payload.find(payload => payload.locale === locale)) === null || _b === void 0 ? void 0 : _b.id;
|
|
27
|
-
if (payloadId) {
|
|
28
|
-
return cmsApi.getNodeById(payloadId).content.payload;
|
|
29
|
-
}
|
|
30
23
|
return undefined;
|
|
31
24
|
}
|
|
32
25
|
doHandoff(request) {
|
|
33
26
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
34
|
-
// @ts-ignore
|
|
35
27
|
const handOffBuilder = new core_1.HandOffBuilder(request.session);
|
|
36
28
|
handOffBuilder.withAutoAssignOnWaiting(this.handoffAutoAssign);
|
|
37
29
|
if (this.onFinishPayload) {
|
|
38
30
|
handOffBuilder.withOnFinishPayload(this.onFinishPayload);
|
|
39
31
|
}
|
|
40
32
|
if (this.queue) {
|
|
41
|
-
const availabilityData = yield (0, conditional_queue_status_1.getQueueAvailability)(this.queue.id);
|
|
42
|
-
const eventArgs = {
|
|
43
|
-
queue_open: availabilityData.open,
|
|
44
|
-
queue_id: this.queue.id,
|
|
45
|
-
available_agents: availabilityData.available_agents > 0,
|
|
46
|
-
threshold_reached: availabilityData.availability_threshold_waiting_cases > 0,
|
|
47
|
-
};
|
|
48
|
-
yield (0, tracking_1.trackEvent)(request, tracking_1.EventName.handoffSuccess, eventArgs);
|
|
49
33
|
handOffBuilder.withQueue(this.queue.id);
|
|
34
|
+
handOffBuilder.withBotEvent({
|
|
35
|
+
language: request.session.user.extra_data.language,
|
|
36
|
+
country: request.session.user.extra_data.country,
|
|
37
|
+
});
|
|
50
38
|
yield handOffBuilder.handOff();
|
|
51
39
|
}
|
|
52
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;;;;AAAA,wCAA8C;AAC9C,0CAA+D;
|
|
1
|
+
{"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;;;;AAAA,wCAA8C;AAC9C,0CAA+D;AAI/D,+DAAyD;AAGzD,MAAa,WAAY,SAAQ,uCAAiB;IAMhD,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;QAEjE,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,eAAe,EAAE;gBACxB,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aACzD;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACvC,cAAc,CAAC,YAAY,CAAC;oBAC1B,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;oBAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;iBACjD,CAAC,CAAA;gBACF,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;aAC/B;QACH,CAAC;KAAA;IAED,SAAS;QACP,OAAO,uBAAC,uBAAe,IAAC,eAAe,EAAE,IAAI,GAAI,CAAA;IACnD,CAAC;CACF;AApDD,kCAoDC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { HtNodeLink,
|
|
1
|
+
import { HtNodeLink, HtTextLocale, HtUrlLocale } from './common';
|
|
2
2
|
export interface HtButton {
|
|
3
3
|
id: string;
|
|
4
4
|
text: HtTextLocale[];
|
|
5
5
|
url: HtUrlLocale[];
|
|
6
|
-
payload: HtPayloadLocale[];
|
|
7
6
|
target?: HtNodeLink;
|
|
8
7
|
hidden: string[];
|
|
9
8
|
}
|
|
@@ -10,4 +10,5 @@ export { FlowButton } from './flow-button';
|
|
|
10
10
|
export { FlowElement } from './flow-element';
|
|
11
11
|
export { FlowCarousel, FlowImage, FlowText, FlowVideo, FlowWhatsappButtonList };
|
|
12
12
|
export { FlowHandoff } from './flow-handoff';
|
|
13
|
+
export { FlowWhatsappCtaUrlButtonNode } from './flow-whatsapp-cta-url-button';
|
|
13
14
|
export type FlowContent = FlowCarousel | FlowImage | FlowText | FlowVideo | FlowWhatsappButtonList | FlowWhatsappCtaUrlButtonNode | FlowHandoff;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FlowHandoff = exports.FlowWhatsappButtonList = exports.FlowVideo = exports.FlowText = exports.FlowImage = exports.FlowCarousel = exports.FlowElement = exports.FlowButton = exports.ContentFieldsBase = void 0;
|
|
3
|
+
exports.FlowWhatsappCtaUrlButtonNode = exports.FlowHandoff = exports.FlowWhatsappButtonList = exports.FlowVideo = exports.FlowText = exports.FlowImage = exports.FlowCarousel = exports.FlowElement = exports.FlowButton = exports.ContentFieldsBase = void 0;
|
|
4
4
|
const flow_carousel_1 = require("./flow-carousel");
|
|
5
5
|
Object.defineProperty(exports, "FlowCarousel", { enumerable: true, get: function () { return flow_carousel_1.FlowCarousel; } });
|
|
6
6
|
const flow_image_1 = require("./flow-image");
|
|
@@ -19,4 +19,6 @@ var flow_element_1 = require("./flow-element");
|
|
|
19
19
|
Object.defineProperty(exports, "FlowElement", { enumerable: true, get: function () { return flow_element_1.FlowElement; } });
|
|
20
20
|
var flow_handoff_1 = require("./flow-handoff");
|
|
21
21
|
Object.defineProperty(exports, "FlowHandoff", { enumerable: true, get: function () { return flow_handoff_1.FlowHandoff; } });
|
|
22
|
+
var flow_whatsapp_cta_url_button_1 = require("./flow-whatsapp-cta-url-button");
|
|
23
|
+
Object.defineProperty(exports, "FlowWhatsappCtaUrlButtonNode", { enumerable: true, get: function () { return flow_whatsapp_cta_url_button_1.FlowWhatsappCtaUrlButtonNode; } });
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content-fields/index.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAWrC,6FAXA,4BAAY,OAWA;AATrB,6CAAwC;AASjB,0FATd,sBAAS,OASc;AARhC,2CAAsC;AAQJ,yFARzB,oBAAQ,OAQyB;AAP1C,6CAAwC;AAOI,0FAPnC,sBAAS,OAOmC;AALrD,gGAAyF;AAKlC,uGAL9C,kDAAsB,OAK8C;AAH7E,6DAAyD;AAAhD,wHAAA,iBAAiB,OAAA;AAC1B,6CAA0C;AAAjC,yGAAA,UAAU,OAAA;AACnB,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AAEpB,+CAA4C;AAAnC,2GAAA,WAAW,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content-fields/index.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAWrC,6FAXA,4BAAY,OAWA;AATrB,6CAAwC;AASjB,0FATd,sBAAS,OASc;AARhC,2CAAsC;AAQJ,yFARzB,oBAAQ,OAQyB;AAP1C,6CAAwC;AAOI,0FAPnC,sBAAS,OAOmC;AALrD,gGAAyF;AAKlC,uGAL9C,kDAAsB,OAK8C;AAH7E,6DAAyD;AAAhD,wHAAA,iBAAiB,OAAA;AAC1B,6CAA0C;AAAjC,yGAAA,UAAU,OAAA;AACnB,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AAEpB,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,+EAA6E;AAApE,4IAAA,4BAA4B,OAAA"}
|
|
@@ -11,7 +11,13 @@ declare enum QueueStatusResult {
|
|
|
11
11
|
OPEN_WITHOUT_AGENTS = "open-without-agents"
|
|
12
12
|
}
|
|
13
13
|
export declare function conditionalQueueStatus({ queue_id, check_available_agents, }: ConditionalQueueStatusArgs): Promise<QueueStatusResult>;
|
|
14
|
-
|
|
14
|
+
export declare class HubtypeQueuesApi {
|
|
15
|
+
queueId: string;
|
|
16
|
+
checkAvailableAgents: boolean;
|
|
17
|
+
constructor(queueId: string, checkAvailableAgents?: boolean);
|
|
18
|
+
getAvailability(): Promise<AvailabilityData>;
|
|
19
|
+
}
|
|
20
|
+
export interface AvailabilityData {
|
|
15
21
|
available: boolean;
|
|
16
22
|
waiting_cases: number;
|
|
17
23
|
availability_threshold_waiting_cases: number;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getQueueAvailability = exports.conditionalQueueStatus = void 0;
|
|
3
|
+
exports.getQueueAvailability = exports.HubtypeQueuesApi = exports.conditionalQueueStatus = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
|
+
// import { EventAction, trackEvent } from '../tracking'
|
|
6
7
|
const HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
|
|
7
8
|
var QueueStatusResult;
|
|
8
9
|
(function (QueueStatusResult) {
|
|
@@ -10,9 +11,17 @@ var QueueStatusResult;
|
|
|
10
11
|
QueueStatusResult["CLOSED"] = "closed";
|
|
11
12
|
QueueStatusResult["OPEN_WITHOUT_AGENTS"] = "open-without-agents";
|
|
12
13
|
})(QueueStatusResult || (QueueStatusResult = {}));
|
|
13
|
-
function conditionalQueueStatus({
|
|
14
|
+
function conditionalQueueStatus({
|
|
15
|
+
// request,
|
|
16
|
+
queue_id,
|
|
17
|
+
// queue_name,
|
|
18
|
+
check_available_agents, }) {
|
|
14
19
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
20
|
const data = yield getQueueAvailability(queue_id, check_available_agents);
|
|
21
|
+
// await trackEvent(request, EventAction.handoffOption, {
|
|
22
|
+
// queueId: queue_id,
|
|
23
|
+
// queueName: queue_name,
|
|
24
|
+
// })
|
|
16
25
|
if (check_available_agents && data.open && data.available_agents === 0) {
|
|
17
26
|
return QueueStatusResult.OPEN_WITHOUT_AGENTS;
|
|
18
27
|
}
|
|
@@ -20,18 +29,31 @@ function conditionalQueueStatus({ queue_id, check_available_agents, }) {
|
|
|
20
29
|
});
|
|
21
30
|
}
|
|
22
31
|
exports.conditionalQueueStatus = conditionalQueueStatus;
|
|
32
|
+
class HubtypeQueuesApi {
|
|
33
|
+
constructor(queueId, checkAvailableAgents) {
|
|
34
|
+
this.queueId = queueId;
|
|
35
|
+
this.checkAvailableAgents = checkAvailableAgents || false;
|
|
36
|
+
}
|
|
37
|
+
getAvailability() {
|
|
38
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
const response = yield axios_1.default.get(`${HUBTYPE_API_URL}/public/v1/queues/${this.queueId}/availability/`,
|
|
40
|
+
// TODO: Make it configurable in the future
|
|
41
|
+
{
|
|
42
|
+
params: {
|
|
43
|
+
check_queue_schedule: true,
|
|
44
|
+
check_waiting_cases: false,
|
|
45
|
+
check_available_agents: this.checkAvailableAgents,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
return response.data;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.HubtypeQueuesApi = HubtypeQueuesApi;
|
|
23
53
|
function getQueueAvailability(queueId, checkAvailableAgents = false) {
|
|
24
54
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
{
|
|
28
|
-
params: {
|
|
29
|
-
check_queue_schedule: true,
|
|
30
|
-
check_waiting_cases: false,
|
|
31
|
-
check_available_agents: checkAvailableAgents,
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
return response.data;
|
|
55
|
+
const queuesApi = new HubtypeQueuesApi(queueId, checkAvailableAgents);
|
|
56
|
+
return yield queuesApi.getAvailability();
|
|
35
57
|
});
|
|
36
58
|
}
|
|
37
59
|
exports.getQueueAvailability = getQueueAvailability;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":";;;;AACA,0DAAyB;AAEzB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAShF,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IACpB,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,gEAA2C,CAAA;AAC7C,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAED,SAAsB,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":";;;;AACA,0DAAyB;AAEzB,wDAAwD;AAExD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAShF,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IACpB,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,gEAA2C,CAAA;AAC7C,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAED,SAAsB,sBAAsB,CAAC;AAC3C,WAAW;AACX,QAAQ;AACR,cAAc;AACd,sBAAsB,GACK;;QAC3B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAA;QACzE,yDAAyD;QACzD,uBAAuB;QACvB,2BAA2B;QAC3B,KAAK;QACL,IAAI,sBAAsB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YACtE,OAAO,iBAAiB,CAAC,mBAAmB,CAAA;SAC7C;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAA;IACtE,CAAC;CAAA;AAfD,wDAeC;AAED,MAAa,gBAAgB;IAI3B,YAAY,OAAe,EAAE,oBAA8B;QACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,KAAK,CAAA;IAC3D,CAAC;IAEK,eAAe;;YACnB,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAC9B,GAAG,eAAe,qBAAqB,IAAI,CAAC,OAAO,gBAAgB;YACnE,2CAA2C;YAC3C;gBACE,MAAM,EAAE;oBACN,oBAAoB,EAAE,IAAI;oBAC1B,mBAAmB,EAAE,KAAK;oBAC1B,sBAAsB,EAAE,IAAI,CAAC,oBAAoB;iBAClD;aACF,CACF,CAAA;YACD,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;KAAA;CACF;AAvBD,4CAuBC;AAWD,SAAsB,oBAAoB,CACxC,OAAe,EACf,oBAAoB,GAAG,KAAK;;QAE5B,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;QACrE,OAAO,MAAM,SAAS,CAAC,eAAe,EAAE,CAAA;IAC1C,CAAC;CAAA;AAND,oDAMC"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { FlowBuilderApi } from './api';
|
|
|
4
4
|
import { FlowContent } from './content-fields';
|
|
5
5
|
import { HtNodeWithContent } from './content-fields/hubtype-fields';
|
|
6
6
|
import { BotonicPluginFlowBuilderOptions, KnowledgeBaseResponse, PayloadParamsBase } from './types';
|
|
7
|
+
import { SmartIntentsInferenceConfig } from './user-input/smart-intent';
|
|
7
8
|
export default class BotonicPluginFlowBuilder implements Plugin {
|
|
8
9
|
readonly options: BotonicPluginFlowBuilderOptions;
|
|
9
10
|
cmsApi: FlowBuilderApi;
|
|
@@ -13,10 +14,14 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
13
14
|
private currentRequest;
|
|
14
15
|
private getAccessToken;
|
|
15
16
|
getLocale: (session: Session) => string;
|
|
16
|
-
trackEvent?: (request: ActionRequest,
|
|
17
|
+
trackEvent?: (request: ActionRequest, eventAction: string, args?: Record<string, any>) => Promise<void>;
|
|
17
18
|
getKnowledgeBaseResponse?: (request: ActionRequest) => Promise<KnowledgeBaseResponse>;
|
|
19
|
+
smartIntentsConfig: SmartIntentsInferenceConfig;
|
|
18
20
|
constructor(options: BotonicPluginFlowBuilderOptions);
|
|
19
21
|
pre(request: PluginPreRequest): Promise<void>;
|
|
22
|
+
private updateRequestBeforeRoutes;
|
|
23
|
+
private removeSourceSufix;
|
|
24
|
+
private replacePayload;
|
|
20
25
|
getContentsByContentID(contentID: string, locale: string, prevContents?: FlowContent[]): Promise<FlowContent[]>;
|
|
21
26
|
getUUIDByContentID(contentID: string): string;
|
|
22
27
|
private getContentsById;
|
|
@@ -26,6 +31,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
26
31
|
private callFunction;
|
|
27
32
|
private getArgumentsByLocale;
|
|
28
33
|
getPayloadParams<T extends PayloadParamsBase>(payload: string): T;
|
|
34
|
+
getFlowName(flowId: string): string;
|
|
29
35
|
}
|
|
30
36
|
export * from './action';
|
|
31
37
|
export * from './content-fields';
|