@botonic/plugin-flow-builder 0.37.2-alpha.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/action/first-interaction.js +22 -3
- package/lib/cjs/action/first-interaction.js.map +1 -1
- package/lib/cjs/action/index.js +2 -1
- package/lib/cjs/action/index.js.map +1 -1
- package/lib/cjs/constants.d.ts +1 -0
- package/lib/cjs/constants.js +2 -1
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/content-fields/flow-ai-agent.js +1 -1
- package/lib/cjs/content-fields/flow-ai-agent.js.map +1 -1
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +2 -2
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +5 -1
- package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +2 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +7 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
- package/lib/esm/action/first-interaction.js +22 -3
- package/lib/esm/action/first-interaction.js.map +1 -1
- package/lib/esm/action/index.js +2 -1
- package/lib/esm/action/index.js.map +1 -1
- package/lib/esm/constants.d.ts +1 -0
- package/lib/esm/constants.js +1 -0
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/content-fields/flow-ai-agent.js +2 -2
- package/lib/esm/content-fields/flow-ai-agent.js.map +1 -1
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +2 -2
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +7 -3
- package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +2 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +9 -3
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
- package/package.json +2 -2
- package/src/action/first-interaction.ts +27 -3
- package/src/action/index.tsx +2 -1
- package/src/constants.ts +1 -0
- package/src/content-fields/flow-ai-agent.tsx +2 -2
- package/src/content-fields/flow-whatsapp-cta-url-button.tsx +18 -2
- package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx +19 -2
|
@@ -9,10 +9,29 @@ const knowledge_bases_1 = require("./knowledge-bases");
|
|
|
9
9
|
const payload_1 = require("./payload");
|
|
10
10
|
function getContentsByFirstInteraction(context) {
|
|
11
11
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
12
|
-
const { flowBuilderPlugin, request } = context;
|
|
12
|
+
const { contentID, flowBuilderPlugin, request } = context;
|
|
13
|
+
/*
|
|
14
|
+
* If the contentID is provided, the firstInteractionContents are obtained even if they are not used
|
|
15
|
+
* because when obtain this firstInteractionContents is when the session.flow_thread_id is updated.
|
|
16
|
+
* This is needed for example when send a WhatsApp campaign is sent,
|
|
17
|
+
* the bot not receives the message because this message is sent directly by the backend
|
|
18
|
+
* we expect the bot to respond only with the contents of the contentID and not with the firstInteractionContents.
|
|
19
|
+
*/
|
|
13
20
|
const firstInteractionContents = yield flowBuilderPlugin.getStartContents();
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
if (contentID) {
|
|
22
|
+
try {
|
|
23
|
+
const contentsByContentID = yield flowBuilderPlugin.getContentsByContentID(contentID);
|
|
24
|
+
if (contentsByContentID.length > 0) {
|
|
25
|
+
return contentsByContentID;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
console.warn(`The contentID ${contentID} is not found. Returning the firstInteractionContents`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/* If the first interaction has a FlowBotAction, it should be the last content
|
|
33
|
+
* and avoid to render the match with keywords,intents or knowledge base
|
|
34
|
+
*/
|
|
16
35
|
if (firstInteractionContents.at(-1) instanceof content_fields_1.FlowBotAction) {
|
|
17
36
|
return firstInteractionContents;
|
|
18
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":";;;;AACA,4CAA6C;AAC7C,sDAA8D;AAE9D,oCAA2C;AAE3C,uDAA8D;AAC9D,uCAAgD;AAEhD,SAAsB,6BAA6B,CACjD,OAA2B;;QAE3B,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/action/index.js
CHANGED
|
@@ -6,6 +6,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
6
6
|
const core_1 = require("@botonic/core");
|
|
7
7
|
const react_1 = require("@botonic/react");
|
|
8
8
|
const react_2 = tslib_1.__importDefault(require("react"));
|
|
9
|
+
const constants_1 = require("../constants");
|
|
9
10
|
const content_fields_1 = require("../content-fields");
|
|
10
11
|
const flow_bot_action_1 = require("../content-fields/flow-bot-action");
|
|
11
12
|
const filters_1 = require("../filters");
|
|
@@ -80,7 +81,7 @@ function getContents(request, contentID) {
|
|
|
80
81
|
if (request.input.type === core_1.INPUT.EVENT_QUEUE_POSITION_CHANGED) {
|
|
81
82
|
return [];
|
|
82
83
|
}
|
|
83
|
-
if ((_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith(
|
|
84
|
+
if ((_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.DO_NOTHING_PAYLOAD)) {
|
|
84
85
|
request.input.payload = undefined;
|
|
85
86
|
}
|
|
86
87
|
if (request.input.payload || contentID) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":"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"}
|
package/lib/cjs/constants.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const FLOW_BUILDER_API_URL_PROD: string;
|
|
2
2
|
export declare const SEPARATOR = "|";
|
|
3
3
|
export declare const SOURCE_INFO_SEPARATOR: string;
|
|
4
|
+
export declare const DO_NOTHING_PAYLOAD = "fb-do-nothing";
|
|
4
5
|
export declare const VARIABLE_PATTERN: RegExp;
|
|
5
6
|
export declare const ACCESS_TOKEN_VARIABLE_KEY = "_access_token";
|
|
6
7
|
export declare const REG_EXP_PATTERN: RegExp;
|
package/lib/cjs/constants.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FALLBACK_FLOW_NAME = exports.AI_AGENTS_FLOW_NAME = exports.KNOWLEDGE_BASE_FLOW_NAME = exports.MAIN_FLOW_NAME = exports.AGENT_RATING_PAYLOAD = exports.UUID_REGEXP = exports.REG_EXP_PATTERN = exports.ACCESS_TOKEN_VARIABLE_KEY = exports.VARIABLE_PATTERN = exports.SOURCE_INFO_SEPARATOR = exports.SEPARATOR = exports.FLOW_BUILDER_API_URL_PROD = void 0;
|
|
3
|
+
exports.FALLBACK_FLOW_NAME = exports.AI_AGENTS_FLOW_NAME = exports.KNOWLEDGE_BASE_FLOW_NAME = exports.MAIN_FLOW_NAME = exports.AGENT_RATING_PAYLOAD = exports.UUID_REGEXP = exports.REG_EXP_PATTERN = exports.ACCESS_TOKEN_VARIABLE_KEY = exports.VARIABLE_PATTERN = exports.DO_NOTHING_PAYLOAD = exports.SOURCE_INFO_SEPARATOR = exports.SEPARATOR = exports.FLOW_BUILDER_API_URL_PROD = void 0;
|
|
4
4
|
exports.FLOW_BUILDER_API_URL_PROD = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
|
|
5
5
|
exports.SEPARATOR = '|';
|
|
6
6
|
exports.SOURCE_INFO_SEPARATOR = `${exports.SEPARATOR}source_`;
|
|
7
|
+
exports.DO_NOTHING_PAYLOAD = 'fb-do-nothing';
|
|
7
8
|
exports.VARIABLE_PATTERN = /{([^}]+)}/g;
|
|
8
9
|
exports.ACCESS_TOKEN_VARIABLE_KEY = '_access_token';
|
|
9
10
|
exports.REG_EXP_PATTERN = /^\/(.*)\/([gimyus]*)$/;
|
package/lib/cjs/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GACpC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAC7C,QAAA,SAAS,GAAG,GAAG,CAAA;AACf,QAAA,qBAAqB,GAAG,GAAG,iBAAS,SAAS,CAAA;AAC7C,QAAA,gBAAgB,GAAG,YAAY,CAAA;AAC/B,QAAA,yBAAyB,GAAG,eAAe,CAAA;AAC3C,QAAA,eAAe,GAAG,uBAAuB,CAAA;AACzC,QAAA,WAAW,GACtB,iEAAiE,CAAA;AAEnE,oCAAoC;AACvB,QAAA,oBAAoB,GAAG,cAAc,CAAA;AAElD,sCAAsC;AACzB,QAAA,cAAc,GAAG,MAAM,CAAA;AACvB,QAAA,wBAAwB,GAAG,gBAAgB,CAAA;AAC3C,QAAA,mBAAmB,GAAG,WAAW,CAAA;AACjC,QAAA,kBAAkB,GAAG,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,yBAAyB,GACpC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAC7C,QAAA,SAAS,GAAG,GAAG,CAAA;AACf,QAAA,qBAAqB,GAAG,GAAG,iBAAS,SAAS,CAAA;AAC7C,QAAA,kBAAkB,GAAG,eAAe,CAAA;AACpC,QAAA,gBAAgB,GAAG,YAAY,CAAA;AAC/B,QAAA,yBAAyB,GAAG,eAAe,CAAA;AAC3C,QAAA,eAAe,GAAG,uBAAuB,CAAA;AACzC,QAAA,WAAW,GACtB,iEAAiE,CAAA;AAEnE,oCAAoC;AACvB,QAAA,oBAAoB,GAAG,cAAc,CAAA;AAElD,sCAAsC;AACzB,QAAA,cAAc,GAAG,MAAM,CAAA;AACvB,QAAA,wBAAwB,GAAG,gBAAgB,CAAA;AAC3C,QAAA,mBAAmB,GAAG,WAAW,CAAA;AACjC,QAAA,kBAAkB,GAAG,UAAU,CAAA"}
|
|
@@ -29,7 +29,7 @@ class FlowAiAgent extends content_fields_base_1.ContentFieldsBase {
|
|
|
29
29
|
return (0, jsx_runtime_1.jsx)(react_1.Text, { children: response.content.text }, id);
|
|
30
30
|
}
|
|
31
31
|
if (response.type === 'textWithButtons') {
|
|
32
|
-
return ((0, jsx_runtime_1.jsxs)(react_1.Text, { children: [response.content.text, response.content.buttons.map((button, buttonIndex) => ((0, jsx_runtime_1.jsx)(react_1.Button, Object.assign({ payload:
|
|
32
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Text, { children: [response.content.text, response.content.buttons.map((button, buttonIndex) => ((0, jsx_runtime_1.jsx)(react_1.Button, Object.assign({ payload: `${constants_1.DO_NOTHING_PAYLOAD}${constants_1.SOURCE_INFO_SEPARATOR}${buttonIndex}` }, { children: button }), buttonIndex)))] }, id));
|
|
33
33
|
}
|
|
34
34
|
if (response.type === 'carousel') {
|
|
35
35
|
return ((0, jsx_runtime_1.jsx)(react_1.Carousel, { children: response.content.elements.map(element => flow_element_1.FlowElement.fromAIAgent(id, element).toBotonic(id)) }, id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";;;;AACA,0CAAuD;AAEvD,
|
|
1
|
+
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";;;;AACA,0CAAuD;AAEvD,4CAAwE;AACxE,+DAAyD;AACzD,iDAA4C;AAG5C,MAAa,WAAY,SAAQ,uCAAiB;IAAlD;;QACS,SAAI,GAAW,EAAE,CAAA;QACjB,SAAI,GAAW,EAAE,CAAA;QACjB,iBAAY,GAAW,EAAE,CAAA;QAIzB,cAAS,GAA2B,EAAE,CAAA;IAmD/C,CAAC;IAjDC,MAAM,CAAC,cAAc,CAAC,SAAwB;QAC5C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAA;QACxC,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA;QACxD,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA;QACvD,UAAU,CAAC,mBAAmB;YAC5B,SAAS,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAA;QAC/C,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,2DACG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAA8B,EAAE,EAAE;gBACrD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC5B,OAAO,uBAAC,YAAI,cAAW,QAAQ,CAAC,OAAO,CAAC,IAAI,IAA1B,EAAE,CAAgC,CAAA;iBACrD;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE;oBACvC,OAAO,CACL,wBAAC,YAAI,eACF,QAAQ,CAAC,OAAO,CAAC,IAAI,EACrB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CACrD,uBAAC,cAAM,kBAEL,OAAO,EAAE,GAAG,8BAAkB,GAAG,iCAAqB,GAAG,WAAW,EAAE,gBAErE,MAAM,KAHF,WAAW,CAIT,CACV,CAAC,KATO,EAAE,CAUN,CACR,CAAA;iBACF;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE;oBAChC,OAAO,CACL,uBAAC,gBAAQ,cACN,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACvC,0BAAW,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CACnD,IAHY,EAAE,CAIN,CACZ,CAAA;iBACF;gBAED,OAAO,kDAAK,CAAA;YACd,CAAC,CAAC,GACD,CACJ,CAAA;IACH,CAAC;CACF;AA1DD,kCA0DC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { WhatsappCTAUrlHeaderType } from '@botonic/react';
|
|
2
|
+
import { ActionRequest, WhatsappCTAUrlHeaderType } from '@botonic/react';
|
|
3
3
|
import { FlowBuilderApi } from '../api';
|
|
4
4
|
import { ContentFieldsBase } from './content-fields-base';
|
|
5
5
|
import { HtWhatsappCTAUrlButtonNode } from './hubtype-fields';
|
|
@@ -16,5 +16,5 @@ export declare class FlowWhatsappCtaUrlButtonNode extends ContentFieldsBase {
|
|
|
16
16
|
url: string;
|
|
17
17
|
static fromHubtypeCMS(component: HtWhatsappCTAUrlButtonNode, locale: string, cmsApi: FlowBuilderApi): FlowWhatsappCtaUrlButtonNode;
|
|
18
18
|
private static setHeader;
|
|
19
|
-
toBotonic(id: string): JSX.Element;
|
|
19
|
+
toBotonic(id: string, request: ActionRequest): JSX.Element;
|
|
20
20
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FlowWhatsappCtaUrlButtonNode = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const core_1 = require("@botonic/core");
|
|
5
6
|
const react_1 = require("@botonic/react");
|
|
6
7
|
const content_fields_base_1 = require("./content-fields-base");
|
|
7
8
|
const flow_button_1 = require("./flow-button");
|
|
@@ -51,7 +52,10 @@ class FlowWhatsappCtaUrlButtonNode extends content_fields_base_1.ContentFieldsBa
|
|
|
51
52
|
whatsappCtaUrlButton.headerDocument = this.getAssetByLocale(locale, component.content.header_document);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
|
-
toBotonic(id) {
|
|
55
|
+
toBotonic(id, request) {
|
|
56
|
+
if (!(0, core_1.isWhatsapp)(request.session)) {
|
|
57
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Text, { children: [this.text, (0, jsx_runtime_1.jsx)(react_1.Button, Object.assign({ url: this.url }, { children: this.displayText }))] }));
|
|
58
|
+
}
|
|
55
59
|
if (this.headerType === react_1.WhatsappCTAUrlHeaderType.Image &&
|
|
56
60
|
this.headerImage) {
|
|
57
61
|
return ((0, jsx_runtime_1.jsx)(react_1.WhatsappCTAUrlButton, { body: this.text, headerType: this.headerType, headerImage: this.headerImage, footer: this.footer, displayText: this.displayText, url: this.url }, id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-cta-url-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-cta-url-button.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"flow-whatsapp-cta-url-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-cta-url-button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { ActionRequest } from '@botonic/react';
|
|
2
3
|
import { FlowBuilderApi } from '../../api';
|
|
3
4
|
import { ContentFieldsBase } from '../content-fields-base';
|
|
4
5
|
import { HtWhatsappButtonListNode } from '../hubtype-fields';
|
|
@@ -9,5 +10,5 @@ export declare class FlowWhatsappButtonList extends ContentFieldsBase {
|
|
|
9
10
|
listButtonText: string;
|
|
10
11
|
sections: FlowWhatsappButtonListSection[];
|
|
11
12
|
static fromHubtypeCMS(component: HtWhatsappButtonListNode, locale: string, cmsApi: FlowBuilderApi): FlowWhatsappButtonList;
|
|
12
|
-
toBotonic(id: string): JSX.Element;
|
|
13
|
+
toBotonic(id: string, request: ActionRequest): JSX.Element;
|
|
13
14
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FlowWhatsappButtonList = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const core_1 = require("@botonic/core");
|
|
5
6
|
const react_1 = require("@botonic/react");
|
|
6
7
|
const content_fields_base_1 = require("../content-fields-base");
|
|
7
8
|
const flow_whatsapp_button_list_section_1 = require("./flow-whatsapp-button-list-section");
|
|
@@ -21,7 +22,12 @@ class FlowWhatsappButtonList extends content_fields_base_1.ContentFieldsBase {
|
|
|
21
22
|
newWhatsappButtonList.sections = component.content.sections.map(section => flow_whatsapp_button_list_section_1.FlowWhatsappButtonListSection.fromHubtypeCMS(section, locale, cmsApi));
|
|
22
23
|
return newWhatsappButtonList;
|
|
23
24
|
}
|
|
24
|
-
toBotonic(id) {
|
|
25
|
+
toBotonic(id, request) {
|
|
26
|
+
if (!(0, core_1.isWhatsapp)(request.session)) {
|
|
27
|
+
const rows = this.sections.flatMap(section => section.rows);
|
|
28
|
+
const buttons = rows.map(row => ((0, jsx_runtime_1.jsx)(react_1.Button, Object.assign({ payload: row.id }, { children: row.title }), row.id)));
|
|
29
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Text, { children: [this.text, buttons] }));
|
|
30
|
+
}
|
|
25
31
|
return ((0, jsx_runtime_1.jsx)(react_1.WhatsappButtonList, { body: this.text, button: this.listButtonText, sections: this.sections.map((section, sectionIndex) => section.toBotonic(sectionIndex)) }, id));
|
|
26
32
|
}
|
|
27
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-button-list.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"flow-whatsapp-button-list.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx"],"names":[],"mappings":";;;;AAAA,wCAA0C;AAC1C,0CAAgF;AAIhF,gEAA0D;AAE1D,2FAAmF;AAEnF,MAAa,sBAAuB,SAAQ,uCAAiB;IAA7D;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,SAAI,GAAG,EAAE,CAAA;QACT,mBAAc,GAAG,EAAE,CAAA;QACnB,aAAQ,GAAoC,EAAE,CAAA;IAmDvD,CAAC;IAjDC,MAAM,CAAC,cAAc,CACnB,SAAmC,EACnC,MAAc,EACd,MAAsB;QAEtB,MAAM,qBAAqB,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACtE,qBAAqB,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC3C,qBAAqB,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAC/C,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,IAAI,CACvB,CAAA;QACD,qBAAqB,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CACzD,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,WAAW,CAC9B,CAAA;QACD,qBAAqB,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACxE,iEAA6B,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CACtE,CAAA;QACD,OAAO,qBAAqB,CAAA;IAC9B,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,OAAsB;QAC1C,IAAI,CAAC,IAAA,iBAAU,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAC9B,uBAAC,cAAM,kBAAc,OAAO,EAAE,GAAG,CAAC,EAAE,gBACjC,GAAG,CAAC,KAAK,KADC,GAAG,CAAC,EAAE,CAEV,CACV,CAAC,CAAA;YAEF,OAAO,CACL,wBAAC,YAAI,eACF,IAAI,CAAC,IAAI,EACT,OAAO,IACH,CACR,CAAA;SACF;QAED,OAAO,CACL,uBAAC,0BAAkB,IAEjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,cAAc,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CACpD,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAChC,IALI,EAAE,CAMa,CACvB,CAAA;IACH,CAAC;CACF;AAvDD,wDAuDC"}
|
|
@@ -6,10 +6,29 @@ import { getContentsByKnowledgeBase } from './knowledge-bases';
|
|
|
6
6
|
import { getContentsByPayload } from './payload';
|
|
7
7
|
export function getContentsByFirstInteraction(context) {
|
|
8
8
|
return __awaiter(this, void 0, void 0, function* () {
|
|
9
|
-
const { flowBuilderPlugin, request } = context;
|
|
9
|
+
const { contentID, flowBuilderPlugin, request } = context;
|
|
10
|
+
/*
|
|
11
|
+
* If the contentID is provided, the firstInteractionContents are obtained even if they are not used
|
|
12
|
+
* because when obtain this firstInteractionContents is when the session.flow_thread_id is updated.
|
|
13
|
+
* This is needed for example when send a WhatsApp campaign is sent,
|
|
14
|
+
* the bot not receives the message because this message is sent directly by the backend
|
|
15
|
+
* we expect the bot to respond only with the contents of the contentID and not with the firstInteractionContents.
|
|
16
|
+
*/
|
|
10
17
|
const firstInteractionContents = yield flowBuilderPlugin.getStartContents();
|
|
11
|
-
|
|
12
|
-
|
|
18
|
+
if (contentID) {
|
|
19
|
+
try {
|
|
20
|
+
const contentsByContentID = yield flowBuilderPlugin.getContentsByContentID(contentID);
|
|
21
|
+
if (contentsByContentID.length > 0) {
|
|
22
|
+
return contentsByContentID;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.warn(`The contentID ${contentID} is not found. Returning the firstInteractionContents`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/* If the first interaction has a FlowBotAction, it should be the last content
|
|
30
|
+
* and avoid to render the match with keywords,intents or knowledge base
|
|
31
|
+
*/
|
|
13
32
|
if (firstInteractionContents.at(-1) instanceof FlowBotAction) {
|
|
14
33
|
return firstInteractionContents;
|
|
15
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAe,MAAM,mBAAmB,CAAA;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,UAAgB,6BAA6B,CACjD,OAA2B;;QAE3B,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/action/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
3
3
|
import { INPUT, isDev, isWebchat } from '@botonic/core';
|
|
4
4
|
import { Multichannel, RequestContext, WebchatSettings, } from '@botonic/react';
|
|
5
5
|
import React from 'react';
|
|
6
|
+
import { DO_NOTHING_PAYLOAD } from '../constants';
|
|
6
7
|
import { FlowHandoff } from '../content-fields';
|
|
7
8
|
import { FlowBotAction } from '../content-fields/flow-bot-action';
|
|
8
9
|
import { ContentFilterExecutor } from '../filters';
|
|
@@ -75,7 +76,7 @@ function getContents(request, contentID) {
|
|
|
75
76
|
if (request.input.type === INPUT.EVENT_QUEUE_POSITION_CHANGED) {
|
|
76
77
|
return [];
|
|
77
78
|
}
|
|
78
|
-
if ((_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith(
|
|
79
|
+
if ((_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith(DO_NOTHING_PAYLOAD)) {
|
|
79
80
|
request.input.payload = undefined;
|
|
80
81
|
}
|
|
81
82
|
if (request.input.payload || contentID) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAc,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAEL,YAAY,EACZ,cAAc,EACd,eAAe,GAEhB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,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;AAOhD,MAAM,OAAO,iBAAkB,SAAQ,KAAK,CAAC,SAAiC;IAI5E,MAAM,CAAO,wBAAwB,CACnC,OAAsB;;YAEtB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;YACnC,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAA;YAC7D,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAChE,MAAM,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YACjD,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YAEzE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;QACvC,CAAC;KAAA;IAED,MAAM,CAAO,WAAW,CACtB,OAAsB,EACtB,SAAkB;;YAElB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YACtD,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAChE,MAAM,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YACjD,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YAEzE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;QACvC,CAAC;KAAA;IAED,MAAM,CAAO,sBAAsB,CACjC,OAAsB,EACtB,QAAuB;;YAEvB,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,WAAW,CAC3B,CAAA;YAChB,IAAI,cAAc,EAAE;gBAClB,MAAM,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;aACxC;YAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CACpC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,aAAa,CAC3B,CAAA;YAClB,IAAI,gBAAgB,EAAE;gBACpB,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;aACtC;QACH,CAAC;KAAA;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAwB,CAAA;QAC7C,MAAM,yBAAyB,GAC7B,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC,qBAAqB,CAAA;QAEzB,OAAO,CACL,8BACG,yBAAyB,IAAI,CAC5B,KAAC,eAAe,oBAAK,qBAAqB,EAAI,CAC/C,EACA,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAC/D,CACJ,CAAA;IACH,CAAC;;AA7DM,6BAAW,GAAG,cAAc,CAAA;AAgErC,MAAM,OAAO,6BAA8B,SAAQ,iBAAiB;IAClE,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAwB,CAAA;QAC7C,MAAM,yBAAyB,GAC7B,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC,qBAAqB,CAAA;QAEzB,OAAO,CACL,MAAC,YAAY,kBAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,iBACzC,yBAAyB,IAAI,CAC5B,KAAC,eAAe,oBAAK,qBAAqB,EAAI,CAC/C,EACA,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KACnD,CAChB,CAAA;IACH,CAAC;CACF;AAED,SAAe,WAAW,CACxB,OAAsB,EACtB,SAAkB;;;QAElB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAE9C,IAAI,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACxC,OAAO,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAA;SACpD;QACD,6FAA6F;QAC7F,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,4BAA4B,EAAE;YAC7D,OAAO,EAAE,CAAA;SACV;QAED,IAAI,MAAA,OAAO,CAAC,KAAK,CAAC,OAAO,0CAAE,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":"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"}
|
package/lib/esm/constants.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const FLOW_BUILDER_API_URL_PROD: string;
|
|
2
2
|
export declare const SEPARATOR = "|";
|
|
3
3
|
export declare const SOURCE_INFO_SEPARATOR: string;
|
|
4
|
+
export declare const DO_NOTHING_PAYLOAD = "fb-do-nothing";
|
|
4
5
|
export declare const VARIABLE_PATTERN: RegExp;
|
|
5
6
|
export declare const ACCESS_TOKEN_VARIABLE_KEY = "_access_token";
|
|
6
7
|
export declare const REG_EXP_PATTERN: RegExp;
|
package/lib/esm/constants.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export const FLOW_BUILDER_API_URL_PROD = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
|
|
2
2
|
export const SEPARATOR = '|';
|
|
3
3
|
export const SOURCE_INFO_SEPARATOR = `${SEPARATOR}source_`;
|
|
4
|
+
export const DO_NOTHING_PAYLOAD = 'fb-do-nothing';
|
|
4
5
|
export const VARIABLE_PATTERN = /{([^}]+)}/g;
|
|
5
6
|
export const ACCESS_TOKEN_VARIABLE_KEY = '_access_token';
|
|
6
7
|
export const REG_EXP_PATTERN = /^\/(.*)\/([gimyus]*)$/;
|
package/lib/esm/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GACpC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAC1D,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,SAAS,SAAS,CAAA;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAA;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAA;AACtD,MAAM,CAAC,MAAM,WAAW,GACtB,iEAAiE,CAAA;AAEnE,oCAAoC;AACpC,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAA;AAElD,sCAAsC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AACpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAA;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GACpC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAC1D,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,SAAS,SAAS,CAAA;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAA;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAC5C,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;AAElD,sCAAsC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AACpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAA;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAA;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Carousel, Text } from '@botonic/react';
|
|
3
|
-
import { SOURCE_INFO_SEPARATOR } from '../constants';
|
|
3
|
+
import { DO_NOTHING_PAYLOAD, SOURCE_INFO_SEPARATOR } from '../constants';
|
|
4
4
|
import { ContentFieldsBase } from './content-fields-base';
|
|
5
5
|
import { FlowElement } from './flow-element';
|
|
6
6
|
export class FlowAiAgent extends ContentFieldsBase {
|
|
@@ -26,7 +26,7 @@ export class FlowAiAgent extends ContentFieldsBase {
|
|
|
26
26
|
return _jsx(Text, { children: response.content.text }, id);
|
|
27
27
|
}
|
|
28
28
|
if (response.type === 'textWithButtons') {
|
|
29
|
-
return (_jsxs(Text, { children: [response.content.text, response.content.buttons.map((button, buttonIndex) => (_jsx(Button, Object.assign({ payload:
|
|
29
|
+
return (_jsxs(Text, { children: [response.content.text, response.content.buttons.map((button, buttonIndex) => (_jsx(Button, Object.assign({ payload: `${DO_NOTHING_PAYLOAD}${SOURCE_INFO_SEPARATOR}${buttonIndex}` }, { children: button }), buttonIndex)))] }, id));
|
|
30
30
|
}
|
|
31
31
|
if (response.type === 'carousel') {
|
|
32
32
|
return (_jsx(Carousel, { children: response.content.elements.map(element => FlowElement.fromAIAgent(id, element).toBotonic(id)) }, id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAAlD;;QACS,SAAI,GAAW,EAAE,CAAA;QACjB,SAAI,GAAW,EAAE,CAAA;QACjB,iBAAY,GAAW,EAAE,CAAA;QAIzB,cAAS,GAA2B,EAAE,CAAA;IAmD/C,CAAC;IAjDC,MAAM,CAAC,cAAc,CAAC,SAAwB;QAC5C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAA;QACxC,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA;QACxD,UAAU,CAAC,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,YAAY,CAAA;QACvD,UAAU,CAAC,mBAAmB;YAC5B,SAAS,CAAC,OAAO,CAAC,qBAAqB,IAAI,EAAE,CAAA;QAC/C,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,4BACG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAA8B,EAAE,EAAE;gBACrD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE;oBAC5B,OAAO,KAAC,IAAI,cAAW,QAAQ,CAAC,OAAO,CAAC,IAAI,IAA1B,EAAE,CAAgC,CAAA;iBACrD;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE;oBACvC,OAAO,CACL,MAAC,IAAI,eACF,QAAQ,CAAC,OAAO,CAAC,IAAI,EACrB,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CACrD,KAAC,MAAM,kBAEL,OAAO,EAAE,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,WAAW,EAAE,gBAErE,MAAM,KAHF,WAAW,CAIT,CACV,CAAC,KATO,EAAE,CAUN,CACR,CAAA;iBACF;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE;oBAChC,OAAO,CACL,KAAC,QAAQ,cACN,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACvC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CACnD,IAHY,EAAE,CAIN,CACZ,CAAA;iBACF;gBAED,OAAO,mBAAK,CAAA;YACd,CAAC,CAAC,GACD,CACJ,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { WhatsappCTAUrlHeaderType } from '@botonic/react';
|
|
2
|
+
import { ActionRequest, WhatsappCTAUrlHeaderType } from '@botonic/react';
|
|
3
3
|
import { FlowBuilderApi } from '../api';
|
|
4
4
|
import { ContentFieldsBase } from './content-fields-base';
|
|
5
5
|
import { HtWhatsappCTAUrlButtonNode } from './hubtype-fields';
|
|
@@ -16,5 +16,5 @@ export declare class FlowWhatsappCtaUrlButtonNode extends ContentFieldsBase {
|
|
|
16
16
|
url: string;
|
|
17
17
|
static fromHubtypeCMS(component: HtWhatsappCTAUrlButtonNode, locale: string, cmsApi: FlowBuilderApi): FlowWhatsappCtaUrlButtonNode;
|
|
18
18
|
private static setHeader;
|
|
19
|
-
toBotonic(id: string): JSX.Element;
|
|
19
|
+
toBotonic(id: string, request: ActionRequest): JSX.Element;
|
|
20
20
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { isWhatsapp } from '@botonic/core';
|
|
3
|
+
import { Button, Text, WhatsappCTAUrlButton, WhatsappCTAUrlHeaderType, } from '@botonic/react';
|
|
3
4
|
import { ContentFieldsBase } from './content-fields-base';
|
|
4
5
|
import { FlowButton } from './flow-button';
|
|
5
6
|
export class FlowWhatsappCtaUrlButtonNode extends ContentFieldsBase {
|
|
@@ -48,7 +49,10 @@ export class FlowWhatsappCtaUrlButtonNode extends ContentFieldsBase {
|
|
|
48
49
|
whatsappCtaUrlButton.headerDocument = this.getAssetByLocale(locale, component.content.header_document);
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
|
-
toBotonic(id) {
|
|
52
|
+
toBotonic(id, request) {
|
|
53
|
+
if (!isWhatsapp(request.session)) {
|
|
54
|
+
return (_jsxs(Text, { children: [this.text, _jsx(Button, Object.assign({ url: this.url }, { children: this.displayText }))] }));
|
|
55
|
+
}
|
|
52
56
|
if (this.headerType === WhatsappCTAUrlHeaderType.Image &&
|
|
53
57
|
this.headerImage) {
|
|
54
58
|
return (_jsx(WhatsappCTAUrlButton, { body: this.text, headerType: this.headerType, headerImage: this.headerImage, footer: this.footer, displayText: this.displayText, url: this.url }, id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-cta-url-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-cta-url-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"flow-whatsapp-cta-url-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-cta-url-button.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { ActionRequest } from '@botonic/react';
|
|
2
3
|
import { FlowBuilderApi } from '../../api';
|
|
3
4
|
import { ContentFieldsBase } from '../content-fields-base';
|
|
4
5
|
import { HtWhatsappButtonListNode } from '../hubtype-fields';
|
|
@@ -9,5 +10,5 @@ export declare class FlowWhatsappButtonList extends ContentFieldsBase {
|
|
|
9
10
|
listButtonText: string;
|
|
10
11
|
sections: FlowWhatsappButtonListSection[];
|
|
11
12
|
static fromHubtypeCMS(component: HtWhatsappButtonListNode, locale: string, cmsApi: FlowBuilderApi): FlowWhatsappButtonList;
|
|
12
|
-
toBotonic(id: string): JSX.Element;
|
|
13
|
+
toBotonic(id: string, request: ActionRequest): JSX.Element;
|
|
13
14
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { isWhatsapp } from '@botonic/core';
|
|
3
|
+
import { Button, Text, WhatsappButtonList } from '@botonic/react';
|
|
3
4
|
import { ContentFieldsBase } from '../content-fields-base';
|
|
4
5
|
import { FlowWhatsappButtonListSection } from './flow-whatsapp-button-list-section';
|
|
5
6
|
export class FlowWhatsappButtonList extends ContentFieldsBase {
|
|
@@ -18,7 +19,12 @@ export class FlowWhatsappButtonList extends ContentFieldsBase {
|
|
|
18
19
|
newWhatsappButtonList.sections = component.content.sections.map(section => FlowWhatsappButtonListSection.fromHubtypeCMS(section, locale, cmsApi));
|
|
19
20
|
return newWhatsappButtonList;
|
|
20
21
|
}
|
|
21
|
-
toBotonic(id) {
|
|
22
|
+
toBotonic(id, request) {
|
|
23
|
+
if (!isWhatsapp(request.session)) {
|
|
24
|
+
const rows = this.sections.flatMap(section => section.rows);
|
|
25
|
+
const buttons = rows.map(row => (_jsx(Button, Object.assign({ payload: row.id }, { children: row.title }), row.id)));
|
|
26
|
+
return (_jsxs(Text, { children: [this.text, buttons] }));
|
|
27
|
+
}
|
|
22
28
|
return (_jsx(WhatsappButtonList, { body: this.text, button: this.listButtonText, sections: this.sections.map((section, sectionIndex) => section.toBotonic(sectionIndex)) }, id));
|
|
23
29
|
}
|
|
24
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-button-list.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-whatsapp-button-list.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAiB,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAIhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAA;AAEnF,MAAM,OAAO,sBAAuB,SAAQ,iBAAiB;IAA7D;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,SAAI,GAAG,EAAE,CAAA;QACT,mBAAc,GAAG,EAAE,CAAA;QACnB,aAAQ,GAAoC,EAAE,CAAA;IAmDvD,CAAC;IAjDC,MAAM,CAAC,cAAc,CACnB,SAAmC,EACnC,MAAc,EACd,MAAsB;QAEtB,MAAM,qBAAqB,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACtE,qBAAqB,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC3C,qBAAqB,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAC/C,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,IAAI,CACvB,CAAA;QACD,qBAAqB,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CACzD,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,WAAW,CAC9B,CAAA;QACD,qBAAqB,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACxE,6BAA6B,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CACtE,CAAA;QACD,OAAO,qBAAqB,CAAA;IAC9B,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,OAAsB;QAC1C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAC9B,KAAC,MAAM,kBAAc,OAAO,EAAE,GAAG,CAAC,EAAE,gBACjC,GAAG,CAAC,KAAK,KADC,GAAG,CAAC,EAAE,CAEV,CACV,CAAC,CAAA;YAEF,OAAO,CACL,MAAC,IAAI,eACF,IAAI,CAAC,IAAI,EACT,OAAO,IACH,CACR,CAAA;SACF;QAED,OAAO,CACL,KAAC,kBAAkB,IAEjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,cAAc,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CACpD,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAChC,IALI,EAAE,CAMa,CACvB,CAAA;IACH,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/plugin-flow-builder",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.38.0",
|
|
4
4
|
"main": "./lib/cjs/index.js",
|
|
5
5
|
"module": "./lib/esm/index.js",
|
|
6
6
|
"description": "Use Flow Builder to show your contents",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@botonic/react": "0.
|
|
17
|
+
"@botonic/react": "^0.38.0",
|
|
18
18
|
"axios": "^1.10.0",
|
|
19
19
|
"uuid": "^10.0.0"
|
|
20
20
|
},
|
|
@@ -10,11 +10,35 @@ import { getContentsByPayload } from './payload'
|
|
|
10
10
|
export async function getContentsByFirstInteraction(
|
|
11
11
|
context: FlowBuilderContext
|
|
12
12
|
): Promise<FlowContent[]> {
|
|
13
|
-
const { flowBuilderPlugin, request } = context
|
|
13
|
+
const { contentID, flowBuilderPlugin, request } = context
|
|
14
|
+
|
|
15
|
+
/*
|
|
16
|
+
* If the contentID is provided, the firstInteractionContents are obtained even if they are not used
|
|
17
|
+
* because when obtain this firstInteractionContents is when the session.flow_thread_id is updated.
|
|
18
|
+
* This is needed for example when send a WhatsApp campaign is sent,
|
|
19
|
+
* the bot not receives the message because this message is sent directly by the backend
|
|
20
|
+
* we expect the bot to respond only with the contents of the contentID and not with the firstInteractionContents.
|
|
21
|
+
*/
|
|
14
22
|
const firstInteractionContents = await flowBuilderPlugin.getStartContents()
|
|
15
23
|
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
if (contentID) {
|
|
25
|
+
try {
|
|
26
|
+
const contentsByContentID =
|
|
27
|
+
await flowBuilderPlugin.getContentsByContentID(contentID)
|
|
28
|
+
|
|
29
|
+
if (contentsByContentID.length > 0) {
|
|
30
|
+
return contentsByContentID
|
|
31
|
+
}
|
|
32
|
+
} catch (error) {
|
|
33
|
+
console.warn(
|
|
34
|
+
`The contentID ${contentID} is not found. Returning the firstInteractionContents`
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* If the first interaction has a FlowBotAction, it should be the last content
|
|
40
|
+
* and avoid to render the match with keywords,intents or knowledge base
|
|
41
|
+
*/
|
|
18
42
|
if (firstInteractionContents.at(-1) instanceof FlowBotAction) {
|
|
19
43
|
return firstInteractionContents
|
|
20
44
|
}
|
package/src/action/index.tsx
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
import React from 'react'
|
|
10
10
|
|
|
11
11
|
import { FlowBuilderApi } from '../api'
|
|
12
|
+
import { DO_NOTHING_PAYLOAD } from '../constants'
|
|
12
13
|
import { FlowContent, FlowHandoff } from '../content-fields'
|
|
13
14
|
import { FlowBotAction } from '../content-fields/flow-bot-action'
|
|
14
15
|
import { ContentFilterExecutor } from '../filters'
|
|
@@ -125,7 +126,7 @@ async function getContents(
|
|
|
125
126
|
return []
|
|
126
127
|
}
|
|
127
128
|
|
|
128
|
-
if (request.input.payload?.startsWith(
|
|
129
|
+
if (request.input.payload?.startsWith(DO_NOTHING_PAYLOAD)) {
|
|
129
130
|
request.input.payload = undefined
|
|
130
131
|
}
|
|
131
132
|
|
package/src/constants.ts
CHANGED
|
@@ -2,6 +2,7 @@ export const FLOW_BUILDER_API_URL_PROD =
|
|
|
2
2
|
process.env.HUBTYPE_API_URL || 'https://api.hubtype.com'
|
|
3
3
|
export const SEPARATOR = '|'
|
|
4
4
|
export const SOURCE_INFO_SEPARATOR = `${SEPARATOR}source_`
|
|
5
|
+
export const DO_NOTHING_PAYLOAD = 'fb-do-nothing'
|
|
5
6
|
export const VARIABLE_PATTERN = /{([^}]+)}/g
|
|
6
7
|
export const ACCESS_TOKEN_VARIABLE_KEY = '_access_token'
|
|
7
8
|
export const REG_EXP_PATTERN = /^\/(.*)\/([gimyus]*)$/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AgenticOutputMessage } from '@botonic/core'
|
|
2
2
|
import { Button, Carousel, Text } from '@botonic/react'
|
|
3
3
|
|
|
4
|
-
import { SOURCE_INFO_SEPARATOR } from '../constants'
|
|
4
|
+
import { DO_NOTHING_PAYLOAD, SOURCE_INFO_SEPARATOR } from '../constants'
|
|
5
5
|
import { ContentFieldsBase } from './content-fields-base'
|
|
6
6
|
import { FlowElement } from './flow-element'
|
|
7
7
|
import { HtAiAgentNode, HtInputGuardrailRule } from './hubtype-fields/ai-agent'
|
|
@@ -40,7 +40,7 @@ export class FlowAiAgent extends ContentFieldsBase {
|
|
|
40
40
|
{response.content.buttons.map((button, buttonIndex) => (
|
|
41
41
|
<Button
|
|
42
42
|
key={buttonIndex}
|
|
43
|
-
payload={
|
|
43
|
+
payload={`${DO_NOTHING_PAYLOAD}${SOURCE_INFO_SEPARATOR}${buttonIndex}`}
|
|
44
44
|
>
|
|
45
45
|
{button}
|
|
46
46
|
</Button>
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isWhatsapp } from '@botonic/core'
|
|
2
|
+
import {
|
|
3
|
+
ActionRequest,
|
|
4
|
+
Button,
|
|
5
|
+
Text,
|
|
6
|
+
WhatsappCTAUrlButton,
|
|
7
|
+
WhatsappCTAUrlHeaderType,
|
|
8
|
+
} from '@botonic/react'
|
|
2
9
|
import React from 'react'
|
|
3
10
|
|
|
4
11
|
import { FlowBuilderApi } from '../api'
|
|
@@ -103,7 +110,16 @@ export class FlowWhatsappCtaUrlButtonNode extends ContentFieldsBase {
|
|
|
103
110
|
}
|
|
104
111
|
}
|
|
105
112
|
|
|
106
|
-
toBotonic(id: string): JSX.Element {
|
|
113
|
+
toBotonic(id: string, request: ActionRequest): JSX.Element {
|
|
114
|
+
if (!isWhatsapp(request.session)) {
|
|
115
|
+
return (
|
|
116
|
+
<Text>
|
|
117
|
+
{this.text}
|
|
118
|
+
<Button url={this.url}>{this.displayText}</Button>
|
|
119
|
+
</Text>
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
|
|
107
123
|
if (
|
|
108
124
|
this.headerType === WhatsappCTAUrlHeaderType.Image &&
|
|
109
125
|
this.headerImage
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isWhatsapp } from '@botonic/core'
|
|
2
|
+
import { ActionRequest, Button, Text, WhatsappButtonList } from '@botonic/react'
|
|
2
3
|
import React from 'react'
|
|
3
4
|
|
|
4
5
|
import { FlowBuilderApi } from '../../api'
|
|
@@ -33,7 +34,23 @@ export class FlowWhatsappButtonList extends ContentFieldsBase {
|
|
|
33
34
|
return newWhatsappButtonList
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
toBotonic(id: string): JSX.Element {
|
|
37
|
+
toBotonic(id: string, request: ActionRequest): JSX.Element {
|
|
38
|
+
if (!isWhatsapp(request.session)) {
|
|
39
|
+
const rows = this.sections.flatMap(section => section.rows)
|
|
40
|
+
const buttons = rows.map(row => (
|
|
41
|
+
<Button key={row.id} payload={row.id}>
|
|
42
|
+
{row.title}
|
|
43
|
+
</Button>
|
|
44
|
+
))
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<Text>
|
|
48
|
+
{this.text}
|
|
49
|
+
{buttons}
|
|
50
|
+
</Text>
|
|
51
|
+
)
|
|
52
|
+
}
|
|
53
|
+
|
|
37
54
|
return (
|
|
38
55
|
<WhatsappButtonList
|
|
39
56
|
key={id}
|