@botonic/plugin-flow-builder 2.29.0 → 2.31.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 +25 -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/constants.d.ts +0 -1
- package/src/lib/constants.js +1 -2
- package/src/lib/constants.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 +24 -12
- 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 +137 -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,28 @@
|
|
|
1
|
+
## 2.31.0 (2026-06-15)
|
|
2
|
+
|
|
3
|
+
### 🩹 Fixes
|
|
4
|
+
|
|
5
|
+
- **plugin-flow-builder:** polynomial regular expression used on uncontrolled data ([#938](https://github.com/metis-ai/hubtype-product/pull/938))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Oriol Raventós @Iru89
|
|
10
|
+
|
|
11
|
+
## 2.30.0 (2026-06-11)
|
|
12
|
+
|
|
13
|
+
### 🚀 Features
|
|
14
|
+
|
|
15
|
+
- update plugins to last botonicV0 changes #BLT-2370 ([#920](https://github.com/metis-ai/hubtype-product/pull/920))
|
|
16
|
+
|
|
17
|
+
### 🩹 Fixes
|
|
18
|
+
|
|
19
|
+
- apply carousel conversion to ai agents ([#908](https://github.com/metis-ai/hubtype-product/pull/908))
|
|
20
|
+
|
|
21
|
+
### ❤️ Thank You
|
|
22
|
+
|
|
23
|
+
- Marc Rabat @vanbasten17
|
|
24
|
+
- Oriol Raventós @Iru89
|
|
25
|
+
|
|
1
26
|
## 2.29.0 (2026-05-12)
|
|
2
27
|
|
|
3
28
|
### 🚀 Features
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/plugin-flow-builder",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.31.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.31.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.31.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":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAe,MAAM,mBAAmB,CAAA;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAA;AAE9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,UAAgB,6BAA6B,CACjD,SAA6B;;QAE7B,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,SAAS,CAAA;QACvD,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;QAE3E,8EAA8E;QAC9E,wEAAwE;QACxE,IAAI,wBAAwB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,aAAa,EAAE,CAAC;YAC7D,OAAO,wBAAwB,CAAA;QACjC,CAAC;QAED,IACE,cAAc,CAAC,KAAK,CAAC,aAAa;YAClC,wBAAwB,CAAC,cAAc,CAAC,KAAK,CAAC,EAC9C,CAAC;YACD,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAA;YAEnE,OAAO,CAAC,GAAG,wBAAwB,EAAE,GAAG,mBAAmB,CAAC,CAAA;QAC9D,CAAC;QAED,OAAO,wBAAwB,CAAA;IACjC,CAAC;CAAA;AAED,SAAe,sBAAsB;yDAAC,EACpC,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,cAAc,GACK;;QACnB,MAAM,YAAY,GAAG,MAAA,cAAc,CAAC,KAAK,CAAC,aAAa,0CAAE,OAAO,CAAA;QAEhE,IAAI,YAAY,EAAE,CAAC;YACjB,cAAc,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,CAAA;YAE3C,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;YAE1D,IAAI,cAAc,CAAC,KAAK,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;gBACzD,OAAO,EAAE,CAAA;YACX,CAAC;YAED,MAAM,2BAA2B,GAAG,MAAM,oBAAoB,CAAC;gBAC7D,MAAM;gBACN,iBAAiB;gBACjB,cAAc;gBACd,cAAc;aACf,CAAC,CAAA;YAEF,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CACpD,iBAAiB,EACjB,2BAA2B,CAC5B,CAAA;YAED,IAAI,kBAAkB,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAA;YACX,CAAC;YAED,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,OAAO,2BAA2B,CAAA;YACpC,CAAC;QACH,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,0BAA0B,CAAC;YAC7D,MAAM;YACN,iBAAiB;YACjB,cAAc;YACd,cAAc;SACf,CAAC,CAAA;QACF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,qBAAqB,CAAA;QAC9B,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,EAAE,CAAC;YACxD,MAAM,eAAe,GAAG,MAAM,iCAAiC,CAAC;gBAC9D,MAAM;gBACN,iBAAiB;gBACjB,cAAc;gBACd,cAAc;aACf,CAAC,CAAA;YACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,eAAe,CAAA;YACxB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;CAAA;AAED,SAAS,sBAAsB,CAAC,MAAsB;;IACpD,MAAM,mBAAmB,GAAG,MAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAChD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CACrC,0CAAE,aAAa,CAAA;IAEhB,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,SAAe,qBAAqB,CAClC,iBAA2C,EAC3C,2BAA0C;;QAE1C,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;QAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CACvD,CAAA;QACD,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACtD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAC3B,CAAA;QAED,OAAO,kBAAkB,CAAA;IAC3B,CAAC;CAAA"}
|
|
@@ -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":";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;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,OAAO,cAAc;IAIzB,YAAoB,cAA8B,EAAE,IAAuB;QACzE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,MAAM,CAAO,MAAM,CACjB,cAA8B,EAC9B,SAA6B;;YAE7B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,cAAc,CAAC,CAAA;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAA;YAC3D,OAAO,IAAI,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QACjD,CAAC;KAAA;IAED,eAAe,CAAC,EAAU;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,OAAO;YAAE,MAAM,KAAK,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAC,WAAW,CAAoB,OAAO,CAAC,aAAa,CAAC,CAAA;IACnE,CAAC;IAED,mBAAmB,CAA4B,EAAU;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACzE,IAAI,CAAC,QAAQ;YAAE,MAAM,KAAK,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAA;QACjE,OAAO,IAAI,CAAC,WAAW,CAAI,QAAQ,CAAC,aAAa,CAAC,CAAA;IACpD,CAAC;IAED,WAAW,CAA4B,EAAU;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;QAE3D,OAAO,IAAS,CAAA;IAClB,CAAC;IAED,uBAAuB,CAAC,EAAU;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CACxC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,MAAM,CACjC,CAAA;QACnB,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAC1B,CAAA;QAE7B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC,gCAAgC,EAAE,aAAa,CAAC,CAAA;QAC9D,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,mBAAmB,CAAC,UAAwB,EAAE,EAAU;QACtD,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAClD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CACG,CAAA;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAA;QACzD,CAAC;QAED,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1C,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CACjD,CAAA;QACD,IAAI,CAAC,OAAO;YAAE,MAAM,KAAK,CAAC,yBAAyB,SAAS,aAAa,CAAC,CAAA;QAC1E,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,YAAY;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;QAC3C,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClE,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IACtC,CAAC;IAED,uBAAuB;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACtC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAC1C,CAAA;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAoB,WAAW,CAAC,aAAa,CAAC,CAAA;IACvE,CAAC;IAED,eAAe,CAAC,SAAkB;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACvC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,QAAQ,CACvB,CAAA;QAC/B,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAA;QAC/D,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAA;QACjE,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,SAAS;YACd,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,YAAY,CAClC,CAAA;IAC1B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,OAAO,CACjC,CAAA;IACtB,CAAC;IAED,UAAU,CAAC,MAAmB;QAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,MAAM,CAAC,EAAE,CAAA;IAClB,CAAC;IAED,WAAW,CAAC,EAAU;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACjC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,qBAAqB,CAAC,UAAU,CAAA;IACxD,CAAC;IAEO,MAAM,CAAC,GAAW;QACxB,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,uBAAuB,CAAC,aAA8B;;QACpD,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAgB,SAAS,CAAC,CAAA;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAC7B,aAAa,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAC7C,CAAA;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CACjD,MAAA,aAAa,CAAC,SAAS,0CAAE,EAAE,CAC5B,CAAA;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,iCAC7B,YAAY,KACf,iBAAiB,IACjB,CAAA;QACF,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,WAAW,EAAE,CAAA;IACnE,CAAC;IAEO,oBAAoB,CAAC,EAAW;QACtC,MAAM,YAAY,GAAG,EAAE;YACrB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAiC,EAAE,CAAC;YACtD,CAAC,CAAC,SAAS,CAAA;QAEb,OAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAA;IAC3B,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC5D,CAAC;IAED,mBAAmB,CAAC,UAAkB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CACvC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,CACvC,CAAA;QACD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IACtC,CAAC;IAED,6BAA6B;QAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAC5C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,wBAAwB,CAC/C,CAAA;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAoB,iBAAiB,CAAC,aAAa,CAAC,CAAA;IAC7E,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,KAAK,CAAA;IACpD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAA;IAC9C,CAAC;IAED,sBAAsB;QACpB,OAAO,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAA;IACvC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAA;IAC3D,CAAC;IAEK,qBAAqB,CAAC,EAAU;;YACpC,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBACzC,sBAAsB,EAAE,EAAE;aAC3B,CAAC,CAAA;QACJ,CAAC;KAAA;IAEK,wBAAwB;;YAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBACzC,sBAAsB,EAAE,EAAE;aAC3B,CAAC,CAAA;QACJ,CAAC;KAAA;IAEK,wBAAwB,CAAC,GAAW,EAAE,KAAa;;YACvD,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;gBACzC,IAAI,EAAE;oBACJ,SAAS,kCACJ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,KAC7C,CAAC,GAAG,CAAC,EAAE,KAAK,GACb;iBACF;aACF,CAAC,CAAA;QACJ,CAAC;KAAA;IAED,uBAAuB;QACrB,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QACvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAyB,kBAAkB,CAAC,CAAA;IACrE,CAAC;IAED,iBAAiB;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAA;QAEvD,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,cAAc,EACnB,WAAW,EACX,iBAAiB,CAClB,CAAC,OAAO,EAAE,CAAA;IACb,CAAC;CACF"}
|
package/src/lib/constants.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ export declare const SEPARATOR = "|";
|
|
|
2
2
|
export declare const SOURCE_INFO_SEPARATOR = "|source_";
|
|
3
3
|
export declare const EMPTY_PAYLOAD = "fb-empty-payload";
|
|
4
4
|
export declare const VARIABLE_PATTERN_GLOBAL: RegExp;
|
|
5
|
-
export declare const VARIABLE_PATTERN: RegExp;
|
|
6
5
|
export declare const ACCESS_TOKEN_VARIABLE_KEY = "_access_token";
|
|
7
6
|
export declare const REG_EXP_PATTERN: RegExp;
|
|
8
7
|
export declare const UUID_REGEXP: RegExp;
|
package/src/lib/constants.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export const SEPARATOR = '|';
|
|
2
2
|
export const SOURCE_INFO_SEPARATOR = `${SEPARATOR}source_`;
|
|
3
3
|
export const EMPTY_PAYLOAD = 'fb-empty-payload';
|
|
4
|
-
export const VARIABLE_PATTERN_GLOBAL = /{([^}]+)}/g;
|
|
5
|
-
export const VARIABLE_PATTERN = /{([^}]+)}/g;
|
|
4
|
+
export const VARIABLE_PATTERN_GLOBAL = /{([^{}]+)}/g;
|
|
6
5
|
export const ACCESS_TOKEN_VARIABLE_KEY = '_access_token';
|
|
7
6
|
export const REG_EXP_PATTERN = /^\/(.*)\/([gimyus]*)$/;
|
|
8
7
|
export const UUID_REGEXP = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
package/src/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-flow-builder/src/lib/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,SAAS,SAAS,CAAA;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAA;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../libs/botonic/plugin-flow-builder/src/lib/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,SAAS,SAAS,CAAA;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAA;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAA;AACpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAA;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAA;AACtD,MAAM,CAAC,MAAM,WAAW,GACtB,iEAAiE,CAAA;AAEnE,oCAAoC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAA;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAA;AAE5C,sCAAsC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AACpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAA;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAA;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAA"}
|
|
@@ -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;
|