@botonic/plugin-flow-builder 2.29.0 → 2.30.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/CHANGELOG.md +15 -0
- package/package.json +3 -3
- package/src/lib/action/ai-agent-from-user-input.d.ts +3 -0
- package/src/lib/action/ai-agent-from-user-input.js +31 -0
- package/src/lib/action/ai-agent-from-user-input.js.map +1 -0
- package/src/lib/action/context.d.ts +11 -0
- package/src/lib/action/context.js +14 -0
- package/src/lib/action/context.js.map +1 -0
- package/src/lib/action/fallback.d.ts +1 -1
- package/src/lib/action/first-interaction.d.ts +1 -1
- package/src/lib/action/first-interaction.js +4 -3
- package/src/lib/action/first-interaction.js.map +1 -1
- package/src/lib/action/get-contents.d.ts +3 -0
- package/src/lib/action/get-contents.js +46 -0
- package/src/lib/action/get-contents.js.map +1 -0
- package/src/lib/action/index.d.ts +1 -11
- package/src/lib/action/index.js +17 -94
- package/src/lib/action/index.js.map +1 -1
- package/src/lib/action/knowledge-bases.d.ts +1 -1
- package/src/lib/action/knowledge-bases.js +2 -2
- package/src/lib/action/knowledge-bases.js.map +1 -1
- package/src/lib/action/payload.d.ts +1 -1
- package/src/lib/api.d.ts +0 -3
- package/src/lib/api.js +4 -29
- package/src/lib/api.js.map +1 -1
- package/src/lib/content-fields/content-fields-base.d.ts +3 -0
- package/src/lib/content-fields/content-fields-base.js +14 -0
- package/src/lib/content-fields/content-fields-base.js.map +1 -1
- package/src/lib/content-fields/flow-ai-agent-base.d.ts +23 -0
- package/src/lib/content-fields/flow-ai-agent-base.js +93 -0
- package/src/lib/content-fields/flow-ai-agent-base.js.map +1 -0
- package/src/lib/content-fields/flow-ai-agent-router.d.ts +22 -0
- package/src/lib/content-fields/flow-ai-agent-router.js +135 -0
- package/src/lib/content-fields/flow-ai-agent-router.js.map +1 -0
- package/src/lib/content-fields/flow-ai-agent.d.ts +8 -11
- package/src/lib/content-fields/flow-ai-agent.js +44 -25
- package/src/lib/content-fields/flow-ai-agent.js.map +1 -1
- package/src/lib/content-fields/flow-bot-action.d.ts +1 -0
- package/src/lib/content-fields/flow-bot-action.js +7 -0
- package/src/lib/content-fields/flow-bot-action.js.map +1 -1
- package/src/lib/content-fields/flow-button.d.ts +2 -0
- package/src/lib/content-fields/flow-button.js +6 -0
- package/src/lib/content-fields/flow-button.js.map +1 -1
- package/src/lib/content-fields/flow-capture-user-input.d.ts +2 -1
- package/src/lib/content-fields/flow-capture-user-input.js +7 -3
- package/src/lib/content-fields/flow-capture-user-input.js.map +1 -1
- package/src/lib/content-fields/flow-carousel.d.ts +2 -37
- package/src/lib/content-fields/flow-carousel.js +24 -140
- package/src/lib/content-fields/flow-carousel.js.map +1 -1
- package/src/lib/content-fields/flow-channel-conditional.d.ts +2 -1
- package/src/lib/content-fields/flow-channel-conditional.js +7 -1
- package/src/lib/content-fields/flow-channel-conditional.js.map +1 -1
- package/src/lib/content-fields/flow-country-conditional.d.ts +2 -1
- package/src/lib/content-fields/flow-country-conditional.js +7 -1
- package/src/lib/content-fields/flow-country-conditional.js.map +1 -1
- package/src/lib/content-fields/flow-custom-conditional.d.ts +2 -1
- package/src/lib/content-fields/flow-custom-conditional.js +7 -1
- package/src/lib/content-fields/flow-custom-conditional.js.map +1 -1
- package/src/lib/content-fields/flow-element.d.ts +1 -0
- package/src/lib/content-fields/flow-element.js +6 -0
- package/src/lib/content-fields/flow-element.js.map +1 -1
- package/src/lib/content-fields/flow-go-to-flow.d.ts +2 -1
- package/src/lib/content-fields/flow-go-to-flow.js +7 -1
- package/src/lib/content-fields/flow-go-to-flow.js.map +1 -1
- package/src/lib/content-fields/flow-handoff.d.ts +3 -2
- package/src/lib/content-fields/flow-handoff.js +17 -10
- package/src/lib/content-fields/flow-handoff.js.map +1 -1
- package/src/lib/content-fields/flow-image.d.ts +2 -1
- package/src/lib/content-fields/flow-image.js +7 -1
- package/src/lib/content-fields/flow-image.js.map +1 -1
- package/src/lib/content-fields/flow-knowledge-base.d.ts +3 -2
- package/src/lib/content-fields/flow-knowledge-base.js +8 -6
- package/src/lib/content-fields/flow-knowledge-base.js.map +1 -1
- package/src/lib/content-fields/flow-queue-status-conditional.d.ts +2 -1
- package/src/lib/content-fields/flow-queue-status-conditional.js +7 -1
- package/src/lib/content-fields/flow-queue-status-conditional.js.map +1 -1
- package/src/lib/content-fields/flow-rating.d.ts +2 -1
- package/src/lib/content-fields/flow-rating.js +21 -38
- package/src/lib/content-fields/flow-rating.js.map +1 -1
- package/src/lib/content-fields/flow-text.d.ts +3 -2
- package/src/lib/content-fields/flow-text.js +20 -8
- package/src/lib/content-fields/flow-text.js.map +1 -1
- package/src/lib/content-fields/flow-video.d.ts +2 -1
- package/src/lib/content-fields/flow-video.js +7 -1
- package/src/lib/content-fields/flow-video.js.map +1 -1
- package/src/lib/content-fields/flow-webview.d.ts +1 -0
- package/src/lib/content-fields/flow-webview.js +6 -0
- package/src/lib/content-fields/flow-webview.js.map +1 -1
- package/src/lib/content-fields/flow-whatsapp-cta-url-button.d.ts +1 -0
- package/src/lib/content-fields/flow-whatsapp-cta-url-button.js +6 -0
- package/src/lib/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
- package/src/lib/content-fields/flow-whatsapp-template.d.ts +3 -1
- package/src/lib/content-fields/flow-whatsapp-template.js +26 -20
- package/src/lib/content-fields/flow-whatsapp-template.js.map +1 -1
- package/src/lib/content-fields/hubtype-fields/ai-agent-router.d.ts +21 -0
- package/src/lib/content-fields/hubtype-fields/ai-agent-router.js +2 -0
- package/src/lib/content-fields/hubtype-fields/ai-agent-router.js.map +1 -0
- package/src/lib/content-fields/hubtype-fields/ai-agent.d.ts +3 -0
- package/src/lib/content-fields/hubtype-fields/index.d.ts +1 -0
- package/src/lib/content-fields/hubtype-fields/index.js +1 -0
- package/src/lib/content-fields/hubtype-fields/index.js.map +1 -1
- package/src/lib/content-fields/hubtype-fields/node-types.d.ts +1 -0
- package/src/lib/content-fields/hubtype-fields/node-types.js +1 -0
- package/src/lib/content-fields/hubtype-fields/node-types.js.map +1 -1
- package/src/lib/content-fields/hubtype-fields/nodes.d.ts +2 -1
- package/src/lib/content-fields/hubtype-fields/whatsapp-template.d.ts +22 -19
- package/src/lib/content-fields/index.d.ts +3 -2
- package/src/lib/content-fields/index.js +2 -1
- package/src/lib/content-fields/index.js.map +1 -1
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +2 -2
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +12 -6
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +2 -2
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +11 -6
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +1 -0
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +6 -11
- package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
- package/src/lib/content-fields/whatsapp-button-list/index.d.ts +3 -0
- package/src/lib/content-fields/whatsapp-button-list/index.js +4 -0
- package/src/lib/content-fields/whatsapp-button-list/index.js.map +1 -0
- package/src/lib/filters/index.d.ts +2 -2
- package/src/lib/flow-factory.js +4 -2
- package/src/lib/flow-factory.js.map +1 -1
- package/src/lib/index.d.ts +2 -1
- package/src/lib/index.js +9 -3
- package/src/lib/index.js.map +1 -1
- package/src/lib/services/capture-user-input-client.d.ts +1 -1
- package/src/lib/services/capture-user-input-client.js +2 -2
- package/src/lib/services/capture-user-input-client.js.map +1 -1
- package/src/lib/services/smart-intent-client.js +2 -2
- package/src/lib/services/smart-intent-client.js.map +1 -1
- package/src/lib/tests/helpers/flows/whatsapp-template.js +211 -151
- package/src/lib/tests/helpers/flows/whatsapp-template.js.map +1 -1
- package/src/lib/tests/helpers/utils.d.ts +3 -2
- package/src/lib/tests/helpers/utils.js +4 -2
- package/src/lib/tests/helpers/utils.js.map +1 -1
- package/src/lib/tracking.d.ts +1 -1
- package/src/lib/tracking.js +1 -1
- package/src/lib/tracking.js.map +1 -1
- package/src/lib/types.d.ts +2 -1
- package/src/lib/user-input/capture-user-input.d.ts +2 -1
- package/src/lib/user-input/capture-user-input.js +10 -9
- package/src/lib/user-input/capture-user-input.js.map +1 -1
- package/src/lib/user-input/index.js +7 -8
- package/src/lib/user-input/index.js.map +1 -1
- package/src/lib/user-input/keyword.d.ts +4 -2
- package/src/lib/user-input/keyword.js +6 -5
- package/src/lib/user-input/keyword.js.map +1 -1
- package/src/lib/user-input/smart-intent.d.ts +2 -1
- package/src/lib/user-input/smart-intent.js +5 -5
- package/src/lib/user-input/smart-intent.js.map +1 -1
- package/src/lib/utils/ai-agent.d.ts +22 -0
- package/src/lib/utils/ai-agent.js +188 -0
- package/src/lib/utils/ai-agent.js.map +1 -0
- package/src/lib/utils/flow-locale.d.ts +22 -0
- package/src/lib/utils/flow-locale.js +80 -0
- package/src/lib/utils/flow-locale.js.map +1 -0
- package/src/lib/utils/get-flow-builder-plugin.d.ts +3 -0
- package/src/lib/{helpers.js → utils/get-flow-builder-plugin.js} +1 -1
- package/src/lib/utils/get-flow-builder-plugin.js.map +1 -0
- package/src/lib/utils/index.d.ts +4 -0
- package/src/lib/utils/index.js +5 -0
- package/src/lib/utils/index.js.map +1 -0
- package/src/lib/{utils.d.ts → utils/input.d.ts} +3 -1
- package/src/lib/utils/input.js +32 -0
- package/src/lib/utils/input.js.map +1 -0
- package/src/lib/action/ai-agent.d.ts +0 -3
- package/src/lib/action/ai-agent.js +0 -67
- package/src/lib/action/ai-agent.js.map +0 -1
- package/src/lib/helpers.d.ts +0 -3
- package/src/lib/helpers.js.map +0 -1
- package/src/lib/utils.js +0 -16
- package/src/lib/utils.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## 2.30.0 (2026-06-11)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- update plugins to last botonicV0 changes #BLT-2370 ([#920](https://github.com/metis-ai/hubtype-product/pull/920))
|
|
6
|
+
|
|
7
|
+
### 🩹 Fixes
|
|
8
|
+
|
|
9
|
+
- apply carousel conversion to ai agents ([#908](https://github.com/metis-ai/hubtype-product/pull/908))
|
|
10
|
+
|
|
11
|
+
### ❤️ Thank You
|
|
12
|
+
|
|
13
|
+
- Marc Rabat @vanbasten17
|
|
14
|
+
- Oriol Raventós @Iru89
|
|
15
|
+
|
|
1
16
|
## 2.29.0 (2026-05-12)
|
|
2
17
|
|
|
3
18
|
### 🚀 Features
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/plugin-flow-builder",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.30.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "./src/index.js",
|
|
6
6
|
"types": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@botonic/core": "2.
|
|
8
|
+
"@botonic/core": "2.30.0",
|
|
9
9
|
"tslib": "^2.3.0",
|
|
10
10
|
"uuid": "^11.1.0",
|
|
11
11
|
"vitest": "^4.0.15",
|
|
12
|
-
"@botonic/shared": "2.
|
|
12
|
+
"@botonic/shared": "2.30.0"
|
|
13
13
|
},
|
|
14
14
|
"references": [
|
|
15
15
|
{
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { splitAiAgentContents } from '../utils';
|
|
3
|
+
export function getContentsByAiAgentFromUserInput(_a) {
|
|
4
|
+
return __awaiter(this, arguments, void 0, function* ({ cmsApi, flowBuilderPlugin, botonicContext, }) {
|
|
5
|
+
const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow();
|
|
6
|
+
const isAiAgentEnabled = cmsApi.isAiAgentEnabled();
|
|
7
|
+
if (!startNodeAiAgentFlow || !isAiAgentEnabled) {
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
const contents = yield flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow);
|
|
11
|
+
const splitContents = splitAiAgentContents(contents);
|
|
12
|
+
if (!splitContents) {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
if ('aiAgentRouterContent' in splitContents) {
|
|
16
|
+
const { aiAgentRouterContent, contentsBeforeAiAgentRouter } = splitContents;
|
|
17
|
+
const aiAgentResponse = yield aiAgentRouterContent.resolveAIAgentResponse(botonicContext, contentsBeforeAiAgentRouter);
|
|
18
|
+
if (!aiAgentResponse || aiAgentResponse.exit) {
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
return contents;
|
|
22
|
+
}
|
|
23
|
+
const { aiAgentContent, contentsBeforeAiAgent } = splitContents;
|
|
24
|
+
const aiAgentResponse = yield aiAgentContent.resolveAIAgentResponse(botonicContext, contentsBeforeAiAgent);
|
|
25
|
+
if (!aiAgentResponse || aiAgentResponse.exit) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
return contents;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ai-agent-from-user-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-agent-from-user-input.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/action/ai-agent-from-user-input.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAG/C,MAAM,UAAgB,iCAAiC;yDAAC,EACtD,MAAM,EACN,iBAAiB,EACjB,cAAc,GACK;QACnB,MAAM,oBAAoB,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAA;QAC7D,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAA;QAClD,IAAI,CAAC,oBAAoB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/C,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,QAAQ,GACZ,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QAEjE,MAAM,aAAa,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QACpD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,sBAAsB,IAAI,aAAa,EAAE,CAAC;YAC5C,MAAM,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,GAAG,aAAa,CAAA;YAC3E,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,sBAAsB,CACvE,cAAc,EACd,2BAA2B,CAC5B,CAAA;YAED,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC7C,OAAO,EAAE,CAAA;YACX,CAAC;YAED,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,GAAG,aAAa,CAAA;QAC/D,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,sBAAsB,CACjE,cAAc,EACd,qBAAqB,CACtB,CAAA;QAED,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAA;QACX,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BotonicContext } from '@botonic/core';
|
|
2
|
+
import type { FlowBuilderApi } from '../api';
|
|
3
|
+
import { type BotonicPluginFlowBuilder } from '../index';
|
|
4
|
+
export interface FlowBuilderContext {
|
|
5
|
+
cmsApi: FlowBuilderApi;
|
|
6
|
+
flowBuilderPlugin: BotonicPluginFlowBuilder;
|
|
7
|
+
botonicContext: BotonicContext;
|
|
8
|
+
resolvedLocale: string;
|
|
9
|
+
contentID?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function getFlowBuilderActionContext(botonicContext: BotonicContext, contentID?: string): FlowBuilderContext;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getFlowBuilderPlugin } from '../utils';
|
|
2
|
+
export function getFlowBuilderActionContext(botonicContext, contentID) {
|
|
3
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(botonicContext.plugins);
|
|
4
|
+
const cmsApi = flowBuilderPlugin.cmsApi;
|
|
5
|
+
const resolvedLocale = flowBuilderPlugin.cmsApi.getResolvedLocale();
|
|
6
|
+
return {
|
|
7
|
+
cmsApi,
|
|
8
|
+
flowBuilderPlugin,
|
|
9
|
+
botonicContext,
|
|
10
|
+
resolvedLocale,
|
|
11
|
+
contentID,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/action/context.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAU/C,MAAM,UAAU,2BAA2B,CACzC,cAA8B,EAC9B,SAAkB;IAElB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAA;IAEnE,OAAO;QACL,MAAM;QACN,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,SAAS;KACV,CAAA;AACH,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { FlowContent } from '../content-fields';
|
|
2
|
-
import { FlowBuilderContext } from './
|
|
2
|
+
import { FlowBuilderContext } from './context';
|
|
3
3
|
export declare function getContentsByFallback({ cmsApi, flowBuilderPlugin, botonicContext: context, }: FlowBuilderContext): Promise<FlowContent[]>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { MAIN_FLOW_NAME } from '../constants';
|
|
3
3
|
import { FlowBotAction } from '../content-fields';
|
|
4
|
-
import {
|
|
4
|
+
import { inputHasTextOrTranscript } from '../utils/input';
|
|
5
|
+
import { getContentsByAiAgentFromUserInput } from './ai-agent-from-user-input';
|
|
5
6
|
import { getContentsByKnowledgeBase } from './knowledge-bases';
|
|
6
7
|
import { getContentsByPayload } from './payload';
|
|
7
8
|
export function getContentsByFirstInteraction(fbContext) {
|
|
@@ -14,7 +15,7 @@ export function getContentsByFirstInteraction(fbContext) {
|
|
|
14
15
|
return firstInteractionContents;
|
|
15
16
|
}
|
|
16
17
|
if (botonicContext.input.nluResolution ||
|
|
17
|
-
botonicContext.input
|
|
18
|
+
inputHasTextOrTranscript(botonicContext.input)) {
|
|
18
19
|
const contentsByUserInput = yield getContentsByUserInput(fbContext);
|
|
19
20
|
return [...firstInteractionContents, ...contentsByUserInput];
|
|
20
21
|
}
|
|
@@ -55,7 +56,7 @@ function getContentsByUserInput(_a) {
|
|
|
55
56
|
return knowledgeBaseContents;
|
|
56
57
|
}
|
|
57
58
|
if (!flowBuilderPlugin.disableAIAgentInFirstInteraction) {
|
|
58
|
-
const aiAgentContents = yield
|
|
59
|
+
const aiAgentContents = yield getContentsByAiAgentFromUserInput({
|
|
59
60
|
cmsApi,
|
|
60
61
|
flowBuilderPlugin,
|
|
61
62
|
botonicContext,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/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,
|
|
1
|
+
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/action/first-interaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { MessageType } from '@botonic/shared';
|
|
3
|
+
import { EMPTY_PAYLOAD } from '../constants';
|
|
4
|
+
import { inputHasTextOrTranscript } from '../utils';
|
|
5
|
+
import { getContentsByAiAgentFromUserInput } from './ai-agent-from-user-input';
|
|
6
|
+
import { getFlowBuilderActionContext } from './context';
|
|
7
|
+
import { getContentsByFallback } from './fallback';
|
|
8
|
+
import { getContentsByFirstInteraction } from './first-interaction';
|
|
9
|
+
import { getContentsByKnowledgeBase } from './knowledge-bases';
|
|
10
|
+
import { getContentsByPayload } from './payload';
|
|
11
|
+
export function getContents(botonicContext, contentID) {
|
|
12
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
13
|
+
var _a;
|
|
14
|
+
const context = getFlowBuilderActionContext(botonicContext, contentID);
|
|
15
|
+
if (botonicContext.session.isFirstInteraction) {
|
|
16
|
+
return yield getContentsByFirstInteraction(context);
|
|
17
|
+
}
|
|
18
|
+
// TODO: We need to add MessageType.EventQueuePositionChanged for BotonicV2 in the backend
|
|
19
|
+
// TODO: Add needed logic when we can define contents for multi locale queue position message
|
|
20
|
+
if (botonicContext.input.type === MessageType.EventQueuePositionChanged) {
|
|
21
|
+
return [];
|
|
22
|
+
}
|
|
23
|
+
if ((_a = botonicContext.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith(EMPTY_PAYLOAD)) {
|
|
24
|
+
botonicContext.input.payload = undefined;
|
|
25
|
+
}
|
|
26
|
+
if (botonicContext.input.payload || contentID) {
|
|
27
|
+
const contentsByPayload = yield getContentsByPayload(context);
|
|
28
|
+
if (contentsByPayload.length > 0) {
|
|
29
|
+
return contentsByPayload;
|
|
30
|
+
}
|
|
31
|
+
return yield getContentsByFallback(context);
|
|
32
|
+
}
|
|
33
|
+
if (inputHasTextOrTranscript(botonicContext.input)) {
|
|
34
|
+
const aiAgentContents = yield getContentsByAiAgentFromUserInput(context);
|
|
35
|
+
if (aiAgentContents.length > 0) {
|
|
36
|
+
return aiAgentContents;
|
|
37
|
+
}
|
|
38
|
+
const knowledgeBaseContents = yield getContentsByKnowledgeBase(context);
|
|
39
|
+
if (knowledgeBaseContents.length > 0) {
|
|
40
|
+
return knowledgeBaseContents;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return yield getContentsByFallback(context);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=get-contents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-contents.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/action/get-contents.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAA;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,UAAgB,WAAW,CAC/B,cAA8B,EAC9B,SAAkB;;;QAElB,MAAM,OAAO,GAAG,2BAA2B,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;QAEtE,IAAI,cAAc,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC9C,OAAO,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAA;QACrD,CAAC;QAED,0FAA0F;QAC1F,6FAA6F;QAC7F,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,yBAAyB,EAAE,CAAC;YACxE,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,MAAA,cAAc,CAAC,KAAK,CAAC,OAAO,0CAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5D,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;QAC1C,CAAC;QAED,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YAC9C,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;YAC7D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,OAAO,iBAAiB,CAAA;YAC1B,CAAC;YAED,OAAO,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,wBAAwB,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,eAAe,GAAG,MAAM,iCAAiC,CAAC,OAAO,CAAC,CAAA;YACxE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,eAAe,CAAA;YACxB,CAAC;YACD,MAAM,qBAAqB,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAA;YACvE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,qBAAqB,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;CAAA"}
|
|
@@ -1,20 +1,10 @@
|
|
|
1
1
|
import { BotonicContext } from '@botonic/core';
|
|
2
|
-
import { FlowBuilderApi } from '../api';
|
|
3
2
|
import { FlowContent } from '../content-fields';
|
|
4
|
-
import { BotonicPluginFlowBuilder } from '../index';
|
|
5
3
|
export type FlowBuilderActionProps = {
|
|
6
4
|
contents: FlowContent[];
|
|
7
5
|
};
|
|
8
6
|
export declare class FlowBuilderAction {
|
|
9
7
|
static executeConversationStart(botonicContext: BotonicContext): Promise<FlowContent[]>;
|
|
10
8
|
static botonicInit(botonicContext: BotonicContext, contentID?: string): Promise<FlowContent[]>;
|
|
11
|
-
static
|
|
12
|
-
static doHandoffAndBotActions(botonicContext: BotonicContext, contents: FlowContent[]): Promise<void>;
|
|
13
|
-
}
|
|
14
|
-
export interface FlowBuilderContext {
|
|
15
|
-
cmsApi: FlowBuilderApi;
|
|
16
|
-
flowBuilderPlugin: BotonicPluginFlowBuilder;
|
|
17
|
-
botonicContext: BotonicContext;
|
|
18
|
-
resolvedLocale: string;
|
|
19
|
-
contentID?: string;
|
|
9
|
+
static prepareContents(botonicContext: BotonicContext, contents: FlowContent[]): Promise<FlowContent[]>;
|
|
20
10
|
}
|
package/src/lib/action/index.js
CHANGED
|
@@ -1,23 +1,14 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { FlowHandoff } from '../content-fields';
|
|
5
|
-
import { FlowBotAction } from '../content-fields/flow-bot-action';
|
|
6
|
-
import { ContentFilterExecutor } from '../filters';
|
|
7
|
-
import { getFlowBuilderPlugin } from '../helpers';
|
|
8
|
-
import { getContentsByAiAgent } from './ai-agent';
|
|
9
|
-
import { getContentsByFallback } from './fallback';
|
|
2
|
+
import { FlowAiAgent } from '../content-fields';
|
|
3
|
+
import { getFlowBuilderActionContext } from './context';
|
|
10
4
|
import { getContentsByFirstInteraction } from './first-interaction';
|
|
11
|
-
import {
|
|
12
|
-
import { getContentsByPayload } from './payload';
|
|
5
|
+
import { getContents } from './get-contents';
|
|
13
6
|
export class FlowBuilderAction {
|
|
14
7
|
static executeConversationStart(botonicContext) {
|
|
15
8
|
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
const fbContext =
|
|
9
|
+
const fbContext = getFlowBuilderActionContext(botonicContext);
|
|
17
10
|
const contents = yield getContentsByFirstInteraction(fbContext);
|
|
18
|
-
const filteredContents = yield
|
|
19
|
-
yield FlowBuilderAction.trackAllContents(botonicContext, filteredContents);
|
|
20
|
-
yield FlowBuilderAction.doHandoffAndBotActions(botonicContext, filteredContents);
|
|
11
|
+
const filteredContents = yield FlowBuilderAction.prepareContents(botonicContext, contents);
|
|
21
12
|
for (const content of filteredContents) {
|
|
22
13
|
// TODO: now toBotonic function is async and receives botonicContext as parameter,
|
|
23
14
|
// in a future PR refactor to resolve inside tracking, bot actions handoff and send messages
|
|
@@ -37,9 +28,7 @@ export class FlowBuilderAction {
|
|
|
37
28
|
static botonicInit(botonicContext, contentID) {
|
|
38
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
30
|
const contents = yield getContents(botonicContext, contentID);
|
|
40
|
-
const filteredContents = yield
|
|
41
|
-
yield FlowBuilderAction.trackAllContents(botonicContext, filteredContents);
|
|
42
|
-
yield FlowBuilderAction.doHandoffAndBotActions(botonicContext, filteredContents);
|
|
31
|
+
const filteredContents = yield FlowBuilderAction.prepareContents(botonicContext, contents);
|
|
43
32
|
for (const content of filteredContents) {
|
|
44
33
|
// TODO: now toBotonic function is async and receives botonicContext as parameter,
|
|
45
34
|
// in a future PR refactor to resolve inside tracking, bot actions handoff and send messages
|
|
@@ -58,87 +47,21 @@ export class FlowBuilderAction {
|
|
|
58
47
|
return filteredContents;
|
|
59
48
|
});
|
|
60
49
|
}
|
|
61
|
-
static
|
|
50
|
+
static prepareContents(botonicContext, contents) {
|
|
62
51
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
const processedContents = [];
|
|
63
53
|
for (const content of contents) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
yield handoffContent.doHandoff(botonicContext);
|
|
73
|
-
}
|
|
74
|
-
const botActionContent = contents.find(content => content instanceof FlowBotAction);
|
|
75
|
-
if (botActionContent) {
|
|
76
|
-
botActionContent.doBotAction(botonicContext);
|
|
54
|
+
let processedContent;
|
|
55
|
+
if (content instanceof FlowAiAgent) {
|
|
56
|
+
processedContent = yield content.processContent(botonicContext, processedContents.slice());
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
processedContent = yield content.processContent(botonicContext);
|
|
60
|
+
}
|
|
61
|
+
processedContents.push(processedContent !== null && processedContent !== void 0 ? processedContent : content);
|
|
77
62
|
}
|
|
63
|
+
return processedContents;
|
|
78
64
|
});
|
|
79
65
|
}
|
|
80
66
|
}
|
|
81
|
-
function getContents(botonicContext, contentID) {
|
|
82
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
-
const fbContext = getContext(botonicContext, contentID);
|
|
84
|
-
if (botonicContext.session.isFirstInteraction) {
|
|
85
|
-
return yield getContentsByFirstInteraction(fbContext);
|
|
86
|
-
}
|
|
87
|
-
// @ts-expect-error TODO: Add needed logic when we can define contents for multi locale queue position message
|
|
88
|
-
if (botonicContext.input.type === InputType.CaseEventQueuePosition) {
|
|
89
|
-
return [];
|
|
90
|
-
}
|
|
91
|
-
// When user clicks on a button generated by ai agent, the payload is the empty payload
|
|
92
|
-
// and we can resolve as if the user send a text with the button text
|
|
93
|
-
const payload = botonicContext.input.payload;
|
|
94
|
-
if (payload === null || payload === void 0 ? void 0 : payload.startsWith(EMPTY_PAYLOAD)) {
|
|
95
|
-
botonicContext.input.payload = undefined;
|
|
96
|
-
}
|
|
97
|
-
if (botonicContext.input.payload || contentID) {
|
|
98
|
-
const contentsByPayload = yield getContentsByPayload(fbContext);
|
|
99
|
-
if (contentsByPayload.length > 0) {
|
|
100
|
-
return contentsByPayload;
|
|
101
|
-
}
|
|
102
|
-
return yield getContentsByFallback(fbContext);
|
|
103
|
-
}
|
|
104
|
-
if (botonicContext.input.hasInputText()) {
|
|
105
|
-
const aiAgentContents = yield getContentsByAiAgent(fbContext);
|
|
106
|
-
if (aiAgentContents.length > 0) {
|
|
107
|
-
return aiAgentContents;
|
|
108
|
-
}
|
|
109
|
-
const knowledgeBaseContents = yield getContentsByKnowledgeBase(fbContext);
|
|
110
|
-
if (knowledgeBaseContents.length > 0) {
|
|
111
|
-
return knowledgeBaseContents;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return yield getContentsByFallback(fbContext);
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
function filterContents(botonicContext, contents) {
|
|
118
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
-
const flowBuilderPlugin = getFlowBuilderPlugin(botonicContext.plugins);
|
|
120
|
-
const contentFilters = flowBuilderPlugin.contentFilters;
|
|
121
|
-
const contentFilterExecutor = new ContentFilterExecutor({
|
|
122
|
-
filters: contentFilters,
|
|
123
|
-
});
|
|
124
|
-
const filteredContents = [];
|
|
125
|
-
for (const content of contents) {
|
|
126
|
-
const filteredContent = yield contentFilterExecutor.filter(botonicContext, content);
|
|
127
|
-
filteredContents.push(filteredContent);
|
|
128
|
-
}
|
|
129
|
-
return filteredContents;
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
function getContext(botonicContext, contentID) {
|
|
133
|
-
const flowBuilderPlugin = getFlowBuilderPlugin(botonicContext.plugins);
|
|
134
|
-
const cmsApi = flowBuilderPlugin.cmsApi;
|
|
135
|
-
const resolvedLocale = flowBuilderPlugin.cmsApi.getResolvedLocale();
|
|
136
|
-
return {
|
|
137
|
-
cmsApi,
|
|
138
|
-
flowBuilderPlugin,
|
|
139
|
-
botonicContext,
|
|
140
|
-
resolvedLocale,
|
|
141
|
-
contentID,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
67
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/action/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/action/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAM5C,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAO,wBAAwB,CACnC,cAA8B;;YAE9B,MAAM,SAAS,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,SAAS,CAAC,CAAA;YAC/D,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAC9D,cAAc,EACd,QAAQ,CACT,CAAA;YAED,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACvC,kFAAkF;gBAClF,4FAA4F;gBAC5F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;gBACvD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;gBAC5C,CAAC;qBAAM,IAAI,OAAO,EAAE,CAAC;oBACnB,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;YAED,+FAA+F;YAC/F,+FAA+F;YAC/F,OAAO,gBAAgB,CAAA;QACzB,CAAC;KAAA;IAED,MAAM,CAAO,WAAW,CACtB,cAA8B,EAC9B,SAAkB;;YAElB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;YAC7D,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAC9D,cAAc,EACd,QAAQ,CACT,CAAA;YAED,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;gBACvC,kFAAkF;gBAClF,4FAA4F;gBAC5F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;gBACvD,yFAAyF;gBACzF,sHAAsH;gBACtH,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,MAAM,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;gBAC5C,CAAC;qBAAM,IAAI,OAAO,EAAE,CAAC;oBACnB,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC9C,CAAC;YACH,CAAC;YAED,+FAA+F;YAC/F,+FAA+F;YAC/F,OAAO,gBAAgB,CAAA;QACzB,CAAC;KAAA;IAED,MAAM,CAAO,eAAe,CAC1B,cAA8B,EAC9B,QAAuB;;YAEvB,MAAM,iBAAiB,GAAkB,EAAE,CAAA;YAE3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,gBAAoC,CAAA;gBACxC,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;oBACnC,gBAAgB,GAAG,MAAM,OAAO,CAAC,cAAc,CAC7C,cAAc,EACd,iBAAiB,CAAC,KAAK,EAAE,CAC1B,CAAA;gBACH,CAAC;qBAAM,CAAC;oBACN,gBAAgB,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;gBACjE,CAAC;gBAED,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,OAAO,CAAC,CAAA;YACrD,CAAC;YAED,OAAO,iBAAiB,CAAA;QAC1B,CAAC;KAAA;CACF"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { FlowContent } from '../content-fields';
|
|
2
|
-
import { FlowBuilderContext } from './
|
|
2
|
+
import { FlowBuilderContext } from './context';
|
|
3
3
|
export declare function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, botonicContext, }: FlowBuilderContext): Promise<FlowContent[]>;
|
|
@@ -2,7 +2,7 @@ import { __awaiter, __rest } from "tslib";
|
|
|
2
2
|
import { EventAction, KnowledgebaseFailReason, } from '@botonic/shared';
|
|
3
3
|
import { DISABLED_MEMORY_LENGTH, FlowKnowledgeBase, } from '../content-fields';
|
|
4
4
|
import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
|
|
5
|
-
import { isKnowledgeBasesAllowed } from '../utils';
|
|
5
|
+
import { inputHasTextOrTranscript, isKnowledgeBasesAllowed } from '../utils';
|
|
6
6
|
export function getContentsByKnowledgeBase(_a) {
|
|
7
7
|
return __awaiter(this, arguments, void 0, function* ({ cmsApi, flowBuilderPlugin, botonicContext, }) {
|
|
8
8
|
if (isKnowledgeBasesAllowed(botonicContext)) {
|
|
@@ -17,7 +17,7 @@ export function getContentsByKnowledgeBase(_a) {
|
|
|
17
17
|
}
|
|
18
18
|
const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
|
|
19
19
|
if (flowBuilderPlugin.getKnowledgeBaseResponse &&
|
|
20
|
-
botonicContext.input
|
|
20
|
+
inputHasTextOrTranscript(botonicContext.input) &&
|
|
21
21
|
sourceIds.length > 0) {
|
|
22
22
|
const contentsWithKnowledgeResponse = yield getContentsWithKnowledgeResponse(flowBuilderPlugin.getKnowledgeBaseResponse, botonicContext, contents, knowledgeBaseContent);
|
|
23
23
|
if (contentsWithKnowledgeResponse) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/action/knowledge-bases.ts"],"names":[],"mappings":";AACA,OAAO,EACL,WAAW,EAEX,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,sBAAsB,EAEtB,iBAAiB,GAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,yCAAyC,EACzC,UAAU,GACX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
|
package/src/lib/api.d.ts
CHANGED
|
@@ -33,7 +33,4 @@ export declare class FlowBuilderApi {
|
|
|
33
33
|
setUserExtraDataVariable(key: string, value: string): Promise<void>;
|
|
34
34
|
getCaptureUserInputNode(): HtCaptureUserInputNode | undefined;
|
|
35
35
|
getResolvedLocale(): string;
|
|
36
|
-
private resolveAsLocale;
|
|
37
|
-
private resolveAsLanguage;
|
|
38
|
-
private resolveAsDefaultLocale;
|
|
39
36
|
}
|
package/src/lib/api.js
CHANGED
|
@@ -2,6 +2,7 @@ import { __awaiter } from "tslib";
|
|
|
2
2
|
import { AI_AGENTS_FLOW_NAME, KNOWLEDGE_BASE_FLOW_NAME, SEPARATOR, UUID_REGEXP, } from './constants';
|
|
3
3
|
import { HtNodeWithContentType, } from './content-fields/hubtype-fields/index';
|
|
4
4
|
import FlowClient from './services/flow-client';
|
|
5
|
+
import { FlowLocale } from './utils';
|
|
5
6
|
export class FlowBuilderApi {
|
|
6
7
|
constructor(botonicContext, flow) {
|
|
7
8
|
this.botonicContext = botonicContext;
|
|
@@ -178,35 +179,9 @@ export class FlowBuilderApi {
|
|
|
178
179
|
return this.getNodeById(captureUserInputId);
|
|
179
180
|
}
|
|
180
181
|
getResolvedLocale() {
|
|
181
|
-
const
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
return locale;
|
|
185
|
-
}
|
|
186
|
-
const language = this.resolveAsLanguage(systemLocale);
|
|
187
|
-
if (language) {
|
|
188
|
-
return language;
|
|
189
|
-
}
|
|
190
|
-
return this.resolveAsDefaultLocale();
|
|
191
|
-
}
|
|
192
|
-
resolveAsLocale(locale) {
|
|
193
|
-
if (locale && this.flow.locales.find(flowLocale => flowLocale === locale)) {
|
|
194
|
-
return locale;
|
|
195
|
-
}
|
|
196
|
-
return undefined;
|
|
197
|
-
}
|
|
198
|
-
resolveAsLanguage(locale) {
|
|
199
|
-
const language = locale === null || locale === void 0 ? void 0 : locale.split('-')[0];
|
|
200
|
-
if (language &&
|
|
201
|
-
this.flow.locales.find(flowLocale => flowLocale === language)) {
|
|
202
|
-
console.log(`locale: ${locale} has been resolved as ${language}`);
|
|
203
|
-
return language;
|
|
204
|
-
}
|
|
205
|
-
return undefined;
|
|
206
|
-
}
|
|
207
|
-
resolveAsDefaultLocale() {
|
|
208
|
-
console.log(`Resolve locale with default locale: ${this.flow.default_locale_code}`);
|
|
209
|
-
return this.flow.default_locale_code || 'en';
|
|
182
|
+
const flowLocales = this.flow.locales;
|
|
183
|
+
const defaultLocaleCode = this.flow.default_locale_code;
|
|
184
|
+
return new FlowLocale(this.botonicContext, flowLocales, defaultLocaleCode).resolve();
|
|
210
185
|
}
|
|
211
186
|
}
|
|
212
187
|
//# sourceMappingURL=api.js.map
|
package/src/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-flow-builder/src/lib/api.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,SAAS,EACT,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EAUL,qBAAqB,GAKtB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,UAAU,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-flow-builder/src/lib/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { BotonicContext } from '@botonic/core';
|
|
2
2
|
import type { HtMediaFileLocale, HtNodeLink, HtQueueLocale, HtTextLocale, HtVideoLocale } from './hubtype-fields/index';
|
|
3
|
+
import type { FlowContent } from './index';
|
|
3
4
|
export declare abstract class ContentFieldsBase {
|
|
4
5
|
readonly id: string;
|
|
5
6
|
code: string;
|
|
6
7
|
followUp?: HtNodeLink;
|
|
7
8
|
constructor(id: string);
|
|
8
9
|
abstract trackFlow(botonicContext: BotonicContext): Promise<void>;
|
|
10
|
+
abstract processContent(botonicContext: BotonicContext): Promise<FlowContent | void>;
|
|
11
|
+
filterContent(botonicContext: BotonicContext, content: FlowContent): Promise<FlowContent>;
|
|
9
12
|
static getTextByLocale(locale: string, text: HtTextLocale[]): string;
|
|
10
13
|
static getAssetByLocale(locale: string, asset: HtMediaFileLocale[]): string;
|
|
11
14
|
static getImageByLocale(locale: string, image: HtMediaFileLocale[]): string;
|
|
@@ -1,9 +1,23 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
1
2
|
import { ACCESS_TOKEN_VARIABLE_KEY, VARIABLE_PATTERN_GLOBAL, } from '../constants';
|
|
3
|
+
import { ContentFilterExecutor } from '../filters';
|
|
4
|
+
import { getFlowBuilderPlugin } from '../utils/get-flow-builder-plugin';
|
|
2
5
|
export class ContentFieldsBase {
|
|
3
6
|
constructor(id) {
|
|
4
7
|
this.id = id;
|
|
5
8
|
this.code = '';
|
|
6
9
|
}
|
|
10
|
+
filterContent(botonicContext, content) {
|
|
11
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
const flowBuilderPlugin = getFlowBuilderPlugin(botonicContext.plugins);
|
|
13
|
+
const contentFilters = flowBuilderPlugin.contentFilters;
|
|
14
|
+
const contentFilterExecutor = new ContentFilterExecutor({
|
|
15
|
+
filters: contentFilters,
|
|
16
|
+
});
|
|
17
|
+
const filteredContent = yield contentFilterExecutor.filter(botonicContext, content);
|
|
18
|
+
return filteredContent;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
7
21
|
static getTextByLocale(locale, text) {
|
|
8
22
|
var _a;
|
|
9
23
|
const result = text.find(t => t.locale === locale);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/content-fields-base.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/content-fields-base.ts"],"names":[],"mappings":"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"}
|