@botonic/plugin-flow-builder 0.34.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 +2 -2
- package/lib/cjs/index.js +6 -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/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 +2 -2
- package/lib/esm/index.js +6 -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/utils.d.ts +3 -0
- package/lib/esm/utils.js +16 -1
- package/lib/esm/utils.js.map +1 -1
- package/package.json +1 -1
- 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 +8 -1
- package/src/tracking.ts +0 -1
- package/src/types.ts +7 -0
- package/src/user-input/index.ts +33 -21
- package/src/utils.ts +27 -1
|
@@ -43,7 +43,7 @@ function getContentsByUserInput({ cmsApi, flowBuilderPlugin, request, resolvedLo
|
|
|
43
43
|
request,
|
|
44
44
|
resolvedLocale,
|
|
45
45
|
});
|
|
46
|
-
const hasRepeatedContent = yield
|
|
46
|
+
const hasRepeatedContent = yield checkRepeatedContents(flowBuilderPlugin, resolvedLocale, contentsByKeywordsOrIntents);
|
|
47
47
|
if (hasRepeatedContent) {
|
|
48
48
|
return [];
|
|
49
49
|
}
|
|
@@ -63,7 +63,7 @@ function getConversationStartId(cmsApi) {
|
|
|
63
63
|
const conversationStartId = (_a = cmsApi.flow.flows.find(flow => flow.name === constants_1.MAIN_FLOW_NAME)) === null || _a === void 0 ? void 0 : _a.start_node_id;
|
|
64
64
|
return conversationStartId;
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function checkRepeatedContents(flowBuilderPlugin, resolvedLocale, contentsByKeywordsOrIntents) {
|
|
67
67
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
68
68
|
const startContents = yield flowBuilderPlugin.getStartContents(resolvedLocale);
|
|
69
69
|
const contentIds = new Set(contentsByKeywordsOrIntents.map(content => content.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":";;;;AACA,4CAA6C;AAC7C,sDAA8D;AAE9D,8CAAkD;AAClD,oCAA2C;AAE3C,uDAA8D;AAC9D,uCAAgD;AAEhD,SAAsB,6BAA6B,CAAC,EAClD,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,cAAc,GACK;;QACnB,MAAM,wBAAwB,GAC5B,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAA;QAE1D,8EAA8E;QAC9E,wEAAwE;QACxE,IAAI,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,8BAAa,EAAE;YAC5D,OAAO,wBAAwB,CAAA;SAChC;QAED,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnC,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CAAC;gBACvD,MAAM;gBACN,iBAAiB;gBACjB,OAAO;gBACP,cAAc;aACf,CAAC,CAAA;YAEF,OAAO,CAAC,GAAG,wBAAwB,EAAE,GAAG,mBAAmB,CAAC,CAAA;SAC7D;QAED,OAAO,wBAAwB,CAAA;IACjC,CAAC;CAAA;AA3BD,sEA2BC;AAED,SAAe,sBAAsB,CAAC,EACpC,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,cAAc,GACK;;QACnB,MAAM,eAAe,GAAG,MAAM,IAAA,+BAAkB,EAC9C,MAAM,EACN,cAAc,EACd,OAAO,EACP,iBAAiB,CAAC,kBAAkB,CACrC,CAAA;QAED,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,CAAC,CAAA;QAClE,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAE1D,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,mBAAmB,EAAE;YACjD,OAAO,EAAE,CAAA;SACV;QAED,MAAM,2BAA2B,GAAG,MAAM,IAAA,8BAAoB,EAAC;YAC7D,MAAM;YACN,iBAAiB;YACjB,OAAO;YACP,cAAc;SACf,CAAC,CAAA;QAEF,MAAM,kBAAkB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,23 +7,25 @@ const tracking_1 = require("../tracking");
|
|
|
7
7
|
const utils_1 = require("../utils");
|
|
8
8
|
function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request, resolvedLocale, }) {
|
|
9
9
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
if ((0, utils_1.isKnowledgeBasesAllowed)(request)) {
|
|
11
|
+
const startNodeKnowledgeBaseFlow = cmsApi.getStartNodeKnowledgeBaseFlow();
|
|
12
|
+
if (!startNodeKnowledgeBaseFlow) {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
const contents = yield flowBuilderPlugin.getContentsByNode(startNodeKnowledgeBaseFlow, resolvedLocale);
|
|
16
|
+
const knowledgeBaseContent = contents.find(content => content instanceof content_fields_1.FlowKnowledgeBase);
|
|
17
|
+
if (!knowledgeBaseContent) {
|
|
18
|
+
return contents;
|
|
19
|
+
}
|
|
20
|
+
const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
|
|
21
|
+
const flowId = cmsApi.getNodeById(knowledgeBaseContent.id).flow_id;
|
|
22
|
+
if (flowBuilderPlugin.getKnowledgeBaseResponse &&
|
|
23
|
+
(0, utils_1.inputHasTextData)(request.input) &&
|
|
24
|
+
sourceIds.length > 0) {
|
|
25
|
+
const contentsWithKnowledgeResponse = yield getContentsWithKnowledgeResponse(flowBuilderPlugin.getKnowledgeBaseResponse, request, contents, knowledgeBaseContent, flowId);
|
|
26
|
+
if (contentsWithKnowledgeResponse) {
|
|
27
|
+
return contentsWithKnowledgeResponse;
|
|
28
|
+
}
|
|
27
29
|
}
|
|
28
30
|
}
|
|
29
31
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";;;;AAEA,sDAI0B;AAE1B,0CAA8E;AAE9E,
|
|
1
|
+
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -2,10 +2,9 @@ import { Plugin, PluginPreRequest, Session } from '@botonic/core';
|
|
|
2
2
|
import { FlowBuilderApi } from './api';
|
|
3
3
|
import { FlowContent } from './content-fields';
|
|
4
4
|
import { HtNodeWithContent } from './content-fields/hubtype-fields';
|
|
5
|
-
import { BotonicPluginFlowBuilderOptions, FlowBuilderJSONVersion, KnowledgeBaseFunction, PayloadParamsBase, TrackEventFunction } from './types';
|
|
5
|
+
import { BotonicPluginFlowBuilderOptions, FlowBuilderJSONVersion, InShadowingConfig, KnowledgeBaseFunction, PayloadParamsBase, TrackEventFunction } from './types';
|
|
6
6
|
import { SmartIntentsInferenceConfig } from './user-input/smart-intent';
|
|
7
7
|
export default class BotonicPluginFlowBuilder implements Plugin {
|
|
8
|
-
readonly options: BotonicPluginFlowBuilderOptions;
|
|
9
8
|
cmsApi: FlowBuilderApi;
|
|
10
9
|
private flow?;
|
|
11
10
|
private functions;
|
|
@@ -15,6 +14,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
15
14
|
trackEvent?: TrackEventFunction;
|
|
16
15
|
getKnowledgeBaseResponse?: KnowledgeBaseFunction;
|
|
17
16
|
smartIntentsConfig: SmartIntentsInferenceConfig;
|
|
17
|
+
inShadowing: InShadowingConfig;
|
|
18
18
|
jsonVersion: FlowBuilderJSONVersion;
|
|
19
19
|
apiUrl: string;
|
|
20
20
|
constructor(options: BotonicPluginFlowBuilderOptions);
|
package/lib/cjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ const utils_1 = require("./utils");
|
|
|
14
14
|
// TODO: Create a proper service to wrap all calls and allow api versioning
|
|
15
15
|
class BotonicPluginFlowBuilder {
|
|
16
16
|
constructor(options) {
|
|
17
|
-
|
|
17
|
+
var _a, _b, _c;
|
|
18
18
|
this.apiUrl = options.apiUrl || constants_1.FLOW_BUILDER_API_URL_PROD;
|
|
19
19
|
this.jsonVersion = options.jsonVersion || types_1.FlowBuilderJSONVersion.LATEST;
|
|
20
20
|
this.flow = options.flow;
|
|
@@ -25,6 +25,11 @@ class BotonicPluginFlowBuilder {
|
|
|
25
25
|
this.smartIntentsConfig = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.smartIntentsConfig), { useLatest: this.jsonVersion === types_1.FlowBuilderJSONVersion.LATEST });
|
|
26
26
|
const customFunctions = options.customFunctions || {};
|
|
27
27
|
this.functions = Object.assign(Object.assign({}, functions_1.DEFAULT_FUNCTIONS), customFunctions);
|
|
28
|
+
this.inShadowing = {
|
|
29
|
+
allowKeywords: ((_a = options.inShadowing) === null || _a === void 0 ? void 0 : _a.allowKeywords) || false,
|
|
30
|
+
allowSmartIntents: ((_b = options.inShadowing) === null || _b === void 0 ? void 0 : _b.allowSmartIntents) || false,
|
|
31
|
+
allowKnowledgeBases: ((_c = options.inShadowing) === null || _c === void 0 ? void 0 : _c.allowKnowledgeBases) || false,
|
|
32
|
+
};
|
|
28
33
|
}
|
|
29
34
|
resolveFlowUrl(request) {
|
|
30
35
|
if (request.session.is_test_integration) {
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAEA,+BAAmC;AAEnC,+BAAsC;AACtC,2CAIoB;AACpB,qDAWyB;AACzB,oEASwC;AACxC,2CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/tracking.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":";;;;AACA,+BAAmC;AAGnC,
|
|
1
|
+
{"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":";;;;AACA,+BAAmC;AAGnC,oEAGwC;AACxC,uCAAgD;AAEhD,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,GAAX,mBAAW,KAAX,mBAAW,QAOtB;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,uDAA4B,CAAA;IAC5B,0DAA+B,CAAA;AACjC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC;AAED,SAAsB,UAAU,CAC9B,OAAsB,EACtB,WAAwB,EACxB,IAA0B;;QAE1B,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,IAAI,iBAAiB,CAAC,UAAU,EAAE;YAChC,MAAM,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;SAC/D;QACD,OAAM;IACR,CAAC;CAAA;AAVD,gCAUC;AAED,SAAsB,gBAAgB,CACpC,OAAsB,EACtB,QAAuB;;;QAEvB,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;QACvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAoB,OAAO,CAAC,EAAE,CAAC,CAAA;YACrE,IAAI,WAAW,CAAC,IAAI,KAAK,sCAAqB,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;AAnBD,4CAmBC;AAED,SAAS,mBAAmB,CAC1B,OAAsB,EACtB,WAMC;;IAED,MAAM,YAAY,GAAG,MAAA,OAAO,CAAC,OAAO,CAAC,cAAc,mCAAI,IAAA,SAAM,GAAE,CAAA;IAC/D,OAAO,CAAC,OAAO,CAAC,cAAc,GAAG,YAAY,CAAA;IAE7C,OAAO;QACL,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/cjs/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/cjs/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,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B;AAED,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,2CAAiB,CAAA;AACnB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC"}
|
|
@@ -9,23 +9,30 @@ const smart_intent_1 = require("./smart-intent");
|
|
|
9
9
|
function getNodeByUserInput(cmsApi, locale, request, smartIntentsConfig) {
|
|
10
10
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
11
11
|
if ((0, utils_1.inputHasTextData)(request.input)) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
if ((0, utils_1.isKeywordsAllowed)(request)) {
|
|
13
|
+
const keywordMatcher = new keyword_1.KeywordMatcher({
|
|
14
|
+
cmsApi,
|
|
15
|
+
locale,
|
|
16
|
+
request,
|
|
17
|
+
});
|
|
18
|
+
const keywordNode = yield keywordMatcher.getNodeByInput(request.input.data);
|
|
19
|
+
if (keywordNode) {
|
|
20
|
+
return keywordNode;
|
|
21
|
+
}
|
|
20
22
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
if ((0, utils_1.isSmartIntentsAllowed)(request)) {
|
|
24
|
+
const smartIntentsApi = new smart_intent_1.SmartIntentsApi(cmsApi, request, smartIntentsConfig);
|
|
25
|
+
const smartIntentNode = yield smartIntentsApi.getNodeByInput();
|
|
26
|
+
if (smartIntentNode) {
|
|
27
|
+
return smartIntentNode;
|
|
28
|
+
}
|
|
25
29
|
}
|
|
26
|
-
|
|
27
|
-
if (
|
|
28
|
-
|
|
30
|
+
// TODO: Remove this because frontend no allow create intents babel
|
|
31
|
+
if ((0, utils_1.isSmartIntentsAllowed)(request)) {
|
|
32
|
+
const intentNode = yield (0, intent_1.getIntentNodeByInput)(cmsApi, locale, request);
|
|
33
|
+
if (intentNode) {
|
|
34
|
+
return intentNode;
|
|
35
|
+
}
|
|
29
36
|
}
|
|
30
37
|
}
|
|
31
38
|
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,oCAIiB;AACjB,qCAA+C;AAC/C,uCAA0C;AAC1C,iDAA6E;AAE7E,SAAsB,kBAAkB,CACtC,MAAsB,EACtB,MAAc,EACd,OAAsB,EACtB,kBAA+C;;QAE/C,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnC,IAAI,IAAA,yBAAiB,EAAC,OAAO,CAAC,EAAE;gBAC9B,MAAM,cAAc,GAAG,IAAI,wBAAc,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,IAAA,6BAAqB,EAAC,OAAO,CAAC,EAAE;gBAClC,MAAM,eAAe,GAAG,IAAI,8BAAe,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,IAAA,6BAAqB,EAAC,OAAO,CAAC,EAAE;gBAClC,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAoB,EAAC,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;AA3CD,gDA2CC"}
|
package/lib/cjs/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/cjs/utils.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.inputHasTextData = exports.getValueFromKeyPath = exports.resolveGetAccessToken = void 0;
|
|
3
|
+
exports.isKnowledgeBasesAllowed = exports.isSmartIntentsAllowed = exports.isKeywordsAllowed = exports.inputHasTextData = exports.getValueFromKeyPath = exports.resolveGetAccessToken = void 0;
|
|
4
4
|
const core_1 = require("@botonic/core");
|
|
5
|
+
const helpers_1 = require("./helpers");
|
|
5
6
|
const types_1 = require("./types");
|
|
6
7
|
function getAccessTokenFromSession(session) {
|
|
7
8
|
if (!session._access_token) {
|
|
@@ -41,4 +42,21 @@ function inputHasTextData(input) {
|
|
|
41
42
|
return input.data !== undefined && input.type === core_1.INPUT.TEXT;
|
|
42
43
|
}
|
|
43
44
|
exports.inputHasTextData = inputHasTextData;
|
|
45
|
+
function isNluAllowed(request, nluFlag) {
|
|
46
|
+
const shadowing = Boolean(request.session._shadowing);
|
|
47
|
+
const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
|
|
48
|
+
return !shadowing || (shadowing && flowBuilderPlugin.inShadowing[nluFlag]);
|
|
49
|
+
}
|
|
50
|
+
function isKeywordsAllowed(request) {
|
|
51
|
+
return isNluAllowed(request, 'allowKeywords');
|
|
52
|
+
}
|
|
53
|
+
exports.isKeywordsAllowed = isKeywordsAllowed;
|
|
54
|
+
function isSmartIntentsAllowed(request) {
|
|
55
|
+
return isNluAllowed(request, 'allowSmartIntents');
|
|
56
|
+
}
|
|
57
|
+
exports.isSmartIntentsAllowed = isSmartIntentsAllowed;
|
|
58
|
+
function isKnowledgeBasesAllowed(request) {
|
|
59
|
+
return isNluAllowed(request, 'allowKnowledgeBases');
|
|
60
|
+
}
|
|
61
|
+
exports.isKnowledgeBasesAllowed = isKnowledgeBasesAllowed;
|
|
44
62
|
//# sourceMappingURL=utils.js.map
|
package/lib/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AAGrD,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAAA,wCAAqD;AAGrD,uCAAgD;AAChD,mCAIgB;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,SAAgB,qBAAqB,CACnC,OAAwC;IAExC,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC5B,KAAK,0BAAkB,CAAC,UAAU;YAChC,OAAO,yBAAyB,CAAA;QAClC,KAAK,0BAAkB,CAAC,WAAW;YACjC,OAAO,OAAO,CAAC,cAAc,CAAA;QAC/B;YACE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;KAChE;AACH,CAAC;AAXD,sDAWC;AAED,SAAgB,mBAAmB,CACjC,OAAsB,EACtB,OAAe;IAEf,IAAI,OAAO,CAAC,UAAU,CAAC,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;AAhBD,kDAgBC;AAED,SAAS,gBAAgB,CAAC,MAAW,EAAE,GAAW;IAChD,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;QACvC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;KACnB;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAY;IAC3C,OAAO,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,YAAK,CAAC,IAAI,CAAA;AAC9D,CAAC;AAFD,4CAEC;AAED,SAAS,YAAY,CACnB,OAAsB,EACtB,OAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,OAAO,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAsB;IACtD,OAAO,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AAC/C,CAAC;AAFD,8CAEC;AAED,SAAgB,qBAAqB,CAAC,OAAsB;IAC1D,OAAO,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;AACnD,CAAC;AAFD,sDAEC;AAED,SAAgB,uBAAuB,CAAC,OAAsB;IAC5D,OAAO,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;AACrD,CAAC;AAFD,0DAEC"}
|
|
@@ -39,7 +39,7 @@ function getContentsByUserInput({ cmsApi, flowBuilderPlugin, request, resolvedLo
|
|
|
39
39
|
request,
|
|
40
40
|
resolvedLocale,
|
|
41
41
|
});
|
|
42
|
-
const hasRepeatedContent = yield
|
|
42
|
+
const hasRepeatedContent = yield checkRepeatedContents(flowBuilderPlugin, resolvedLocale, contentsByKeywordsOrIntents);
|
|
43
43
|
if (hasRepeatedContent) {
|
|
44
44
|
return [];
|
|
45
45
|
}
|
|
@@ -59,7 +59,7 @@ function getConversationStartId(cmsApi) {
|
|
|
59
59
|
const conversationStartId = (_a = cmsApi.flow.flows.find(flow => flow.name === MAIN_FLOW_NAME)) === null || _a === void 0 ? void 0 : _a.start_node_id;
|
|
60
60
|
return conversationStartId;
|
|
61
61
|
}
|
|
62
|
-
function
|
|
62
|
+
function checkRepeatedContents(flowBuilderPlugin, resolvedLocale, contentsByKeywordsOrIntents) {
|
|
63
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
64
64
|
const startContents = yield flowBuilderPlugin.getStartContents(resolvedLocale);
|
|
65
65
|
const contentIds = new Set(contentsByKeywordsOrIntents.map(content => content.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAe,MAAM,mBAAmB,CAAA;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,UAAgB,6BAA6B,CAAC,EAClD,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,cAAc,GACK;;QACnB,MAAM,wBAAwB,GAC5B,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAA;QAE1D,8EAA8E;QAC9E,wEAAwE;QACxE,IAAI,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,aAAa,EAAE;YAC5D,OAAO,wBAAwB,CAAA;SAChC;QAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnC,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CAAC;gBACvD,MAAM;gBACN,iBAAiB;gBACjB,OAAO;gBACP,cAAc;aACf,CAAC,CAAA;YAEF,OAAO,CAAC,GAAG,wBAAwB,EAAE,GAAG,mBAAmB,CAAC,CAAA;SAC7D;QAED,OAAO,wBAAwB,CAAA;IACjC,CAAC;CAAA;AAED,SAAe,sBAAsB,CAAC,EACpC,MAAM,EACN,iBAAiB,EACjB,OAAO,EACP,cAAc,GACK;;QACnB,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAC9C,MAAM,EACN,cAAc,EACd,OAAO,EACP,iBAAiB,CAAC,kBAAkB,CACrC,CAAA;QAED,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,CAAC,CAAA;QAClE,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAE1D,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,mBAAmB,EAAE;YACjD,OAAO,EAAE,CAAA;SACV;QAED,MAAM,2BAA2B,GAAG,MAAM,oBAAoB,CAAC;YAC7D,MAAM;YACN,iBAAiB;YACjB,OAAO;YACP,cAAc;SACf,CAAC,CAAA;QAEF,MAAM,kBAAkB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { DISABLED_MEMORY_LENGTH, FlowKnowledgeBase, } from '../content-fields';
|
|
3
3
|
import { EventAction, KnowledgebaseFailReason, trackEvent } from '../tracking';
|
|
4
|
-
import { inputHasTextData } from '../utils';
|
|
4
|
+
import { inputHasTextData, isKnowledgeBasesAllowed } from '../utils';
|
|
5
5
|
export function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request, resolvedLocale, }) {
|
|
6
6
|
return __awaiter(this, void 0, void 0, function* () {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
7
|
+
if (isKnowledgeBasesAllowed(request)) {
|
|
8
|
+
const startNodeKnowledgeBaseFlow = cmsApi.getStartNodeKnowledgeBaseFlow();
|
|
9
|
+
if (!startNodeKnowledgeBaseFlow) {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
const contents = yield flowBuilderPlugin.getContentsByNode(startNodeKnowledgeBaseFlow, resolvedLocale);
|
|
13
|
+
const knowledgeBaseContent = contents.find(content => content instanceof FlowKnowledgeBase);
|
|
14
|
+
if (!knowledgeBaseContent) {
|
|
15
|
+
return contents;
|
|
16
|
+
}
|
|
17
|
+
const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
|
|
18
|
+
const flowId = cmsApi.getNodeById(knowledgeBaseContent.id).flow_id;
|
|
19
|
+
if (flowBuilderPlugin.getKnowledgeBaseResponse &&
|
|
20
|
+
inputHasTextData(request.input) &&
|
|
21
|
+
sourceIds.length > 0) {
|
|
22
|
+
const contentsWithKnowledgeResponse = yield getContentsWithKnowledgeResponse(flowBuilderPlugin.getKnowledgeBaseResponse, request, contents, knowledgeBaseContent, flowId);
|
|
23
|
+
if (contentsWithKnowledgeResponse) {
|
|
24
|
+
return contentsWithKnowledgeResponse;
|
|
25
|
+
}
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,sBAAsB,EAEtB,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -2,10 +2,9 @@ import { Plugin, PluginPreRequest, Session } from '@botonic/core';
|
|
|
2
2
|
import { FlowBuilderApi } from './api';
|
|
3
3
|
import { FlowContent } from './content-fields';
|
|
4
4
|
import { HtNodeWithContent } from './content-fields/hubtype-fields';
|
|
5
|
-
import { BotonicPluginFlowBuilderOptions, FlowBuilderJSONVersion, KnowledgeBaseFunction, PayloadParamsBase, TrackEventFunction } from './types';
|
|
5
|
+
import { BotonicPluginFlowBuilderOptions, FlowBuilderJSONVersion, InShadowingConfig, KnowledgeBaseFunction, PayloadParamsBase, TrackEventFunction } from './types';
|
|
6
6
|
import { SmartIntentsInferenceConfig } from './user-input/smart-intent';
|
|
7
7
|
export default class BotonicPluginFlowBuilder implements Plugin {
|
|
8
|
-
readonly options: BotonicPluginFlowBuilderOptions;
|
|
9
8
|
cmsApi: FlowBuilderApi;
|
|
10
9
|
private flow?;
|
|
11
10
|
private functions;
|
|
@@ -15,6 +14,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
15
14
|
trackEvent?: TrackEventFunction;
|
|
16
15
|
getKnowledgeBaseResponse?: KnowledgeBaseFunction;
|
|
17
16
|
smartIntentsConfig: SmartIntentsInferenceConfig;
|
|
17
|
+
inShadowing: InShadowingConfig;
|
|
18
18
|
jsonVersion: FlowBuilderJSONVersion;
|
|
19
19
|
apiUrl: string;
|
|
20
20
|
constructor(options: BotonicPluginFlowBuilderOptions);
|
package/lib/esm/index.js
CHANGED
|
@@ -11,7 +11,7 @@ import { inputHasTextData, resolveGetAccessToken } from './utils';
|
|
|
11
11
|
// TODO: Create a proper service to wrap all calls and allow api versioning
|
|
12
12
|
export default class BotonicPluginFlowBuilder {
|
|
13
13
|
constructor(options) {
|
|
14
|
-
|
|
14
|
+
var _a, _b, _c;
|
|
15
15
|
this.apiUrl = options.apiUrl || FLOW_BUILDER_API_URL_PROD;
|
|
16
16
|
this.jsonVersion = options.jsonVersion || FlowBuilderJSONVersion.LATEST;
|
|
17
17
|
this.flow = options.flow;
|
|
@@ -22,6 +22,11 @@ export default class BotonicPluginFlowBuilder {
|
|
|
22
22
|
this.smartIntentsConfig = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.smartIntentsConfig), { useLatest: this.jsonVersion === FlowBuilderJSONVersion.LATEST });
|
|
23
23
|
const customFunctions = options.customFunctions || {};
|
|
24
24
|
this.functions = Object.assign(Object.assign({}, DEFAULT_FUNCTIONS), customFunctions);
|
|
25
|
+
this.inShadowing = {
|
|
26
|
+
allowKeywords: ((_a = options.inShadowing) === null || _a === void 0 ? void 0 : _a.allowKeywords) || false,
|
|
27
|
+
allowSmartIntents: ((_b = options.inShadowing) === null || _b === void 0 ? void 0 : _b.allowSmartIntents) || false,
|
|
28
|
+
allowKnowledgeBases: ((_c = options.inShadowing) === null || _c === void 0 ? void 0 : _c.allowKnowledgeBases) || false,
|
|
29
|
+
};
|
|
25
30
|
}
|
|
26
31
|
resolveFlowUrl(request) {
|
|
27
32
|
if (request.session.is_test_integration) {
|
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"}
|
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
|
@@ -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 {
|
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
|
|
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
|
+
}
|