@botonic/plugin-flow-builder 0.36.0 → 0.36.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/action/ai-agent.js +6 -10
- package/lib/cjs/action/ai-agent.js.map +1 -1
- package/lib/cjs/action/index.js +4 -0
- package/lib/cjs/action/index.js.map +1 -1
- package/lib/cjs/content-fields/flow-ai-agent.d.ts +2 -1
- package/lib/cjs/content-fields/flow-ai-agent.js +15 -2
- package/lib/cjs/content-fields/flow-ai-agent.js.map +1 -1
- package/lib/cjs/content-fields/flow-button.d.ts +6 -0
- package/lib/cjs/content-fields/flow-button.js +7 -0
- package/lib/cjs/content-fields/flow-button.js.map +1 -1
- package/lib/cjs/content-fields/flow-element.d.ts +9 -0
- package/lib/cjs/content-fields/flow-element.js +12 -0
- package/lib/cjs/content-fields/flow-element.js.map +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
- package/lib/cjs/types.d.ts +35 -7
- package/lib/esm/action/ai-agent.js +5 -9
- package/lib/esm/action/ai-agent.js.map +1 -1
- package/lib/esm/action/index.js +4 -0
- package/lib/esm/action/index.js.map +1 -1
- package/lib/esm/content-fields/flow-ai-agent.d.ts +2 -1
- package/lib/esm/content-fields/flow-ai-agent.js +17 -4
- package/lib/esm/content-fields/flow-ai-agent.js.map +1 -1
- package/lib/esm/content-fields/flow-button.d.ts +6 -0
- package/lib/esm/content-fields/flow-button.js +7 -0
- package/lib/esm/content-fields/flow-button.js.map +1 -1
- package/lib/esm/content-fields/flow-element.d.ts +9 -0
- package/lib/esm/content-fields/flow-element.js +12 -0
- package/lib/esm/content-fields/flow-element.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +1 -1
- package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
- package/lib/esm/types.d.ts +35 -7
- package/package.json +1 -1
- package/src/action/ai-agent.ts +7 -14
- package/src/action/index.tsx +4 -0
- package/src/content-fields/flow-ai-agent.tsx +43 -3
- package/src/content-fields/flow-button.tsx +13 -0
- package/src/content-fields/flow-element.tsx +21 -0
- package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx +1 -1
- package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx +1 -1
- package/src/types.ts +42 -8
|
@@ -21,19 +21,15 @@ function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
|
|
|
21
21
|
instructions: aiAgentContent.instructions,
|
|
22
22
|
activeTools: aiAgentContent.activeTools,
|
|
23
23
|
}));
|
|
24
|
-
if (!aiAgentResponse
|
|
24
|
+
if (!aiAgentResponse) {
|
|
25
25
|
return [];
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
exports.getContentsByAiAgent = getContentsByAiAgent;
|
|
31
|
-
function updateContentsWithAiAgentResponse(contents, aiAgentResponse) {
|
|
32
|
-
return contents.map(content => {
|
|
33
|
-
if (content instanceof flow_ai_agent_1.FlowAiAgent) {
|
|
34
|
-
content.text = aiAgentResponse.content || '';
|
|
27
|
+
if (aiAgentResponse.length === 1 && aiAgentResponse[0].type === 'exit') {
|
|
28
|
+
return [];
|
|
35
29
|
}
|
|
36
|
-
|
|
30
|
+
aiAgentContent.responses = aiAgentResponse;
|
|
31
|
+
return contents;
|
|
37
32
|
});
|
|
38
33
|
}
|
|
34
|
+
exports.getContentsByAiAgent = getContentsByAiAgent;
|
|
39
35
|
//# sourceMappingURL=ai-agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/action/ai-agent.ts"],"names":[],"mappings":";;;;AACA,mEAA6D;
|
|
1
|
+
{"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/action/ai-agent.ts"],"names":[],"mappings":";;;;AACA,mEAA6D;AAG7D,SAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY;;;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;YAC9C,OAAO,EAAE,CAAA;SACV;QAED,MAAM,QAAQ,GACZ,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QAEjE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,2BAAW,CAC3B,CAAA;QAEhB,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,EAAE,CAAA;SACV;QAED,MAAM,eAAe,GAAG,MAAM,CAAA,MAAA,iBAAiB,CAAC,kBAAkB,kEAChE,OAAO,EACP;YACE,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,YAAY,EAAE,cAAc,CAAC,YAAY;YACzC,WAAW,EAAE,cAAc,CAAC,WAAW;SACxC,CACF,CAAA,CAAA;QAED,IAAI,CAAC,eAAe,EAAE;YACpB,OAAO,EAAE,CAAA;SACV;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YACtE,OAAO,EAAE,CAAA;SACV;QAED,cAAc,CAAC,SAAS,GAAG,eAAe,CAAA;QAE1C,OAAO,QAAQ,CAAA;;CAChB;AA1CD,oDA0CC"}
|
package/lib/cjs/action/index.js
CHANGED
|
@@ -70,6 +70,7 @@ class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
|
70
70
|
}
|
|
71
71
|
exports.FlowBuilderMultichannelAction = FlowBuilderMultichannelAction;
|
|
72
72
|
function getContents(request, contentID) {
|
|
73
|
+
var _a;
|
|
73
74
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
74
75
|
const context = getContext(request, contentID);
|
|
75
76
|
if (request.session.is_first_interaction) {
|
|
@@ -79,6 +80,9 @@ function getContents(request, contentID) {
|
|
|
79
80
|
if (request.input.type === core_1.INPUT.EVENT_QUEUE_POSITION_CHANGED) {
|
|
80
81
|
return [];
|
|
81
82
|
}
|
|
83
|
+
if ((_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith('do-nothing')) {
|
|
84
|
+
request.input.payload = undefined;
|
|
85
|
+
}
|
|
82
86
|
if (request.input.payload || contentID) {
|
|
83
87
|
const contentsByPayload = yield (0, payload_1.getContentsByPayload)(context);
|
|
84
88
|
if (contentsByPayload.length > 0) {
|
|
@@ -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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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { AgenticOutputMessage } from '../types';
|
|
2
3
|
import { ContentFieldsBase } from './content-fields-base';
|
|
3
4
|
import { HtAiAgentNode } from './hubtype-fields/ai-agent';
|
|
4
5
|
export declare class FlowAiAgent extends ContentFieldsBase {
|
|
@@ -8,7 +9,7 @@ export declare class FlowAiAgent extends ContentFieldsBase {
|
|
|
8
9
|
activeTools?: {
|
|
9
10
|
name: string;
|
|
10
11
|
}[];
|
|
11
|
-
|
|
12
|
+
responses: AgenticOutputMessage[];
|
|
12
13
|
static fromHubtypeCMS(component: HtAiAgentNode): FlowAiAgent;
|
|
13
14
|
toBotonic(id: string): JSX.Element;
|
|
14
15
|
}
|
|
@@ -3,14 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FlowAiAgent = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("@botonic/react");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
6
7
|
const content_fields_base_1 = require("./content-fields-base");
|
|
8
|
+
const flow_element_1 = require("./flow-element");
|
|
7
9
|
class FlowAiAgent extends content_fields_base_1.ContentFieldsBase {
|
|
8
10
|
constructor() {
|
|
9
11
|
super(...arguments);
|
|
10
12
|
this.code = '';
|
|
11
13
|
this.name = '';
|
|
12
14
|
this.instructions = '';
|
|
13
|
-
this.
|
|
15
|
+
this.responses = [];
|
|
14
16
|
}
|
|
15
17
|
static fromHubtypeCMS(component) {
|
|
16
18
|
const newAiAgent = new FlowAiAgent(component.id);
|
|
@@ -20,7 +22,18 @@ class FlowAiAgent extends content_fields_base_1.ContentFieldsBase {
|
|
|
20
22
|
return newAiAgent;
|
|
21
23
|
}
|
|
22
24
|
toBotonic(id) {
|
|
23
|
-
return (0, jsx_runtime_1.jsx)(
|
|
25
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: this.responses.map(response => {
|
|
26
|
+
if (response.type === 'text') {
|
|
27
|
+
return (0, jsx_runtime_1.jsx)(react_1.Text, { children: response.content.text }, id);
|
|
28
|
+
}
|
|
29
|
+
if (response.type === 'textWithButtons') {
|
|
30
|
+
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: `do-nothing${constants_1.SOURCE_INFO_SEPARATOR}${buttonIndex}` }, { children: button }), buttonIndex)))] }, id));
|
|
31
|
+
}
|
|
32
|
+
if (response.type === 'carousel') {
|
|
33
|
+
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));
|
|
34
|
+
}
|
|
35
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
|
36
|
+
}) }));
|
|
24
37
|
}
|
|
25
38
|
}
|
|
26
39
|
exports.FlowAiAgent = FlowAiAgent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";;;;AAAA,0CAAuD;AAEvD,4CAAoD;AAEpD,+DAAyD;AACzD,iDAA4C;AAG5C,MAAa,WAAY,SAAQ,uCAAiB;IAAlD;;QACS,SAAI,GAAW,EAAE,CAAA;QACjB,SAAI,GAAW,EAAE,CAAA;QACjB,iBAAY,GAAW,EAAE,CAAA;QAGzB,cAAS,GAA2B,EAAE,CAAA;IAkD/C,CAAC;IAhDC,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;QAEvD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,2DACG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC7B,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,aAAa,iCAAqB,GAAG,WAAW,EAAE,gBAE1D,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;AAxDD,kCAwDC"}
|
|
@@ -10,6 +10,12 @@ export declare class FlowButton extends ContentFieldsBase {
|
|
|
10
10
|
target?: string;
|
|
11
11
|
webview?: Webview;
|
|
12
12
|
static fromHubtypeCMS(cmsButton: HtButton, locale: string, cmsApi: FlowBuilderApi): FlowButton;
|
|
13
|
+
static fromAIAgent(button: {
|
|
14
|
+
id: string;
|
|
15
|
+
text: string;
|
|
16
|
+
payload?: string;
|
|
17
|
+
url?: string;
|
|
18
|
+
}): FlowButton;
|
|
13
19
|
static getUrlId(cmsButton: HtButton, locale: string): string | undefined;
|
|
14
20
|
renderButton(buttonIndex: number, buttonStyle?: HtButtonStyle): JSX.Element;
|
|
15
21
|
private getButtonPayload;
|
|
@@ -24,6 +24,13 @@ class FlowButton extends content_fields_base_1.ContentFieldsBase {
|
|
|
24
24
|
}
|
|
25
25
|
return newButton;
|
|
26
26
|
}
|
|
27
|
+
static fromAIAgent(button) {
|
|
28
|
+
const newButton = new FlowButton(button.id);
|
|
29
|
+
newButton.text = button.text;
|
|
30
|
+
newButton.payload = button.payload;
|
|
31
|
+
newButton.url = button.url;
|
|
32
|
+
return newButton;
|
|
33
|
+
}
|
|
27
34
|
static getUrlId(cmsButton, locale) {
|
|
28
35
|
var _a;
|
|
29
36
|
return (_a = cmsButton.url.find(url => url.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";;;;AAAA,0CAAuD;AAIvD,4CAAoD;AACpD,+DAAyD;AACzD,qDAAqE;AAErE,MAAa,UAAW,SAAQ,uCAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";;;;AAAA,0CAAuD;AAIvD,4CAAoD;AACpD,+DAAyD;AACzD,qDAAqE;AAErE,MAAa,UAAW,SAAQ,uCAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;IAsElB,CAAC;IAhEC,MAAM,CAAC,cAAc,CACnB,SAAmB,EACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC9C,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAC7D,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;SACxD;QAED,IAAI,SAAS,CAAC,GAAG,IAAI,KAAK,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAY,KAAK,CAAC,CAAA;YACpD,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAA;SACpC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAKlB;QACC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3C,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QAC5B,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAClC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QAC1B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAmB,EAAE,MAAc;;QACjD,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,EAAE,CAAA;IAC7D,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,WAA2B;QAC3D,IAAI,WAAW,KAAK,8BAAa,CAAC,WAAW,EAAE;YAC7C,OAAO,CACL,uBAAC,aAAK,kBAAe,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,gBAC7D,IAAI,CAAC,IAAI,KADA,IAAI,CAAC,EAAE,CAEX,CACT,CAAA;SACF;QACD,OAAO,CACL,uBAAC,cAAM,kBAEL,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAC3C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,gBAEpB,IAAI,CAAC,IAAI,KANL,IAAI,CAAC,EAAE,CAOL,CACV,CAAA;IACH,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QAC1C,OAAO,IAAI,CAAC,OAAO;YACjB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,iCAAqB,GAAG,WAAW,EAAE;YACzD,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;CACF;AAvED,gCAuEC"}
|
|
@@ -10,5 +10,14 @@ export declare class FlowElement extends ContentFieldsBase {
|
|
|
10
10
|
image: string;
|
|
11
11
|
hidden: boolean;
|
|
12
12
|
static fromHubtypeCMS(component: HtCarouselElement, locale: string, cmsApi: FlowBuilderApi): FlowElement;
|
|
13
|
+
static fromAIAgent(id: string, element: {
|
|
14
|
+
title: string;
|
|
15
|
+
subtitle: string;
|
|
16
|
+
image: string;
|
|
17
|
+
button: {
|
|
18
|
+
text: string;
|
|
19
|
+
url: string;
|
|
20
|
+
};
|
|
21
|
+
}): FlowElement;
|
|
13
22
|
toBotonic(parentId: string): JSX.Element;
|
|
14
23
|
}
|
|
@@ -21,6 +21,18 @@ class FlowElement extends content_fields_base_1.ContentFieldsBase {
|
|
|
21
21
|
newElement.button = flow_button_1.FlowButton.fromHubtypeCMS(component.button, locale, cmsApi);
|
|
22
22
|
return newElement;
|
|
23
23
|
}
|
|
24
|
+
static fromAIAgent(id, element) {
|
|
25
|
+
const newElement = new FlowElement(id);
|
|
26
|
+
newElement.title = element.title;
|
|
27
|
+
newElement.subtitle = element.subtitle;
|
|
28
|
+
newElement.image = element.image;
|
|
29
|
+
newElement.button = flow_button_1.FlowButton.fromAIAgent({
|
|
30
|
+
id: '',
|
|
31
|
+
text: element.button.text,
|
|
32
|
+
url: element.button.url,
|
|
33
|
+
});
|
|
34
|
+
return newElement;
|
|
35
|
+
}
|
|
24
36
|
toBotonic(parentId) {
|
|
25
37
|
var _a;
|
|
26
38
|
return ((0, jsx_runtime_1.jsxs)(react_1.Element, { children: [(0, jsx_runtime_1.jsx)(react_1.Pic, { src: this.image }), (0, jsx_runtime_1.jsx)(react_1.Title, { children: this.title }), (0, jsx_runtime_1.jsx)(react_1.Subtitle, { children: this.subtitle }), (_a = this.button) === null || _a === void 0 ? void 0 : _a.renderButton(0)] }, `${parentId}-${this.id}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":";;;;AAAA,0CAA8D;AAI9D,+DAAyD;AACzD,+CAA0C;AAG1C,MAAa,WAAY,SAAQ,uCAAiB;IAAlD;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,aAAQ,GAAG,EAAE,CAAA;QAEb,UAAK,GAAG,EAAE,CAAA;QACV,WAAM,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":";;;;AAAA,0CAA8D;AAI9D,+DAAyD;AACzD,+CAA0C;AAG1C,MAAa,WAAY,SAAQ,uCAAiB;IAAlD;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,aAAQ,GAAG,EAAE,CAAA;QAEb,UAAK,GAAG,EAAE,CAAA;QACV,WAAM,GAAG,KAAK,CAAA;IAkDvB,CAAC;IAhDC,MAAM,CAAC,cAAc,CACnB,SAA4B,EAC5B,MAAc,EACd,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QAChE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QACtE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACjE,UAAU,CAAC,MAAM,GAAG,wBAAU,CAAC,cAAc,CAC3C,SAAS,CAAC,MAAM,EAChB,MAAM,EACN,MAAM,CACP,CAAA;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,EAAU,EACV,OAKC;QAED,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAA;QACtC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACtC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,UAAU,CAAC,MAAM,GAAG,wBAAU,CAAC,WAAW,CAAC;YACzC,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;SACxB,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,CAAC,QAAgB;;QACxB,OAAO,CACL,wBAAC,eAAO,eACN,uBAAC,WAAG,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI,EACxB,uBAAC,aAAK,cAAE,IAAI,CAAC,KAAK,GAAS,EAC3B,uBAAC,gBAAQ,cAAE,IAAI,CAAC,QAAQ,GAAY,EACnC,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAC,CAAC,CAAC,KAJjB,GAAG,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,CAK5B,CACX,CAAA;IACH,CAAC;CACF;AAvDD,kCAuDC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WhatsappButtonListSectionProps } from '@botonic/react';
|
|
2
2
|
import { FlowBuilderApi } from '../../api';
|
|
3
|
+
import { ContentFieldsBase } from '../content-fields-base';
|
|
3
4
|
import { HtWhatsappButtonListSection } from '../hubtype-fields';
|
|
4
|
-
import { ContentFieldsBase } from './../content-fields-base';
|
|
5
5
|
import { FlowWhatsappButtonListRow } from './flow-whatsapp-button-list-row';
|
|
6
6
|
export declare class FlowWhatsappButtonListSection extends ContentFieldsBase {
|
|
7
7
|
title: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FlowWhatsappButtonListSection = void 0;
|
|
4
|
-
const content_fields_base_1 = require("
|
|
4
|
+
const content_fields_base_1 = require("../content-fields-base");
|
|
5
5
|
const flow_whatsapp_button_list_row_1 = require("./flow-whatsapp-button-list-row");
|
|
6
6
|
class FlowWhatsappButtonListSection extends content_fields_base_1.ContentFieldsBase {
|
|
7
7
|
constructor() {
|
package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-button-list-section.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"flow-whatsapp-button-list-section.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx"],"names":[],"mappings":";;;AAMA,gEAA0D;AAE1D,mFAA2E;AAE3E,MAAa,6BAA8B,SAAQ,uCAAiB;IAApE;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,SAAI,GAAgC,EAAE,CAAA;IA2B/C,CAAC;IAzBC,MAAM,CAAC,cAAc,CACnB,SAAsC,EACtC,MAAc,EACd,MAAsB;QAEtB,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACjE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QAC/D,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACxC,yDAAyB,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAC9D,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,SAAS,CAAC,YAAoB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAC3B,CAAC,GAAiC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YACnD,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YACxD,IAAI,UAAU;gBAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACpC,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAAE,CACH,CAAA;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;CACF;AA7BD,sEA6BC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { FlowBuilderApi } from '../../api';
|
|
3
|
+
import { ContentFieldsBase } from '../content-fields-base';
|
|
3
4
|
import { HtWhatsappButtonListNode } from '../hubtype-fields';
|
|
4
|
-
import { ContentFieldsBase } from './../content-fields-base';
|
|
5
5
|
import { FlowWhatsappButtonListSection } from './flow-whatsapp-button-list-section';
|
|
6
6
|
export declare class FlowWhatsappButtonList extends ContentFieldsBase {
|
|
7
7
|
code: string;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FlowWhatsappButtonList = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("@botonic/react");
|
|
6
|
-
const content_fields_base_1 = require("
|
|
6
|
+
const content_fields_base_1 = require("../content-fields-base");
|
|
7
7
|
const flow_whatsapp_button_list_section_1 = require("./flow-whatsapp-button-list-section");
|
|
8
8
|
class FlowWhatsappButtonList extends content_fields_base_1.ContentFieldsBase {
|
|
9
9
|
constructor() {
|
|
@@ -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,0CAAmD;
|
|
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,0CAAmD;AAInD,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;IAmCvD,CAAC;IAjCC,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;QAClB,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;AAvCD,wDAuCC"}
|
package/lib/cjs/types.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface BotonicPluginFlowBuilderOptions<TPlugins extends ResolvedPlugin
|
|
|
23
23
|
}
|
|
24
24
|
export type TrackEventFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, eventAction: string, args?: Record<string, any>) => Promise<void>;
|
|
25
25
|
export type KnowledgeBaseFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, sources: string[], instructions: string, messageId: string, memoryLength: number) => Promise<KnowledgeBaseResponse>;
|
|
26
|
-
export type AiAgentFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs) => Promise<
|
|
26
|
+
export type AiAgentFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs) => Promise<AgenticOutputMessage[] | undefined>;
|
|
27
27
|
export interface AiAgentArgs {
|
|
28
28
|
name: string;
|
|
29
29
|
instructions: string;
|
|
@@ -54,12 +54,6 @@ export interface KnowledgeBaseResponse {
|
|
|
54
54
|
chunkIds: string[];
|
|
55
55
|
answer: string;
|
|
56
56
|
}
|
|
57
|
-
export interface AiAgentResponse {
|
|
58
|
-
role: string;
|
|
59
|
-
content?: string;
|
|
60
|
-
toolName?: string;
|
|
61
|
-
toolOutput?: string | null;
|
|
62
|
-
}
|
|
63
57
|
export interface SmartIntentResponse {
|
|
64
58
|
data: {
|
|
65
59
|
smart_intent_title: string;
|
|
@@ -73,3 +67,37 @@ export interface SmartIntentResponse {
|
|
|
73
67
|
export interface PayloadParamsBase {
|
|
74
68
|
followUpContentID?: string;
|
|
75
69
|
}
|
|
70
|
+
export interface OutputBaseMessage {
|
|
71
|
+
type: 'text' | 'textWithButtons' | 'carousel' | 'exit';
|
|
72
|
+
}
|
|
73
|
+
export interface TextMessage extends OutputBaseMessage {
|
|
74
|
+
type: 'text';
|
|
75
|
+
content: {
|
|
76
|
+
text: string;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export interface TextWithButtonsMessage extends OutputBaseMessage {
|
|
80
|
+
type: 'textWithButtons';
|
|
81
|
+
content: {
|
|
82
|
+
text: string;
|
|
83
|
+
buttons: string[];
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export interface CarouselMessage extends OutputBaseMessage {
|
|
87
|
+
type: 'carousel';
|
|
88
|
+
content: {
|
|
89
|
+
elements: {
|
|
90
|
+
title: string;
|
|
91
|
+
subtitle: string;
|
|
92
|
+
image: string;
|
|
93
|
+
button: {
|
|
94
|
+
text: string;
|
|
95
|
+
url: string;
|
|
96
|
+
};
|
|
97
|
+
}[];
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
export interface ExitMessage extends OutputBaseMessage {
|
|
101
|
+
type: 'exit';
|
|
102
|
+
}
|
|
103
|
+
export type AgenticOutputMessage = TextMessage | TextWithButtonsMessage | CarouselMessage | ExitMessage;
|
|
@@ -18,18 +18,14 @@ export function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
|
|
|
18
18
|
instructions: aiAgentContent.instructions,
|
|
19
19
|
activeTools: aiAgentContent.activeTools,
|
|
20
20
|
}));
|
|
21
|
-
if (!aiAgentResponse
|
|
21
|
+
if (!aiAgentResponse) {
|
|
22
22
|
return [];
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
function updateContentsWithAiAgentResponse(contents, aiAgentResponse) {
|
|
28
|
-
return contents.map(content => {
|
|
29
|
-
if (content instanceof FlowAiAgent) {
|
|
30
|
-
content.text = aiAgentResponse.content || '';
|
|
24
|
+
if (aiAgentResponse.length === 1 && aiAgentResponse[0].type === 'exit') {
|
|
25
|
+
return [];
|
|
31
26
|
}
|
|
32
|
-
|
|
27
|
+
aiAgentContent.responses = aiAgentResponse;
|
|
28
|
+
return contents;
|
|
33
29
|
});
|
|
34
30
|
}
|
|
35
31
|
//# sourceMappingURL=ai-agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/action/ai-agent.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/action/ai-agent.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAG7D,MAAM,UAAgB,oBAAoB,CAAC,EACzC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY;;;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;YAC9C,OAAO,EAAE,CAAA;SACV;QAED,MAAM,QAAQ,GACZ,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QAEjE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,WAAW,CAC3B,CAAA;QAEhB,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,EAAE,CAAA;SACV;QAED,MAAM,eAAe,GAAG,MAAM,CAAA,MAAA,iBAAiB,CAAC,kBAAkB,kEAChE,OAAO,EACP;YACE,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,YAAY,EAAE,cAAc,CAAC,YAAY;YACzC,WAAW,EAAE,cAAc,CAAC,WAAW;SACxC,CACF,CAAA,CAAA;QAED,IAAI,CAAC,eAAe,EAAE;YACpB,OAAO,EAAE,CAAA;SACV;QAED,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;YACtE,OAAO,EAAE,CAAA;SACV;QAED,cAAc,CAAC,SAAS,GAAG,eAAe,CAAA;QAE1C,OAAO,QAAQ,CAAA;;CAChB"}
|
package/lib/esm/action/index.js
CHANGED
|
@@ -65,6 +65,7 @@ export class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
function getContents(request, contentID) {
|
|
68
|
+
var _a;
|
|
68
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
70
|
const context = getContext(request, contentID);
|
|
70
71
|
if (request.session.is_first_interaction) {
|
|
@@ -74,6 +75,9 @@ function getContents(request, contentID) {
|
|
|
74
75
|
if (request.input.type === INPUT.EVENT_QUEUE_POSITION_CHANGED) {
|
|
75
76
|
return [];
|
|
76
77
|
}
|
|
78
|
+
if ((_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith('do-nothing')) {
|
|
79
|
+
request.input.payload = undefined;
|
|
80
|
+
}
|
|
77
81
|
if (request.input.payload || contentID) {
|
|
78
82
|
const contentsByPayload = yield getContentsByPayload(context);
|
|
79
83
|
if (contentsByPayload.length > 0) {
|
|
@@ -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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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { AgenticOutputMessage } from '../types';
|
|
2
3
|
import { ContentFieldsBase } from './content-fields-base';
|
|
3
4
|
import { HtAiAgentNode } from './hubtype-fields/ai-agent';
|
|
4
5
|
export declare class FlowAiAgent extends ContentFieldsBase {
|
|
@@ -8,7 +9,7 @@ export declare class FlowAiAgent extends ContentFieldsBase {
|
|
|
8
9
|
activeTools?: {
|
|
9
10
|
name: string;
|
|
10
11
|
}[];
|
|
11
|
-
|
|
12
|
+
responses: AgenticOutputMessage[];
|
|
12
13
|
static fromHubtypeCMS(component: HtAiAgentNode): FlowAiAgent;
|
|
13
14
|
toBotonic(id: string): JSX.Element;
|
|
14
15
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from '@botonic/react';
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Carousel, Text } from '@botonic/react';
|
|
3
|
+
import { SOURCE_INFO_SEPARATOR } from '../constants';
|
|
3
4
|
import { ContentFieldsBase } from './content-fields-base';
|
|
5
|
+
import { FlowElement } from './flow-element';
|
|
4
6
|
export class FlowAiAgent extends ContentFieldsBase {
|
|
5
7
|
constructor() {
|
|
6
8
|
super(...arguments);
|
|
7
9
|
this.code = '';
|
|
8
10
|
this.name = '';
|
|
9
11
|
this.instructions = '';
|
|
10
|
-
this.
|
|
12
|
+
this.responses = [];
|
|
11
13
|
}
|
|
12
14
|
static fromHubtypeCMS(component) {
|
|
13
15
|
const newAiAgent = new FlowAiAgent(component.id);
|
|
@@ -17,7 +19,18 @@ export class FlowAiAgent extends ContentFieldsBase {
|
|
|
17
19
|
return newAiAgent;
|
|
18
20
|
}
|
|
19
21
|
toBotonic(id) {
|
|
20
|
-
return _jsx(
|
|
22
|
+
return (_jsx(_Fragment, { children: this.responses.map(response => {
|
|
23
|
+
if (response.type === 'text') {
|
|
24
|
+
return _jsx(Text, { children: response.content.text }, id);
|
|
25
|
+
}
|
|
26
|
+
if (response.type === 'textWithButtons') {
|
|
27
|
+
return (_jsxs(Text, { children: [response.content.text, response.content.buttons.map((button, buttonIndex) => (_jsx(Button, Object.assign({ payload: `do-nothing${SOURCE_INFO_SEPARATOR}${buttonIndex}` }, { children: button }), buttonIndex)))] }, id));
|
|
28
|
+
}
|
|
29
|
+
if (response.type === 'carousel') {
|
|
30
|
+
return (_jsx(Carousel, { children: response.content.elements.map(element => FlowElement.fromAIAgent(id, element).toBotonic(id)) }, id));
|
|
31
|
+
}
|
|
32
|
+
return _jsx(_Fragment, {});
|
|
33
|
+
}) }));
|
|
21
34
|
}
|
|
22
35
|
}
|
|
23
36
|
//# sourceMappingURL=flow-ai-agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../src/content-fields/flow-ai-agent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAEpD,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;QAGzB,cAAS,GAA2B,EAAE,CAAA;IAkD/C,CAAC;IAhDC,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;QAEvD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,4BACG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC7B,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,aAAa,qBAAqB,GAAG,WAAW,EAAE,gBAE1D,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"}
|
|
@@ -10,6 +10,12 @@ export declare class FlowButton extends ContentFieldsBase {
|
|
|
10
10
|
target?: string;
|
|
11
11
|
webview?: Webview;
|
|
12
12
|
static fromHubtypeCMS(cmsButton: HtButton, locale: string, cmsApi: FlowBuilderApi): FlowButton;
|
|
13
|
+
static fromAIAgent(button: {
|
|
14
|
+
id: string;
|
|
15
|
+
text: string;
|
|
16
|
+
payload?: string;
|
|
17
|
+
url?: string;
|
|
18
|
+
}): FlowButton;
|
|
13
19
|
static getUrlId(cmsButton: HtButton, locale: string): string | undefined;
|
|
14
20
|
renderButton(buttonIndex: number, buttonStyle?: HtButtonStyle): JSX.Element;
|
|
15
21
|
private getButtonPayload;
|
|
@@ -21,6 +21,13 @@ export class FlowButton extends ContentFieldsBase {
|
|
|
21
21
|
}
|
|
22
22
|
return newButton;
|
|
23
23
|
}
|
|
24
|
+
static fromAIAgent(button) {
|
|
25
|
+
const newButton = new FlowButton(button.id);
|
|
26
|
+
newButton.text = button.text;
|
|
27
|
+
newButton.payload = button.payload;
|
|
28
|
+
newButton.url = button.url;
|
|
29
|
+
return newButton;
|
|
30
|
+
}
|
|
24
31
|
static getUrlId(cmsButton, locale) {
|
|
25
32
|
var _a;
|
|
26
33
|
return (_a = cmsButton.url.find(url => url.locale === locale)) === null || _a === void 0 ? void 0 : _a.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAW,MAAM,gBAAgB,CAAA;AAIvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAY,aAAa,EAAa,MAAM,kBAAkB,CAAA;AAErE,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../src/content-fields/flow-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAW,MAAM,gBAAgB,CAAA;AAIvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAY,aAAa,EAAa,MAAM,kBAAkB,CAAA;AAErE,MAAM,OAAO,UAAW,SAAQ,iBAAiB;IAAjD;;QACS,SAAI,GAAG,EAAE,CAAA;IAsElB,CAAC;IAhEC,MAAM,CAAC,cAAc,CACnB,SAAmB,EACnB,MAAc,EACd,MAAsB;QAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC9C,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;QAC7D,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;SACxD;QAED,IAAI,SAAS,CAAC,GAAG,IAAI,KAAK,EAAE;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAY,KAAK,CAAC,CAAA;YACpD,SAAS,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAA;SACpC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAKlB;QACC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3C,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;QAC5B,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAClC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAA;QAC1B,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAmB,EAAE,MAAc;;QACjD,OAAO,MAAA,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,0CAAE,EAAE,CAAA;IAC7D,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,WAA2B;QAC3D,IAAI,WAAW,KAAK,aAAa,CAAC,WAAW,EAAE;YAC7C,OAAO,CACL,KAAC,KAAK,kBAAe,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,gBAC7D,IAAI,CAAC,IAAI,KADA,IAAI,CAAC,EAAE,CAEX,CACT,CAAA;SACF;QACD,OAAO,CACL,KAAC,MAAM,kBAEL,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAC3C,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,gBAEpB,IAAI,CAAC,IAAI,KANL,IAAI,CAAC,EAAE,CAOL,CACV,CAAA;IACH,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QAC1C,OAAO,IAAI,CAAC,OAAO;YACjB,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,qBAAqB,GAAG,WAAW,EAAE;YACzD,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;CACF"}
|
|
@@ -10,5 +10,14 @@ export declare class FlowElement extends ContentFieldsBase {
|
|
|
10
10
|
image: string;
|
|
11
11
|
hidden: boolean;
|
|
12
12
|
static fromHubtypeCMS(component: HtCarouselElement, locale: string, cmsApi: FlowBuilderApi): FlowElement;
|
|
13
|
+
static fromAIAgent(id: string, element: {
|
|
14
|
+
title: string;
|
|
15
|
+
subtitle: string;
|
|
16
|
+
image: string;
|
|
17
|
+
button: {
|
|
18
|
+
text: string;
|
|
19
|
+
url: string;
|
|
20
|
+
};
|
|
21
|
+
}): FlowElement;
|
|
13
22
|
toBotonic(parentId: string): JSX.Element;
|
|
14
23
|
}
|
|
@@ -18,6 +18,18 @@ export class FlowElement extends ContentFieldsBase {
|
|
|
18
18
|
newElement.button = FlowButton.fromHubtypeCMS(component.button, locale, cmsApi);
|
|
19
19
|
return newElement;
|
|
20
20
|
}
|
|
21
|
+
static fromAIAgent(id, element) {
|
|
22
|
+
const newElement = new FlowElement(id);
|
|
23
|
+
newElement.title = element.title;
|
|
24
|
+
newElement.subtitle = element.subtitle;
|
|
25
|
+
newElement.image = element.image;
|
|
26
|
+
newElement.button = FlowButton.fromAIAgent({
|
|
27
|
+
id: '',
|
|
28
|
+
text: element.button.text,
|
|
29
|
+
url: element.button.url,
|
|
30
|
+
});
|
|
31
|
+
return newElement;
|
|
32
|
+
}
|
|
21
33
|
toBotonic(parentId) {
|
|
22
34
|
var _a;
|
|
23
35
|
return (_jsxs(Element, { children: [_jsx(Pic, { src: this.image }), _jsx(Title, { children: this.title }), _jsx(Subtitle, { children: this.subtitle }), (_a = this.button) === null || _a === void 0 ? void 0 : _a.renderButton(0)] }, `${parentId}-${this.id}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAI9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAAlD;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,aAAQ,GAAG,EAAE,CAAA;QAEb,UAAK,GAAG,EAAE,CAAA;QACV,WAAM,GAAG,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-element.js","sourceRoot":"","sources":["../../../src/content-fields/flow-element.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAI9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAAlD;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,aAAQ,GAAG,EAAE,CAAA;QAEb,UAAK,GAAG,EAAE,CAAA;QACV,WAAM,GAAG,KAAK,CAAA;IAkDvB,CAAC;IAhDC,MAAM,CAAC,cAAc,CACnB,SAA4B,EAC5B,MAAc,EACd,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QAChE,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QACtE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QACjE,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,cAAc,CAC3C,SAAS,CAAC,MAAM,EAChB,MAAM,EACN,MAAM,CACP,CAAA;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,EAAU,EACV,OAKC;QAED,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAA;QACtC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;QACtC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;YACzC,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;SACxB,CAAC,CAAA;QACF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,SAAS,CAAC,QAAgB;;QACxB,OAAO,CACL,MAAC,OAAO,eACN,KAAC,GAAG,IAAC,GAAG,EAAE,IAAI,CAAC,KAAK,GAAI,EACxB,KAAC,KAAK,cAAE,IAAI,CAAC,KAAK,GAAS,EAC3B,KAAC,QAAQ,cAAE,IAAI,CAAC,QAAQ,GAAY,EACnC,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,CAAC,CAAC,CAAC,KAJjB,GAAG,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,CAK5B,CACX,CAAA;IACH,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WhatsappButtonListSectionProps } from '@botonic/react';
|
|
2
2
|
import { FlowBuilderApi } from '../../api';
|
|
3
|
+
import { ContentFieldsBase } from '../content-fields-base';
|
|
3
4
|
import { HtWhatsappButtonListSection } from '../hubtype-fields';
|
|
4
|
-
import { ContentFieldsBase } from './../content-fields-base';
|
|
5
5
|
import { FlowWhatsappButtonListRow } from './flow-whatsapp-button-list-row';
|
|
6
6
|
export declare class FlowWhatsappButtonListSection extends ContentFieldsBase {
|
|
7
7
|
title: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ContentFieldsBase } from '
|
|
1
|
+
import { ContentFieldsBase } from '../content-fields-base';
|
|
2
2
|
import { FlowWhatsappButtonListRow } from './flow-whatsapp-button-list-row';
|
|
3
3
|
export class FlowWhatsappButtonListSection extends ContentFieldsBase {
|
|
4
4
|
constructor() {
|
package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-button-list-section.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flow-whatsapp-button-list-section.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAE3E,MAAM,OAAO,6BAA8B,SAAQ,iBAAiB;IAApE;;QACS,UAAK,GAAG,EAAE,CAAA;QACV,SAAI,GAAgC,EAAE,CAAA;IA2B/C,CAAC;IAzBC,MAAM,CAAC,cAAc,CACnB,SAAsC,EACtC,MAAc,EACd,MAAsB;QAEtB,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACjE,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;QAC/D,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACxC,yBAAyB,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAC9D,CAAA;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,SAAS,CAAC,YAAoB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAC3B,CAAC,GAAiC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YACnD,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YACxD,IAAI,UAAU;gBAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACpC,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAAE,CACH,CAAA;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;CACF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { FlowBuilderApi } from '../../api';
|
|
3
|
+
import { ContentFieldsBase } from '../content-fields-base';
|
|
3
4
|
import { HtWhatsappButtonListNode } from '../hubtype-fields';
|
|
4
|
-
import { ContentFieldsBase } from './../content-fields-base';
|
|
5
5
|
import { FlowWhatsappButtonListSection } from './flow-whatsapp-button-list-section';
|
|
6
6
|
export declare class FlowWhatsappButtonList extends ContentFieldsBase {
|
|
7
7
|
code: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { WhatsappButtonList } from '@botonic/react';
|
|
3
|
-
import { ContentFieldsBase } from '
|
|
3
|
+
import { ContentFieldsBase } from '../content-fields-base';
|
|
4
4
|
import { FlowWhatsappButtonListSection } from './flow-whatsapp-button-list-section';
|
|
5
5
|
export class FlowWhatsappButtonList extends ContentFieldsBase {
|
|
6
6
|
constructor() {
|
|
@@ -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,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAInD,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;IAmCvD,CAAC;IAjCC,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;QAClB,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/lib/esm/types.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface BotonicPluginFlowBuilderOptions<TPlugins extends ResolvedPlugin
|
|
|
23
23
|
}
|
|
24
24
|
export type TrackEventFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, eventAction: string, args?: Record<string, any>) => Promise<void>;
|
|
25
25
|
export type KnowledgeBaseFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, sources: string[], instructions: string, messageId: string, memoryLength: number) => Promise<KnowledgeBaseResponse>;
|
|
26
|
-
export type AiAgentFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs) => Promise<
|
|
26
|
+
export type AiAgentFunction<TPlugins extends ResolvedPlugins = ResolvedPlugins, TExtraData = any> = (request: BotContext<TPlugins, TExtraData>, aiAgentArgs: AiAgentArgs) => Promise<AgenticOutputMessage[] | undefined>;
|
|
27
27
|
export interface AiAgentArgs {
|
|
28
28
|
name: string;
|
|
29
29
|
instructions: string;
|
|
@@ -54,12 +54,6 @@ export interface KnowledgeBaseResponse {
|
|
|
54
54
|
chunkIds: string[];
|
|
55
55
|
answer: string;
|
|
56
56
|
}
|
|
57
|
-
export interface AiAgentResponse {
|
|
58
|
-
role: string;
|
|
59
|
-
content?: string;
|
|
60
|
-
toolName?: string;
|
|
61
|
-
toolOutput?: string | null;
|
|
62
|
-
}
|
|
63
57
|
export interface SmartIntentResponse {
|
|
64
58
|
data: {
|
|
65
59
|
smart_intent_title: string;
|
|
@@ -73,3 +67,37 @@ export interface SmartIntentResponse {
|
|
|
73
67
|
export interface PayloadParamsBase {
|
|
74
68
|
followUpContentID?: string;
|
|
75
69
|
}
|
|
70
|
+
export interface OutputBaseMessage {
|
|
71
|
+
type: 'text' | 'textWithButtons' | 'carousel' | 'exit';
|
|
72
|
+
}
|
|
73
|
+
export interface TextMessage extends OutputBaseMessage {
|
|
74
|
+
type: 'text';
|
|
75
|
+
content: {
|
|
76
|
+
text: string;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export interface TextWithButtonsMessage extends OutputBaseMessage {
|
|
80
|
+
type: 'textWithButtons';
|
|
81
|
+
content: {
|
|
82
|
+
text: string;
|
|
83
|
+
buttons: string[];
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export interface CarouselMessage extends OutputBaseMessage {
|
|
87
|
+
type: 'carousel';
|
|
88
|
+
content: {
|
|
89
|
+
elements: {
|
|
90
|
+
title: string;
|
|
91
|
+
subtitle: string;
|
|
92
|
+
image: string;
|
|
93
|
+
button: {
|
|
94
|
+
text: string;
|
|
95
|
+
url: string;
|
|
96
|
+
};
|
|
97
|
+
}[];
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
export interface ExitMessage extends OutputBaseMessage {
|
|
101
|
+
type: 'exit';
|
|
102
|
+
}
|
|
103
|
+
export type AgenticOutputMessage = TextMessage | TextWithButtonsMessage | CarouselMessage | ExitMessage;
|
package/package.json
CHANGED
package/src/action/ai-agent.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FlowContent } from '../content-fields'
|
|
2
2
|
import { FlowAiAgent } from '../content-fields/flow-ai-agent'
|
|
3
|
-
import { AiAgentResponse } from '../types'
|
|
4
3
|
import { FlowBuilderContext } from './index'
|
|
5
4
|
|
|
6
5
|
export async function getContentsByAiAgent({
|
|
@@ -16,6 +15,7 @@ export async function getContentsByAiAgent({
|
|
|
16
15
|
|
|
17
16
|
const contents =
|
|
18
17
|
await flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow)
|
|
18
|
+
|
|
19
19
|
const aiAgentContent = contents.find(
|
|
20
20
|
content => content instanceof FlowAiAgent
|
|
21
21
|
) as FlowAiAgent
|
|
@@ -33,22 +33,15 @@ export async function getContentsByAiAgent({
|
|
|
33
33
|
}
|
|
34
34
|
)
|
|
35
35
|
|
|
36
|
-
if (!aiAgentResponse
|
|
36
|
+
if (!aiAgentResponse) {
|
|
37
37
|
return []
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
if (aiAgentResponse.length === 1 && aiAgentResponse[0].type === 'exit') {
|
|
41
|
+
return []
|
|
42
|
+
}
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
contents: FlowContent[],
|
|
45
|
-
aiAgentResponse: AiAgentResponse
|
|
46
|
-
): FlowContent[] {
|
|
47
|
-
return contents.map(content => {
|
|
48
|
-
if (content instanceof FlowAiAgent) {
|
|
49
|
-
content.text = aiAgentResponse.content || ''
|
|
50
|
-
}
|
|
44
|
+
aiAgentContent.responses = aiAgentResponse
|
|
51
45
|
|
|
52
|
-
|
|
53
|
-
})
|
|
46
|
+
return contents
|
|
54
47
|
}
|
package/src/action/index.tsx
CHANGED
|
@@ -125,6 +125,10 @@ async function getContents(
|
|
|
125
125
|
return []
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
if (request.input.payload?.startsWith('do-nothing')) {
|
|
129
|
+
request.input.payload = undefined
|
|
130
|
+
}
|
|
131
|
+
|
|
128
132
|
if (request.input.payload || contentID) {
|
|
129
133
|
const contentsByPayload = await getContentsByPayload(context)
|
|
130
134
|
if (contentsByPayload.length > 0) {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { Text } from '@botonic/react'
|
|
1
|
+
import { Button, Carousel, Text } from '@botonic/react'
|
|
2
2
|
|
|
3
|
+
import { SOURCE_INFO_SEPARATOR } from '../constants'
|
|
4
|
+
import { AgenticOutputMessage } from '../types'
|
|
3
5
|
import { ContentFieldsBase } from './content-fields-base'
|
|
6
|
+
import { FlowElement } from './flow-element'
|
|
4
7
|
import { HtAiAgentNode } from './hubtype-fields/ai-agent'
|
|
5
8
|
|
|
6
9
|
export class FlowAiAgent extends ContentFieldsBase {
|
|
@@ -8,7 +11,8 @@ export class FlowAiAgent extends ContentFieldsBase {
|
|
|
8
11
|
public name: string = ''
|
|
9
12
|
public instructions: string = ''
|
|
10
13
|
public activeTools?: { name: string }[]
|
|
11
|
-
|
|
14
|
+
|
|
15
|
+
public responses: AgenticOutputMessage[] = []
|
|
12
16
|
|
|
13
17
|
static fromHubtypeCMS(component: HtAiAgentNode): FlowAiAgent {
|
|
14
18
|
const newAiAgent = new FlowAiAgent(component.id)
|
|
@@ -20,6 +24,42 @@ export class FlowAiAgent extends ContentFieldsBase {
|
|
|
20
24
|
}
|
|
21
25
|
|
|
22
26
|
toBotonic(id: string): JSX.Element {
|
|
23
|
-
return
|
|
27
|
+
return (
|
|
28
|
+
<>
|
|
29
|
+
{this.responses.map(response => {
|
|
30
|
+
if (response.type === 'text') {
|
|
31
|
+
return <Text key={id}>{response.content.text}</Text>
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (response.type === 'textWithButtons') {
|
|
35
|
+
return (
|
|
36
|
+
<Text key={id}>
|
|
37
|
+
{response.content.text}
|
|
38
|
+
{response.content.buttons.map((button, buttonIndex) => (
|
|
39
|
+
<Button
|
|
40
|
+
key={buttonIndex}
|
|
41
|
+
payload={`do-nothing${SOURCE_INFO_SEPARATOR}${buttonIndex}`}
|
|
42
|
+
>
|
|
43
|
+
{button}
|
|
44
|
+
</Button>
|
|
45
|
+
))}
|
|
46
|
+
</Text>
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (response.type === 'carousel') {
|
|
51
|
+
return (
|
|
52
|
+
<Carousel key={id}>
|
|
53
|
+
{response.content.elements.map(element =>
|
|
54
|
+
FlowElement.fromAIAgent(id, element).toBotonic(id)
|
|
55
|
+
)}
|
|
56
|
+
</Carousel>
|
|
57
|
+
)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return <></>
|
|
61
|
+
})}
|
|
62
|
+
</>
|
|
63
|
+
)
|
|
24
64
|
}
|
|
25
65
|
}
|
|
@@ -34,6 +34,19 @@ export class FlowButton extends ContentFieldsBase {
|
|
|
34
34
|
return newButton
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
static fromAIAgent(button: {
|
|
38
|
+
id: string
|
|
39
|
+
text: string
|
|
40
|
+
payload?: string
|
|
41
|
+
url?: string
|
|
42
|
+
}): FlowButton {
|
|
43
|
+
const newButton = new FlowButton(button.id)
|
|
44
|
+
newButton.text = button.text
|
|
45
|
+
newButton.payload = button.payload
|
|
46
|
+
newButton.url = button.url
|
|
47
|
+
return newButton
|
|
48
|
+
}
|
|
49
|
+
|
|
37
50
|
static getUrlId(cmsButton: HtButton, locale: string): string | undefined {
|
|
38
51
|
return cmsButton.url.find(url => url.locale === locale)?.id
|
|
39
52
|
}
|
|
@@ -30,6 +30,27 @@ export class FlowElement extends ContentFieldsBase {
|
|
|
30
30
|
return newElement
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
static fromAIAgent(
|
|
34
|
+
id: string,
|
|
35
|
+
element: {
|
|
36
|
+
title: string
|
|
37
|
+
subtitle: string
|
|
38
|
+
image: string
|
|
39
|
+
button: { text: string; url: string }
|
|
40
|
+
}
|
|
41
|
+
) {
|
|
42
|
+
const newElement = new FlowElement(id)
|
|
43
|
+
newElement.title = element.title
|
|
44
|
+
newElement.subtitle = element.subtitle
|
|
45
|
+
newElement.image = element.image
|
|
46
|
+
newElement.button = FlowButton.fromAIAgent({
|
|
47
|
+
id: '',
|
|
48
|
+
text: element.button.text,
|
|
49
|
+
url: element.button.url,
|
|
50
|
+
})
|
|
51
|
+
return newElement
|
|
52
|
+
}
|
|
53
|
+
|
|
33
54
|
toBotonic(parentId: string): JSX.Element {
|
|
34
55
|
return (
|
|
35
56
|
<Element key={`${parentId}-${this.id}`}>
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
} from '@botonic/react'
|
|
5
5
|
|
|
6
6
|
import { FlowBuilderApi } from '../../api'
|
|
7
|
+
import { ContentFieldsBase } from '../content-fields-base'
|
|
7
8
|
import { HtWhatsappButtonListSection } from '../hubtype-fields'
|
|
8
|
-
import { ContentFieldsBase } from './../content-fields-base'
|
|
9
9
|
import { FlowWhatsappButtonListRow } from './flow-whatsapp-button-list-row'
|
|
10
10
|
|
|
11
11
|
export class FlowWhatsappButtonListSection extends ContentFieldsBase {
|
|
@@ -2,8 +2,8 @@ import { WhatsappButtonList } from '@botonic/react'
|
|
|
2
2
|
import React from 'react'
|
|
3
3
|
|
|
4
4
|
import { FlowBuilderApi } from '../../api'
|
|
5
|
+
import { ContentFieldsBase } from '../content-fields-base'
|
|
5
6
|
import { HtWhatsappButtonListNode } from '../hubtype-fields'
|
|
6
|
-
import { ContentFieldsBase } from './../content-fields-base'
|
|
7
7
|
import { FlowWhatsappButtonListSection } from './flow-whatsapp-button-list-section'
|
|
8
8
|
|
|
9
9
|
export class FlowWhatsappButtonList extends ContentFieldsBase {
|
package/src/types.ts
CHANGED
|
@@ -52,7 +52,7 @@ export type AiAgentFunction<
|
|
|
52
52
|
> = (
|
|
53
53
|
request: BotContext<TPlugins, TExtraData>,
|
|
54
54
|
aiAgentArgs: AiAgentArgs
|
|
55
|
-
) => Promise<
|
|
55
|
+
) => Promise<AgenticOutputMessage[] | undefined>
|
|
56
56
|
|
|
57
57
|
export interface AiAgentArgs {
|
|
58
58
|
name: string
|
|
@@ -93,13 +93,6 @@ export interface KnowledgeBaseResponse {
|
|
|
93
93
|
answer: string
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
export interface AiAgentResponse {
|
|
97
|
-
role: string
|
|
98
|
-
content?: string
|
|
99
|
-
toolName?: string
|
|
100
|
-
toolOutput?: string | null
|
|
101
|
-
}
|
|
102
|
-
|
|
103
96
|
export interface SmartIntentResponse {
|
|
104
97
|
data: {
|
|
105
98
|
smart_intent_title: string
|
|
@@ -114,3 +107,44 @@ export interface SmartIntentResponse {
|
|
|
114
107
|
export interface PayloadParamsBase {
|
|
115
108
|
followUpContentID?: string
|
|
116
109
|
}
|
|
110
|
+
|
|
111
|
+
export interface OutputBaseMessage {
|
|
112
|
+
type: 'text' | 'textWithButtons' | 'carousel' | 'exit'
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export interface TextMessage extends OutputBaseMessage {
|
|
116
|
+
type: 'text'
|
|
117
|
+
content: {
|
|
118
|
+
text: string
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export interface TextWithButtonsMessage extends OutputBaseMessage {
|
|
123
|
+
type: 'textWithButtons'
|
|
124
|
+
content: {
|
|
125
|
+
text: string
|
|
126
|
+
buttons: string[]
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface CarouselMessage extends OutputBaseMessage {
|
|
131
|
+
type: 'carousel'
|
|
132
|
+
content: {
|
|
133
|
+
elements: {
|
|
134
|
+
title: string
|
|
135
|
+
subtitle: string
|
|
136
|
+
image: string
|
|
137
|
+
button: { text: string; url: string }
|
|
138
|
+
}[]
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export interface ExitMessage extends OutputBaseMessage {
|
|
143
|
+
type: 'exit'
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export type AgenticOutputMessage =
|
|
147
|
+
| TextMessage
|
|
148
|
+
| TextWithButtonsMessage
|
|
149
|
+
| CarouselMessage
|
|
150
|
+
| ExitMessage
|