@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/esm/action/index.js
CHANGED
|
@@ -4,15 +4,12 @@ import { Multichannel, RequestContext } from '@botonic/react';
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { FlowHandoff } from '../content-fields';
|
|
6
6
|
import { getFlowBuilderPlugin } from '../helpers';
|
|
7
|
+
import { EventAction, getNodeEventArgs, trackEvent } from '../tracking';
|
|
7
8
|
import { createNodeFromKnowledgeBase } from './knowledge-bases';
|
|
8
|
-
import { EventName, trackEvent } from '../tracking';
|
|
9
9
|
export class FlowBuilderAction extends React.Component {
|
|
10
10
|
static botonicInit(request) {
|
|
11
11
|
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
-
const
|
|
13
|
-
const locale = flowBuilderPlugin.getLocale(request.session);
|
|
14
|
-
const targetNode = yield getTargetNode(flowBuilderPlugin.cmsApi, request);
|
|
15
|
-
const contents = yield flowBuilderPlugin.getContentsByNode(targetNode, locale);
|
|
12
|
+
const contents = yield getContents(request);
|
|
16
13
|
const handoffContent = contents.find(content => content instanceof FlowHandoff);
|
|
17
14
|
if (handoffContent)
|
|
18
15
|
yield handoffContent.doHandoff(request);
|
|
@@ -33,25 +30,46 @@ export class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
|
33
30
|
return (_jsx(Multichannel, Object.assign({ text: { buttonsAsText: false } }, { children: contents.map(content => content.toBotonic(content.id, request)) })));
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
|
-
function
|
|
33
|
+
function getContents(request) {
|
|
37
34
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
|
|
36
|
+
const cmsApi = flowBuilderPlugin.cmsApi;
|
|
37
|
+
const locale = flowBuilderPlugin.getLocale(request.session);
|
|
38
|
+
const resolvedLocale = flowBuilderPlugin.cmsApi.getResolvedLocale(locale);
|
|
39
|
+
const context = {
|
|
40
|
+
cmsApi,
|
|
41
|
+
flowBuilderPlugin,
|
|
42
|
+
request,
|
|
43
|
+
resolvedLocale,
|
|
44
|
+
};
|
|
38
45
|
if (request.session.is_first_interaction) {
|
|
39
|
-
|
|
40
|
-
yield trackEvent(request, EventName.botStart);
|
|
41
|
-
return startNode;
|
|
46
|
+
return yield flowBuilderPlugin.getStartContents(resolvedLocale);
|
|
42
47
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
if (request.input.payload) {
|
|
49
|
+
return yield getContentsByPayload(context);
|
|
50
|
+
}
|
|
51
|
+
return yield getContentsByFallback(context);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function getContentsByPayload({ cmsApi, flowBuilderPlugin, request, resolvedLocale, }) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
const targetNode = request.input.payload
|
|
57
|
+
? cmsApi.getNodeById(request.input.payload)
|
|
46
58
|
: undefined;
|
|
47
59
|
if (targetNode) {
|
|
48
|
-
const eventArgs =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
yield trackEvent(request, EventName.botFaq, eventArgs);
|
|
52
|
-
return targetNode;
|
|
60
|
+
const eventArgs = getNodeEventArgs(request, targetNode);
|
|
61
|
+
yield trackEvent(request, EventAction.flowNode, eventArgs);
|
|
62
|
+
return yield flowBuilderPlugin.getContentsByNode(targetNode, resolvedLocale);
|
|
53
63
|
}
|
|
54
|
-
return
|
|
64
|
+
return [];
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, resolvedLocale, }) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const fallbackNode = yield getFallbackNode(cmsApi, request);
|
|
70
|
+
const eventArgs = getNodeEventArgs(request, fallbackNode);
|
|
71
|
+
yield trackEvent(request, EventAction.flowNode, eventArgs);
|
|
72
|
+
return yield flowBuilderPlugin.getContentsByNode(fallbackNode, resolvedLocale);
|
|
55
73
|
});
|
|
56
74
|
}
|
|
57
75
|
function getFallbackNode(cmsApi, request) {
|
|
@@ -67,7 +85,9 @@ function getFallbackNode(cmsApi, request) {
|
|
|
67
85
|
const isFirstFallbackOption = !!request.session.user.extra_data.isFirstFallbackOption;
|
|
68
86
|
const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption);
|
|
69
87
|
request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption;
|
|
70
|
-
|
|
88
|
+
trackEvent(request, EventAction.fallback, {
|
|
89
|
+
fallbackAttempt: isFirstFallbackOption ? 1 : 2,
|
|
90
|
+
});
|
|
71
91
|
return fallbackNode;
|
|
72
92
|
});
|
|
73
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAiB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { __awaiter } from "tslib";
|
|
|
2
2
|
import { v4 as uuid } from 'uuid';
|
|
3
3
|
import { HtNodeWithContentType, } from '../content-fields/hubtype-fields';
|
|
4
4
|
import { getFlowBuilderPlugin } from '../helpers';
|
|
5
|
-
import {
|
|
5
|
+
import { EventAction, trackEvent } from '../tracking';
|
|
6
6
|
export function createNodeFromKnowledgeBase(cmsApi, request) {
|
|
7
7
|
return __awaiter(this, void 0, void 0, function* () {
|
|
8
8
|
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
|
|
@@ -14,9 +14,9 @@ export function createNodeFromKnowledgeBase(cmsApi, request) {
|
|
|
14
14
|
try {
|
|
15
15
|
const knowledgeBaseResponse = yield flowBuilderPlugin.getKnowledgeBaseResponse(request);
|
|
16
16
|
if (knowledgeBaseResponse.hasKnowledge) {
|
|
17
|
-
yield trackEvent(request,
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
yield trackEvent(request, EventAction.knowledgebase, {
|
|
18
|
+
knowledgebaseSourcesIds: knowledgeBaseResponse.sources.map(source => source.knowledgeSourceId),
|
|
19
|
+
knowledgebaseChunksIds: [],
|
|
20
20
|
});
|
|
21
21
|
const knowledgeBaseNode = {
|
|
22
22
|
type: HtNodeWithContentType.TEXT,
|
|
@@ -41,9 +41,19 @@ export function createNodeFromKnowledgeBase(cmsApi, request) {
|
|
|
41
41
|
};
|
|
42
42
|
return knowledgeBaseNode;
|
|
43
43
|
}
|
|
44
|
+
yield trackEvent(request, EventAction.knowledgebase, {
|
|
45
|
+
knowledgebaseFailReason: 'The knowledge base does not have enough knowledge',
|
|
46
|
+
knowledgeSourceIds: [],
|
|
47
|
+
knowledgebaseChunksIds: [],
|
|
48
|
+
});
|
|
44
49
|
}
|
|
45
50
|
catch (e) {
|
|
46
|
-
console.
|
|
51
|
+
console.error('Hubtype knowledge base api error: ', { e });
|
|
52
|
+
yield trackEvent(request, EventAction.knowledgebase, {
|
|
53
|
+
knowledgebaseFailReason: 'Knowledge base api error',
|
|
54
|
+
knowledgeSourceIds: [],
|
|
55
|
+
knowledgebaseChunksIds: [],
|
|
56
|
+
});
|
|
47
57
|
return undefined;
|
|
48
58
|
}
|
|
49
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAA;AAGjC,OAAO,EAEL,qBAAqB,GAEtB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAA;AAGjC,OAAO,EAEL,qBAAqB,GAEtB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,UAAgB,2BAA2B,CAC/C,MAAsB,EACtB,OAAsB;;QAEtB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,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,UAAU,CAAC,OAAO,EAAE,WAAW,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,qBAAqB,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,IAAI,EAAE;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,UAAU,CAAC,OAAO,EAAE,WAAW,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,UAAU,CAAC,OAAO,EAAE,WAAW,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"}
|
package/lib/esm/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/esm/api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import {
|
|
3
|
+
import { BOT_ACTION_PAYLOAD_PREFIX, SEPARATOR } from './constants';
|
|
4
4
|
import { HtNodeWithContentType, HtNodeWithoutContentType, } from './content-fields/hubtype-fields';
|
|
5
5
|
export class FlowBuilderApi {
|
|
6
6
|
constructor() { }
|
|
@@ -98,45 +98,15 @@ export class FlowBuilderApi {
|
|
|
98
98
|
const nodeConfidence = node.content.confidence / 100;
|
|
99
99
|
return predictedConfidence >= nodeConfidence;
|
|
100
100
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const keywordNodes = this.flow.nodes.filter(node => node.type === HtNodeWithContentType.KEYWORD);
|
|
104
|
-
const matchedKeywordNodes = keywordNodes.filter(node => this.matchKeywords(node, userInput, locale));
|
|
105
|
-
if (matchedKeywordNodes.length > 0 && matchedKeywordNodes[0].target) {
|
|
106
|
-
return matchedKeywordNodes[0];
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
console.error(`Error getting node by keyword '${userInput}': `, error);
|
|
111
|
-
}
|
|
112
|
-
return undefined;
|
|
113
|
-
}
|
|
114
|
-
matchKeywords(node, input, locale) {
|
|
115
|
-
const result = node.content.keywords.find(keywords => keywords.locale === locale &&
|
|
116
|
-
this.inputMatchesAnyKeyword(input, keywords.values));
|
|
117
|
-
return Boolean(result);
|
|
118
|
-
}
|
|
119
|
-
inputMatchesAnyKeyword(input, keywords) {
|
|
120
|
-
return keywords.some(keyword => {
|
|
121
|
-
const regExpMatchArray = keyword.match(REG_EXP_PATTERN);
|
|
122
|
-
if (regExpMatchArray) {
|
|
123
|
-
return this.resolveKeywordAsRegExp(regExpMatchArray, input);
|
|
124
|
-
}
|
|
125
|
-
return input.includes(keyword);
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
resolveKeywordAsRegExp(regExpMatchArray, input) {
|
|
129
|
-
const [, pattern, flags] = regExpMatchArray;
|
|
130
|
-
const keywordAsRegExp = new RegExp(pattern, flags);
|
|
131
|
-
return input.match(keywordAsRegExp);
|
|
101
|
+
getKeywordNodes() {
|
|
102
|
+
return this.flow.nodes.filter(node => node.type === HtNodeWithContentType.KEYWORD);
|
|
132
103
|
}
|
|
133
104
|
getPayload(target) {
|
|
134
105
|
if (!target) {
|
|
135
106
|
return undefined;
|
|
136
107
|
}
|
|
137
108
|
if (target.type === HtNodeWithoutContentType.BOT_ACTION) {
|
|
138
|
-
|
|
139
|
-
return this.createPayloadWithParams(botActionNode);
|
|
109
|
+
return `${BOT_ACTION_PAYLOAD_PREFIX}${target.id}`;
|
|
140
110
|
}
|
|
141
111
|
return target.id;
|
|
142
112
|
}
|
|
@@ -161,6 +131,10 @@ export class FlowBuilderApi {
|
|
|
161
131
|
return followUpNode === null || followUpNode === void 0 ? void 0 : followUpNode.code;
|
|
162
132
|
}
|
|
163
133
|
}
|
|
134
|
+
getFlowName(flowId) {
|
|
135
|
+
const flow = this.flow.flows.find(flow => flow.id === flowId);
|
|
136
|
+
return flow ? flow.name : '';
|
|
137
|
+
}
|
|
164
138
|
getResolvedLocale(locale) {
|
|
165
139
|
if (this.flow.locales.find(flowLocale => flowLocale === locale)) {
|
|
166
140
|
return locale;
|
package/lib/esm/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/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/esm/constants.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export const FLOW_BUILDER_API_URL_PROD = 'https://api.ent0.flowbuilder.prod.hubtype.com';
|
|
2
2
|
export const SEPARATOR = '|';
|
|
3
3
|
export const SOURCE_INFO_SEPARATOR = `${SEPARATOR}source_`;
|
|
4
|
+
export const BOT_ACTION_PAYLOAD_PREFIX = `ba${SEPARATOR}`;
|
|
4
5
|
export const VARIABLE_PATTERN = /{([^}]+)}/g;
|
|
5
6
|
export const ACCESS_TOKEN_VARIABLE_KEY = '_access_token';
|
|
6
7
|
export const REG_EXP_PATTERN = /^\/(.*)\/([gimyus]*)$/;
|
package/lib/esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GACpC,+CAA+C,CAAA;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,SAAS,SAAS,CAAA;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAA;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GACpC,+CAA+C,CAAA;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,SAAS,SAAS,CAAA;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,SAAS,EAAE,CAAA;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAA;AACxD,MAAM,CAAC,MAAM,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;
|
|
@@ -9,28 +9,18 @@ export class FlowButton extends ContentFieldsBase {
|
|
|
9
9
|
this.text = '';
|
|
10
10
|
}
|
|
11
11
|
static fromHubtypeCMS(cmsButton, locale, cmsApi) {
|
|
12
|
-
const payloadId = this.getPayloadId(cmsButton, locale);
|
|
13
12
|
const urlId = this.getUrlId(cmsButton, locale);
|
|
14
13
|
const newButton = new FlowButton(cmsButton.id);
|
|
15
14
|
newButton.text = this.getTextByLocale(locale, cmsButton.text);
|
|
16
15
|
if (cmsButton.target) {
|
|
17
16
|
newButton.payload = cmsApi.getPayload(cmsButton.target);
|
|
18
17
|
}
|
|
19
|
-
// OLD PAYLOAD
|
|
20
|
-
if (cmsButton.payload && payloadId) {
|
|
21
|
-
const payloadNode = cmsApi.getNodeById(payloadId);
|
|
22
|
-
newButton.payload = payloadNode.content.payload;
|
|
23
|
-
}
|
|
24
18
|
if (cmsButton.url && urlId) {
|
|
25
19
|
const urlNode = cmsApi.getNodeById(urlId);
|
|
26
20
|
newButton.url = urlNode.content.url;
|
|
27
21
|
}
|
|
28
22
|
return newButton;
|
|
29
23
|
}
|
|
30
|
-
static getPayloadId(cmsButton, locale) {
|
|
31
|
-
var _a;
|
|
32
|
-
return (_a = cmsButton.payload.find(payload => payload.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
|
|
33
|
-
}
|
|
34
24
|
static getUrlId(cmsButton, locale) {
|
|
35
25
|
var _a;
|
|
36
26
|
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,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAI9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAEL,aAAa,GAGd,MAAM,kBAAkB,CAAA;AAEzB,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAI9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAEL,aAAa,GAGd,MAAM,kBAAkB,CAAA;AAEzB,MAAM,OAAO,UAAW,SAAQ,iBAAiB;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,aAAa,CAAC,WAAW,EAAE;YAC7C,OAAO,CACL,KAAC,KAAK,kBAAe,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,gBAC7D,IAAI,CAAC,IAAI,KADA,IAAI,CAAC,EAAE,CAEX,CACT,CAAA;SACF;QACD,OAAO,CACL,KAAC,MAAM,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,qBAAqB,GAAG,WAAW,EAAE;YACzD,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;CACF"}
|
|
@@ -2,48 +2,36 @@ import { __awaiter } from "tslib";
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { HandOffBuilder } from '@botonic/core';
|
|
4
4
|
import { WebchatSettings } from '@botonic/react';
|
|
5
|
-
import { EventName, trackEvent } from '../tracking';
|
|
6
|
-
import { getQueueAvailability } from '../functions/conditional-queue-status';
|
|
7
5
|
import { ContentFieldsBase } from './content-fields-base';
|
|
8
6
|
export class FlowHandoff extends ContentFieldsBase {
|
|
9
7
|
static fromHubtypeCMS(cmsHandoff, locale, cmsApi) {
|
|
10
8
|
const newHandoff = new FlowHandoff(cmsHandoff.id);
|
|
11
9
|
newHandoff.code = cmsHandoff.code;
|
|
12
10
|
newHandoff.queue = this.getQueueByLocale(locale, cmsHandoff.content.queue);
|
|
13
|
-
newHandoff.onFinishPayload = this.getOnFinishPayload(cmsHandoff,
|
|
11
|
+
newHandoff.onFinishPayload = this.getOnFinishPayload(cmsHandoff, cmsApi);
|
|
14
12
|
newHandoff.handoffAutoAssign = cmsHandoff.content.has_auto_assign;
|
|
15
13
|
return newHandoff;
|
|
16
14
|
}
|
|
17
|
-
static getOnFinishPayload(cmsHandoff,
|
|
18
|
-
var _a
|
|
15
|
+
static getOnFinishPayload(cmsHandoff, cmsApi) {
|
|
16
|
+
var _a;
|
|
19
17
|
if ((_a = cmsHandoff.target) === null || _a === void 0 ? void 0 : _a.id) {
|
|
20
18
|
return cmsApi.getPayload(cmsHandoff.target);
|
|
21
19
|
}
|
|
22
|
-
// OLD PAYLOAD
|
|
23
|
-
const payloadId = (_b = cmsHandoff.content.payload.find(payload => payload.locale === locale)) === null || _b === void 0 ? void 0 : _b.id;
|
|
24
|
-
if (payloadId) {
|
|
25
|
-
return cmsApi.getNodeById(payloadId).content.payload;
|
|
26
|
-
}
|
|
27
20
|
return undefined;
|
|
28
21
|
}
|
|
29
22
|
doHandoff(request) {
|
|
30
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
// @ts-ignore
|
|
32
24
|
const handOffBuilder = new HandOffBuilder(request.session);
|
|
33
25
|
handOffBuilder.withAutoAssignOnWaiting(this.handoffAutoAssign);
|
|
34
26
|
if (this.onFinishPayload) {
|
|
35
27
|
handOffBuilder.withOnFinishPayload(this.onFinishPayload);
|
|
36
28
|
}
|
|
37
29
|
if (this.queue) {
|
|
38
|
-
const availabilityData = yield getQueueAvailability(this.queue.id);
|
|
39
|
-
const eventArgs = {
|
|
40
|
-
queue_open: availabilityData.open,
|
|
41
|
-
queue_id: this.queue.id,
|
|
42
|
-
available_agents: availabilityData.available_agents > 0,
|
|
43
|
-
threshold_reached: availabilityData.availability_threshold_waiting_cases > 0,
|
|
44
|
-
};
|
|
45
|
-
yield trackEvent(request, EventName.handoffSuccess, eventArgs);
|
|
46
30
|
handOffBuilder.withQueue(this.queue.id);
|
|
31
|
+
handOffBuilder.withBotEvent({
|
|
32
|
+
language: request.session.user.extra_data.language,
|
|
33
|
+
country: request.session.user.extra_data.country,
|
|
34
|
+
});
|
|
47
35
|
yield handOffBuilder.handOff();
|
|
48
36
|
}
|
|
49
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,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,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAI/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,OAAO,WAAY,SAAQ,iBAAiB;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,cAAc,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,KAAC,eAAe,IAAC,eAAe,EAAE,IAAI,GAAI,CAAA;IACnD,CAAC;CACF"}
|
|
@@ -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;
|
|
@@ -8,4 +8,5 @@ export { FlowButton } from './flow-button';
|
|
|
8
8
|
export { FlowElement } from './flow-element';
|
|
9
9
|
export { FlowCarousel, FlowImage, FlowText, FlowVideo, FlowWhatsappButtonList };
|
|
10
10
|
export { FlowHandoff } from './flow-handoff';
|
|
11
|
+
export { FlowWhatsappCtaUrlButtonNode } from './flow-whatsapp-cta-url-button';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content-fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAA;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content-fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAA;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA"}
|
|
@@ -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,5 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import axios from 'axios';
|
|
3
|
+
// import { EventAction, trackEvent } from '../tracking'
|
|
3
4
|
const HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
|
|
4
5
|
var QueueStatusResult;
|
|
5
6
|
(function (QueueStatusResult) {
|
|
@@ -7,27 +8,47 @@ var QueueStatusResult;
|
|
|
7
8
|
QueueStatusResult["CLOSED"] = "closed";
|
|
8
9
|
QueueStatusResult["OPEN_WITHOUT_AGENTS"] = "open-without-agents";
|
|
9
10
|
})(QueueStatusResult || (QueueStatusResult = {}));
|
|
10
|
-
export function conditionalQueueStatus({
|
|
11
|
+
export function conditionalQueueStatus({
|
|
12
|
+
// request,
|
|
13
|
+
queue_id,
|
|
14
|
+
// queue_name,
|
|
15
|
+
check_available_agents, }) {
|
|
11
16
|
return __awaiter(this, void 0, void 0, function* () {
|
|
12
17
|
const data = yield getQueueAvailability(queue_id, check_available_agents);
|
|
18
|
+
// await trackEvent(request, EventAction.handoffOption, {
|
|
19
|
+
// queueId: queue_id,
|
|
20
|
+
// queueName: queue_name,
|
|
21
|
+
// })
|
|
13
22
|
if (check_available_agents && data.open && data.available_agents === 0) {
|
|
14
23
|
return QueueStatusResult.OPEN_WITHOUT_AGENTS;
|
|
15
24
|
}
|
|
16
25
|
return data.open ? QueueStatusResult.OPEN : QueueStatusResult.CLOSED;
|
|
17
26
|
});
|
|
18
27
|
}
|
|
28
|
+
export class HubtypeQueuesApi {
|
|
29
|
+
constructor(queueId, checkAvailableAgents) {
|
|
30
|
+
this.queueId = queueId;
|
|
31
|
+
this.checkAvailableAgents = checkAvailableAgents || false;
|
|
32
|
+
}
|
|
33
|
+
getAvailability() {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
const response = yield axios.get(`${HUBTYPE_API_URL}/public/v1/queues/${this.queueId}/availability/`,
|
|
36
|
+
// TODO: Make it configurable in the future
|
|
37
|
+
{
|
|
38
|
+
params: {
|
|
39
|
+
check_queue_schedule: true,
|
|
40
|
+
check_waiting_cases: false,
|
|
41
|
+
check_available_agents: this.checkAvailableAgents,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
return response.data;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
19
48
|
export function getQueueAvailability(queueId, checkAvailableAgents = false) {
|
|
20
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
{
|
|
24
|
-
params: {
|
|
25
|
-
check_queue_schedule: true,
|
|
26
|
-
check_waiting_cases: false,
|
|
27
|
-
check_available_agents: checkAvailableAgents,
|
|
28
|
-
},
|
|
29
|
-
});
|
|
30
|
-
return response.data;
|
|
50
|
+
const queuesApi = new HubtypeQueuesApi(queueId, checkAvailableAgents);
|
|
51
|
+
return yield queuesApi.getAvailability();
|
|
31
52
|
});
|
|
32
53
|
}
|
|
33
54
|
//# sourceMappingURL=conditional-queue-status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;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,MAAM,UAAgB,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;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,MAAM,UAAgB,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;AAED,MAAM,OAAO,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,KAAK,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;AAWD,MAAM,UAAgB,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"}
|
package/lib/esm/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';
|