@botonic/plugin-flow-builder 0.34.0-alpha.0 → 0.34.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/first-interaction.js +2 -2
- package/lib/cjs/action/first-interaction.js.map +1 -1
- package/lib/cjs/action/knowledge-bases.js +19 -17
- package/lib/cjs/action/knowledge-bases.js.map +1 -1
- package/lib/cjs/index.d.ts +3 -2
- package/lib/cjs/index.js +9 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/tracking.js.map +1 -1
- package/lib/cjs/types.d.ts +6 -0
- package/lib/cjs/types.js.map +1 -1
- package/lib/cjs/user-input/index.js +22 -15
- package/lib/cjs/user-input/index.js.map +1 -1
- package/lib/cjs/user-input/keyword.js +6 -1
- package/lib/cjs/user-input/keyword.js.map +1 -1
- package/lib/cjs/user-input/smart-intent.js +5 -0
- package/lib/cjs/user-input/smart-intent.js.map +1 -1
- package/lib/cjs/utils.d.ts +3 -0
- package/lib/cjs/utils.js +19 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/esm/action/first-interaction.js +2 -2
- package/lib/esm/action/first-interaction.js.map +1 -1
- package/lib/esm/action/knowledge-bases.js +20 -18
- package/lib/esm/action/knowledge-bases.js.map +1 -1
- package/lib/esm/index.d.ts +3 -2
- package/lib/esm/index.js +9 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/tracking.js.map +1 -1
- package/lib/esm/types.d.ts +6 -0
- package/lib/esm/types.js.map +1 -1
- package/lib/esm/user-input/index.js +23 -16
- package/lib/esm/user-input/index.js.map +1 -1
- package/lib/esm/user-input/keyword.js +6 -1
- package/lib/esm/user-input/keyword.js.map +1 -1
- package/lib/esm/user-input/smart-intent.js +5 -0
- package/lib/esm/user-input/smart-intent.js.map +1 -1
- package/lib/esm/utils.d.ts +3 -0
- package/lib/esm/utils.js +16 -1
- package/lib/esm/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/action/first-interaction.ts +2 -2
- package/src/action/knowledge-bases.ts +38 -36
- package/src/content-fields/hubtype-fields/intent.ts +1 -0
- package/src/index.ts +12 -1
- package/src/tracking.ts +0 -1
- package/src/types.ts +7 -0
- package/src/user-input/index.ts +33 -21
- package/src/user-input/keyword.ts +6 -1
- package/src/user-input/smart-intent.ts +5 -0
- package/src/utils.ts +27 -1
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EACL,yBAAyB,EACzB,SAAS,EACT,qBAAqB,GACtB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,aAAa,EACb,YAAY,EAEZ,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAQL,qBAAqB,GACtB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAEL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/tracking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AAGnC,OAAO,EAEL,qBAAqB,
|
|
1
|
+
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":";AACA,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,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,qCAAsB,CAAA;IACtB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,+CAAgC,CAAA;IAChC,8CAA+B,CAAA;IAC/B,oCAAqB,CAAA;AACvB,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAED,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,uDAA4B,CAAA;IAC5B,0DAA+B,CAAA;AACjC,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC;AAED,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,IAAI,WAAW,CAAC,IAAI,KAAK,qBAAqB,CAAC,cAAc,EAAE;gBAC7D,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE;oBAC7C,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,MAAM,EAAE,WAAW,CAAC,OAAO;oBAC3B,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC;oBAC5D,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,YAAY,EAAE,MAAA,WAAW,CAAC,aAAa,mCAAI,KAAK;iBACjD,CAAC,CAAA;gBACF,MAAM,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;aAC3D;SACF;;CACF;AAED,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,WAMC;;IAED,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,OAAO,CAAC,cAAc,mCAAI,MAAM,EAAE,CAAA;IAC/D,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG,YAAY,CAAA;IAE7C,OAAO;QACL,YAAY;QACZ,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,UAAU,EAAE,WAAW,CAAC,EAAE;QAC1B,iBAAiB,EAAE,WAAW,CAAC,IAAI;QACnC,oBAAoB,EAAE,WAAW,CAAC,YAAY;KAC/C,CAAA;AACH,CAAC"}
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { PluginPreRequest, Session } from '@botonic/core';
|
|
2
2
|
import { ActionRequest } from '@botonic/react';
|
|
3
3
|
import { HtFlowBuilderData } from './content-fields/hubtype-fields';
|
|
4
|
+
export interface InShadowingConfig {
|
|
5
|
+
allowKeywords: boolean;
|
|
6
|
+
allowSmartIntents: boolean;
|
|
7
|
+
allowKnowledgeBases: boolean;
|
|
8
|
+
}
|
|
4
9
|
export interface BotonicPluginFlowBuilderOptions {
|
|
5
10
|
apiUrl?: string;
|
|
6
11
|
jsonVersion?: FlowBuilderJSONVersion;
|
|
@@ -13,6 +18,7 @@ export interface BotonicPluginFlowBuilderOptions {
|
|
|
13
18
|
smartIntentsConfig?: {
|
|
14
19
|
numSmartIntentsToUse: number;
|
|
15
20
|
};
|
|
21
|
+
inShadowing?: Partial<InShadowingConfig>;
|
|
16
22
|
}
|
|
17
23
|
export type TrackEventFunction = (request: ActionRequest, eventAction: string, args?: Record<string, any>) => Promise<void>;
|
|
18
24
|
export type KnowledgeBaseFunction = (request: ActionRequest, sources: string[], instructions: string, messageId: string, memoryLength: number) => Promise<KnowledgeBaseResponse>;
|
package/lib/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AA8CA,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAED,MAAM,CAAN,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,2CAAiB,CAAA;AACnB,CAAC,EAHW,sBAAsB,KAAtB,sBAAsB,QAGjC"}
|
|
@@ -1,28 +1,35 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { inputHasTextData } from '../utils';
|
|
2
|
+
import { inputHasTextData, isKeywordsAllowed, isSmartIntentsAllowed, } from '../utils';
|
|
3
3
|
import { getIntentNodeByInput } from './intent';
|
|
4
4
|
import { KeywordMatcher } from './keyword';
|
|
5
5
|
import { SmartIntentsApi } from './smart-intent';
|
|
6
6
|
export function getNodeByUserInput(cmsApi, locale, request, smartIntentsConfig) {
|
|
7
7
|
return __awaiter(this, void 0, void 0, function* () {
|
|
8
8
|
if (inputHasTextData(request.input)) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
if (isKeywordsAllowed(request)) {
|
|
10
|
+
const keywordMatcher = new KeywordMatcher({
|
|
11
|
+
cmsApi,
|
|
12
|
+
locale,
|
|
13
|
+
request,
|
|
14
|
+
});
|
|
15
|
+
const keywordNode = yield keywordMatcher.getNodeByInput(request.input.data);
|
|
16
|
+
if (keywordNode) {
|
|
17
|
+
return keywordNode;
|
|
18
|
+
}
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
if (isSmartIntentsAllowed(request)) {
|
|
21
|
+
const smartIntentsApi = new SmartIntentsApi(cmsApi, request, smartIntentsConfig);
|
|
22
|
+
const smartIntentNode = yield smartIntentsApi.getNodeByInput();
|
|
23
|
+
if (smartIntentNode) {
|
|
24
|
+
return smartIntentNode;
|
|
25
|
+
}
|
|
22
26
|
}
|
|
23
|
-
|
|
24
|
-
if (
|
|
25
|
-
|
|
27
|
+
// TODO: Remove this because frontend no allow create intents babel
|
|
28
|
+
if (isSmartIntentsAllowed(request)) {
|
|
29
|
+
const intentNode = yield getIntentNodeByInput(cmsApi, locale, request);
|
|
30
|
+
if (intentNode) {
|
|
31
|
+
return intentNode;
|
|
32
|
+
}
|
|
26
33
|
}
|
|
27
34
|
}
|
|
28
35
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/user-input/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/user-input/index.ts"],"names":[],"mappings":";AAQA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAA+B,MAAM,gBAAgB,CAAA;AAE7E,MAAM,UAAgB,kBAAkB,CACtC,MAAsB,EACtB,MAAc,EACd,OAAsB,EACtB,kBAA+C;;QAE/C,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE;gBAC9B,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC;oBACxC,MAAM;oBACN,MAAM;oBACN,OAAO;iBACR,CAAC,CAAA;gBACF,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,cAAc,CACrD,OAAO,CAAC,KAAK,CAAC,IAAK,CACpB,CAAA;gBACD,IAAI,WAAW,EAAE;oBACf,OAAO,WAAW,CAAA;iBACnB;aACF;YAED,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE;gBAClC,MAAM,eAAe,GAAG,IAAI,eAAe,CACzC,MAAM,EACN,OAAO,EACP,kBAAkB,CACnB,CAAA;gBACD,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,CAAA;gBAC9D,IAAI,eAAe,EAAE;oBACnB,OAAO,eAAe,CAAA;iBACvB;aACF;YAED,mEAAmE;YACnE,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE;gBAClC,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;gBACtE,IAAI,UAAU,EAAE;oBACd,OAAO,UAAU,CAAA;iBAClB;aACF;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
+
import { NluType } from '@botonic/core';
|
|
2
3
|
import { REG_EXP_PATTERN } from '../constants';
|
|
3
4
|
import { EventAction, trackEvent } from '../tracking';
|
|
4
5
|
export class KeywordMatcher {
|
|
@@ -12,9 +13,13 @@ export class KeywordMatcher {
|
|
|
12
13
|
return __awaiter(this, void 0, void 0, function* () {
|
|
13
14
|
const keywordNodes = this.cmsApi.getKeywordNodes();
|
|
14
15
|
const keywordNode = this.getNodeByKeyword(userInput, keywordNodes);
|
|
15
|
-
if (!keywordNode) {
|
|
16
|
+
if (!keywordNode || !this.matchedKeyword) {
|
|
16
17
|
return undefined;
|
|
17
18
|
}
|
|
19
|
+
this.request.input.nluResolution = {
|
|
20
|
+
type: NluType.Keyword,
|
|
21
|
+
matchedValue: this.matchedKeyword,
|
|
22
|
+
};
|
|
18
23
|
yield this.trackKeywordEvent();
|
|
19
24
|
return keywordNode;
|
|
20
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
+
import { NluType } from '@botonic/core';
|
|
2
3
|
import axios from 'axios';
|
|
3
4
|
import { getFlowBuilderPlugin } from '../helpers';
|
|
4
5
|
import { EventAction, trackEvent } from '../tracking';
|
|
@@ -26,6 +27,10 @@ export class SmartIntentsApi {
|
|
|
26
27
|
const response = yield this.getInference(params);
|
|
27
28
|
const smartIntentNode = smartIntentNodes.find(smartIntentNode => smartIntentNode.content.title === response.data.smart_intent_title);
|
|
28
29
|
if (smartIntentNode) {
|
|
30
|
+
this.currentRequest.input.nluResolution = {
|
|
31
|
+
type: NluType.SmartIntent,
|
|
32
|
+
matchedValue: smartIntentNode.content.title,
|
|
33
|
+
};
|
|
29
34
|
yield trackEvent(this.currentRequest, EventAction.IntentSmart, {
|
|
30
35
|
nluIntentSmartTitle: response.data.smart_intent_title,
|
|
31
36
|
nluIntentSmartNumUsed: response.data.smart_intents_used.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":";
|
|
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.d.ts
CHANGED
|
@@ -4,3 +4,6 @@ import { BotonicPluginFlowBuilderOptions } from './types';
|
|
|
4
4
|
export declare function resolveGetAccessToken(options: BotonicPluginFlowBuilderOptions): (session: Session) => string;
|
|
5
5
|
export declare function getValueFromKeyPath(request: ActionRequest, keyPath: string): any;
|
|
6
6
|
export declare function inputHasTextData(input: Input): boolean;
|
|
7
|
+
export declare function isKeywordsAllowed(request: ActionRequest): boolean;
|
|
8
|
+
export declare function isSmartIntentsAllowed(request: ActionRequest): boolean;
|
|
9
|
+
export declare function isKnowledgeBasesAllowed(request: ActionRequest): boolean;
|
package/lib/esm/utils.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { INPUT } from '@botonic/core';
|
|
2
|
-
import {
|
|
2
|
+
import { getFlowBuilderPlugin } from './helpers';
|
|
3
|
+
import { ProcessEnvNodeEnvs, } from './types';
|
|
3
4
|
function getAccessTokenFromSession(session) {
|
|
4
5
|
if (!session._access_token) {
|
|
5
6
|
throw new Error('No access token found in session');
|
|
@@ -35,4 +36,18 @@ function resolveObjectKey(object, key) {
|
|
|
35
36
|
export function inputHasTextData(input) {
|
|
36
37
|
return input.data !== undefined && input.type === INPUT.TEXT;
|
|
37
38
|
}
|
|
39
|
+
function isNluAllowed(request, nluFlag) {
|
|
40
|
+
const shadowing = Boolean(request.session._shadowing);
|
|
41
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
|
|
42
|
+
return !shadowing || (shadowing && flowBuilderPlugin.inShadowing[nluFlag]);
|
|
43
|
+
}
|
|
44
|
+
export function isKeywordsAllowed(request) {
|
|
45
|
+
return isNluAllowed(request, 'allowKeywords');
|
|
46
|
+
}
|
|
47
|
+
export function isSmartIntentsAllowed(request) {
|
|
48
|
+
return isNluAllowed(request, 'allowSmartIntents');
|
|
49
|
+
}
|
|
50
|
+
export function isKnowledgeBasesAllowed(request) {
|
|
51
|
+
return isNluAllowed(request, 'allowKnowledgeBases');
|
|
52
|
+
}
|
|
38
53
|
//# sourceMappingURL=utils.js.map
|
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,
|
|
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,EAGL,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAEhB,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,OAAwC;IAExC,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC5B,KAAK,kBAAkB,CAAC,UAAU;YAChC,OAAO,yBAAyB,CAAA;QAClC,KAAK,kBAAkB,CAAC,WAAW;YACjC,OAAO,OAAO,CAAC,cAAc,CAAA;QAC/B;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,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAChE,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.34.
|
|
3
|
+
"version": "0.34.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,7 +14,7 @@
|
|
|
14
14
|
"lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@botonic/react": "0.34.0
|
|
17
|
+
"@botonic/react": "^0.34.0",
|
|
18
18
|
"axios": "^1.7.9",
|
|
19
19
|
"uuid": "^10.0.0"
|
|
20
20
|
},
|
|
@@ -64,7 +64,7 @@ async function getContentsByUserInput({
|
|
|
64
64
|
resolvedLocale,
|
|
65
65
|
})
|
|
66
66
|
|
|
67
|
-
const hasRepeatedContent = await
|
|
67
|
+
const hasRepeatedContent = await checkRepeatedContents(
|
|
68
68
|
flowBuilderPlugin,
|
|
69
69
|
resolvedLocale,
|
|
70
70
|
contentsByKeywordsOrIntents
|
|
@@ -94,7 +94,7 @@ function getConversationStartId(cmsApi: FlowBuilderApi) {
|
|
|
94
94
|
return conversationStartId
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
async function
|
|
97
|
+
async function checkRepeatedContents(
|
|
98
98
|
flowBuilderPlugin: BotonicPluginFlowBuilder,
|
|
99
99
|
resolvedLocale: string,
|
|
100
100
|
contentsByKeywordsOrIntents: FlowContent[]
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import { HtNodeWithContent } from '../content-fields/hubtype-fields/nodes'
|
|
9
9
|
import { EventAction, KnowledgebaseFailReason, trackEvent } from '../tracking'
|
|
10
10
|
import { KnowledgeBaseFunction, KnowledgeBaseResponse } from '../types'
|
|
11
|
-
import { inputHasTextData } from '../utils'
|
|
11
|
+
import { inputHasTextData, isKnowledgeBasesAllowed } from '../utils'
|
|
12
12
|
import { FlowBuilderContext } from './index'
|
|
13
13
|
|
|
14
14
|
export async function getContentsByKnowledgeBase({
|
|
@@ -17,46 +17,48 @@ export async function getContentsByKnowledgeBase({
|
|
|
17
17
|
request,
|
|
18
18
|
resolvedLocale,
|
|
19
19
|
}: FlowBuilderContext): Promise<FlowContent[]> {
|
|
20
|
-
|
|
20
|
+
if (isKnowledgeBasesAllowed(request)) {
|
|
21
|
+
const startNodeKnowledgeBaseFlow = cmsApi.getStartNodeKnowledgeBaseFlow()
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
const contents = await flowBuilderPlugin.getContentsByNode(
|
|
27
|
-
startNodeKnowledgeBaseFlow,
|
|
28
|
-
resolvedLocale
|
|
29
|
-
)
|
|
23
|
+
if (!startNodeKnowledgeBaseFlow) {
|
|
24
|
+
return []
|
|
25
|
+
}
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
const contents = await flowBuilderPlugin.getContentsByNode(
|
|
28
|
+
startNodeKnowledgeBaseFlow,
|
|
29
|
+
resolvedLocale
|
|
30
|
+
)
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
const knowledgeBaseContent = contents.find(
|
|
33
|
+
content => content instanceof FlowKnowledgeBase
|
|
34
|
+
) as FlowKnowledgeBase
|
|
38
35
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
).flow_id
|
|
36
|
+
if (!knowledgeBaseContent) {
|
|
37
|
+
return contents
|
|
38
|
+
}
|
|
43
39
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
40
|
+
const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id)
|
|
41
|
+
const flowId = cmsApi.getNodeById<HtNodeWithContent>(
|
|
42
|
+
knowledgeBaseContent.id
|
|
43
|
+
).flow_id
|
|
44
|
+
|
|
45
|
+
if (
|
|
46
|
+
flowBuilderPlugin.getKnowledgeBaseResponse &&
|
|
47
|
+
inputHasTextData(request.input) &&
|
|
48
|
+
sourceIds.length > 0
|
|
49
|
+
) {
|
|
50
|
+
const contentsWithKnowledgeResponse =
|
|
51
|
+
await getContentsWithKnowledgeResponse(
|
|
52
|
+
flowBuilderPlugin.getKnowledgeBaseResponse,
|
|
53
|
+
request,
|
|
54
|
+
contents,
|
|
55
|
+
knowledgeBaseContent,
|
|
56
|
+
flowId
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
if (contentsWithKnowledgeResponse) {
|
|
60
|
+
return contentsWithKnowledgeResponse
|
|
61
|
+
}
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HtBaseNode, HtInputLocale, HtTextLocale } from './common'
|
|
2
2
|
import { HtNodeWithContentType } from './node-types'
|
|
3
3
|
|
|
4
|
+
// TODO: Remove this because frontend no allow create intents babel
|
|
4
5
|
export interface HtIntentNode extends HtBaseNode {
|
|
5
6
|
type: HtNodeWithContentType.INTENT
|
|
6
7
|
content: {
|
package/src/index.ts
CHANGED
|
@@ -34,6 +34,7 @@ import { DEFAULT_FUNCTIONS } from './functions'
|
|
|
34
34
|
import {
|
|
35
35
|
BotonicPluginFlowBuilderOptions,
|
|
36
36
|
FlowBuilderJSONVersion,
|
|
37
|
+
InShadowingConfig,
|
|
37
38
|
KnowledgeBaseFunction,
|
|
38
39
|
PayloadParamsBase,
|
|
39
40
|
TrackEventFunction,
|
|
@@ -54,12 +55,13 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
54
55
|
public trackEvent?: TrackEventFunction
|
|
55
56
|
public getKnowledgeBaseResponse?: KnowledgeBaseFunction
|
|
56
57
|
public smartIntentsConfig: SmartIntentsInferenceConfig
|
|
58
|
+
public inShadowing: InShadowingConfig
|
|
57
59
|
|
|
58
60
|
// TODO: Rethink how we construct FlowBuilderApi to be simpler
|
|
59
61
|
public jsonVersion: FlowBuilderJSONVersion
|
|
60
62
|
public apiUrl: string
|
|
61
63
|
|
|
62
|
-
constructor(
|
|
64
|
+
constructor(options: BotonicPluginFlowBuilderOptions) {
|
|
63
65
|
this.apiUrl = options.apiUrl || FLOW_BUILDER_API_URL_PROD
|
|
64
66
|
this.jsonVersion = options.jsonVersion || FlowBuilderJSONVersion.LATEST
|
|
65
67
|
this.flow = options.flow
|
|
@@ -73,6 +75,11 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
73
75
|
}
|
|
74
76
|
const customFunctions = options.customFunctions || {}
|
|
75
77
|
this.functions = { ...DEFAULT_FUNCTIONS, ...customFunctions }
|
|
78
|
+
this.inShadowing = {
|
|
79
|
+
allowKeywords: options.inShadowing?.allowKeywords || false,
|
|
80
|
+
allowSmartIntents: options.inShadowing?.allowSmartIntents || false,
|
|
81
|
+
allowKnowledgeBases: options.inShadowing?.allowKnowledgeBases || false,
|
|
82
|
+
}
|
|
76
83
|
}
|
|
77
84
|
|
|
78
85
|
resolveFlowUrl(request: PluginPreRequest): string {
|
|
@@ -131,6 +138,10 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
131
138
|
return payload.split(SOURCE_INFO_SEPARATOR)[0]
|
|
132
139
|
}
|
|
133
140
|
|
|
141
|
+
post(request: PluginPreRequest): void {
|
|
142
|
+
request.input.nluResolution = undefined
|
|
143
|
+
}
|
|
144
|
+
|
|
134
145
|
async getContentsByContentID(
|
|
135
146
|
contentID: string,
|
|
136
147
|
locale: string,
|
package/src/tracking.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -3,6 +3,12 @@ import { ActionRequest } from '@botonic/react'
|
|
|
3
3
|
|
|
4
4
|
import { HtFlowBuilderData } from './content-fields/hubtype-fields'
|
|
5
5
|
|
|
6
|
+
export interface InShadowingConfig {
|
|
7
|
+
allowKeywords: boolean
|
|
8
|
+
allowSmartIntents: boolean
|
|
9
|
+
allowKnowledgeBases: boolean
|
|
10
|
+
}
|
|
11
|
+
|
|
6
12
|
export interface BotonicPluginFlowBuilderOptions {
|
|
7
13
|
apiUrl?: string
|
|
8
14
|
jsonVersion?: FlowBuilderJSONVersion
|
|
@@ -13,6 +19,7 @@ export interface BotonicPluginFlowBuilderOptions {
|
|
|
13
19
|
trackEvent?: TrackEventFunction
|
|
14
20
|
getKnowledgeBaseResponse?: KnowledgeBaseFunction
|
|
15
21
|
smartIntentsConfig?: { numSmartIntentsToUse: number }
|
|
22
|
+
inShadowing?: Partial<InShadowingConfig>
|
|
16
23
|
}
|
|
17
24
|
|
|
18
25
|
export type TrackEventFunction = (
|
package/src/user-input/index.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { INPUT } from '@botonic/core'
|
|
2
1
|
import { ActionRequest } from '@botonic/react'
|
|
3
2
|
|
|
4
3
|
import { FlowBuilderApi } from '../api'
|
|
@@ -7,7 +6,11 @@ import {
|
|
|
7
6
|
HtKeywordNode,
|
|
8
7
|
HtSmartIntentNode,
|
|
9
8
|
} from '../content-fields/hubtype-fields'
|
|
10
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
inputHasTextData,
|
|
11
|
+
isKeywordsAllowed,
|
|
12
|
+
isSmartIntentsAllowed,
|
|
13
|
+
} from '../utils'
|
|
11
14
|
import { getIntentNodeByInput } from './intent'
|
|
12
15
|
import { KeywordMatcher } from './keyword'
|
|
13
16
|
import { SmartIntentsApi, SmartIntentsInferenceConfig } from './smart-intent'
|
|
@@ -19,29 +22,38 @@ export async function getNodeByUserInput(
|
|
|
19
22
|
smartIntentsConfig: SmartIntentsInferenceConfig
|
|
20
23
|
): Promise<HtSmartIntentNode | HtIntentNode | HtKeywordNode | undefined> {
|
|
21
24
|
if (inputHasTextData(request.input)) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
if (isKeywordsAllowed(request)) {
|
|
26
|
+
const keywordMatcher = new KeywordMatcher({
|
|
27
|
+
cmsApi,
|
|
28
|
+
locale,
|
|
29
|
+
request,
|
|
30
|
+
})
|
|
31
|
+
const keywordNode = await keywordMatcher.getNodeByInput(
|
|
32
|
+
request.input.data!
|
|
33
|
+
)
|
|
34
|
+
if (keywordNode) {
|
|
35
|
+
return keywordNode
|
|
36
|
+
}
|
|
30
37
|
}
|
|
31
38
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
if (isSmartIntentsAllowed(request)) {
|
|
40
|
+
const smartIntentsApi = new SmartIntentsApi(
|
|
41
|
+
cmsApi,
|
|
42
|
+
request,
|
|
43
|
+
smartIntentsConfig
|
|
44
|
+
)
|
|
45
|
+
const smartIntentNode = await smartIntentsApi.getNodeByInput()
|
|
46
|
+
if (smartIntentNode) {
|
|
47
|
+
return smartIntentNode
|
|
48
|
+
}
|
|
40
49
|
}
|
|
41
50
|
|
|
42
|
-
|
|
43
|
-
if (
|
|
44
|
-
|
|
51
|
+
// TODO: Remove this because frontend no allow create intents babel
|
|
52
|
+
if (isSmartIntentsAllowed(request)) {
|
|
53
|
+
const intentNode = await getIntentNodeByInput(cmsApi, locale, request)
|
|
54
|
+
if (intentNode) {
|
|
55
|
+
return intentNode
|
|
56
|
+
}
|
|
45
57
|
}
|
|
46
58
|
}
|
|
47
59
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NluType } from '@botonic/core'
|
|
1
2
|
import { ActionRequest } from '@botonic/react'
|
|
2
3
|
|
|
3
4
|
import { FlowBuilderApi } from '../api'
|
|
@@ -32,9 +33,13 @@ export class KeywordMatcher {
|
|
|
32
33
|
async getNodeByInput(userInput: string): Promise<HtKeywordNode | undefined> {
|
|
33
34
|
const keywordNodes = this.cmsApi.getKeywordNodes()
|
|
34
35
|
const keywordNode = this.getNodeByKeyword(userInput, keywordNodes)
|
|
35
|
-
if (!keywordNode) {
|
|
36
|
+
if (!keywordNode || !this.matchedKeyword) {
|
|
36
37
|
return undefined
|
|
37
38
|
}
|
|
39
|
+
this.request.input.nluResolution = {
|
|
40
|
+
type: NluType.Keyword,
|
|
41
|
+
matchedValue: this.matchedKeyword,
|
|
42
|
+
}
|
|
38
43
|
await this.trackKeywordEvent()
|
|
39
44
|
return keywordNode
|
|
40
45
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { NluType } from '@botonic/core'
|
|
1
2
|
import { ActionRequest } from '@botonic/react'
|
|
2
3
|
import axios from 'axios'
|
|
3
4
|
|
|
@@ -46,6 +47,10 @@ export class SmartIntentsApi {
|
|
|
46
47
|
smartIntentNode.content.title === response.data.smart_intent_title
|
|
47
48
|
)
|
|
48
49
|
if (smartIntentNode) {
|
|
50
|
+
this.currentRequest.input.nluResolution = {
|
|
51
|
+
type: NluType.SmartIntent,
|
|
52
|
+
matchedValue: smartIntentNode.content.title,
|
|
53
|
+
}
|
|
49
54
|
await trackEvent(this.currentRequest, EventAction.IntentSmart, {
|
|
50
55
|
nluIntentSmartTitle: response.data.smart_intent_title,
|
|
51
56
|
nluIntentSmartNumUsed: response.data.smart_intents_used.length,
|
package/src/utils.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { INPUT, Input, Session } from '@botonic/core'
|
|
2
2
|
import { ActionRequest } from '@botonic/react'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { getFlowBuilderPlugin } from './helpers'
|
|
5
|
+
import {
|
|
6
|
+
BotonicPluginFlowBuilderOptions,
|
|
7
|
+
InShadowingConfig,
|
|
8
|
+
ProcessEnvNodeEnvs,
|
|
9
|
+
} from './types'
|
|
5
10
|
|
|
6
11
|
function getAccessTokenFromSession(session: Session): string {
|
|
7
12
|
if (!session._access_token) {
|
|
@@ -51,3 +56,24 @@ function resolveObjectKey(object: any, key: string): any {
|
|
|
51
56
|
export function inputHasTextData(input: Input): boolean {
|
|
52
57
|
return input.data !== undefined && input.type === INPUT.TEXT
|
|
53
58
|
}
|
|
59
|
+
|
|
60
|
+
function isNluAllowed(
|
|
61
|
+
request: ActionRequest,
|
|
62
|
+
nluFlag: keyof InShadowingConfig
|
|
63
|
+
): boolean {
|
|
64
|
+
const shadowing = Boolean(request.session._shadowing)
|
|
65
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
|
|
66
|
+
return !shadowing || (shadowing && flowBuilderPlugin.inShadowing[nluFlag])
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export function isKeywordsAllowed(request: ActionRequest): boolean {
|
|
70
|
+
return isNluAllowed(request, 'allowKeywords')
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function isSmartIntentsAllowed(request: ActionRequest): boolean {
|
|
74
|
+
return isNluAllowed(request, 'allowSmartIntents')
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function isKnowledgeBasesAllowed(request: ActionRequest): boolean {
|
|
78
|
+
return isNluAllowed(request, 'allowKnowledgeBases')
|
|
79
|
+
}
|