@botonic/plugin-flow-builder 0.22.0-alpha.1 → 0.22.0-beta.3
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.d.ts +5 -8
- package/lib/cjs/action.js +11 -1
- package/lib/cjs/action.js.map +1 -1
- package/lib/cjs/flow-builder-models.d.ts +1 -2
- package/lib/cjs/flow-builder-models.js.map +1 -1
- package/lib/cjs/handoff.js +3 -0
- package/lib/cjs/handoff.js.map +1 -1
- package/lib/cjs/index.d.ts +3 -1
- package/lib/cjs/index.js +26 -14
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/action.d.ts +5 -8
- package/lib/esm/action.js +10 -1
- package/lib/esm/action.js.map +1 -1
- package/lib/esm/flow-builder-models.d.ts +1 -2
- package/lib/esm/flow-builder-models.js.map +1 -1
- package/lib/esm/handoff.js +3 -0
- package/lib/esm/handoff.js.map +1 -1
- package/lib/esm/index.d.ts +3 -1
- package/lib/esm/index.js +26 -12
- package/lib/esm/index.js.map +1 -1
- package/package.json +5 -5
- package/src/.DS_Store +0 -0
- package/src/action.tsx +16 -3
- package/src/flow-builder-models.ts +2 -2
- package/src/handoff.ts +3 -0
- package/src/index.ts +26 -12
package/lib/cjs/action.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { ActionRequest } from '@botonic/react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
content?: FlowContent[];
|
|
6
|
-
isHandoff?: boolean;
|
|
7
|
-
};
|
|
8
|
-
export declare class FlowBuilderAction extends React.Component<FlowBuilderActionProps> {
|
|
9
|
-
static contextType: React.Context<import("@botonic/react").RequestContextInterface>;
|
|
3
|
+
export declare class FlowBuilderAction extends React.Component {
|
|
4
|
+
static contextType: any;
|
|
10
5
|
static botonicInit(request: ActionRequest): Promise<any>;
|
|
11
6
|
render(): JSX.Element | JSX.Element[];
|
|
12
7
|
}
|
|
13
|
-
export {
|
|
8
|
+
export declare class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
9
|
+
render(): JSX.Element | JSX.Element[];
|
|
10
|
+
}
|
package/lib/cjs/action.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FlowBuilderAction = void 0;
|
|
3
|
+
exports.FlowBuilderMultichannelAction = exports.FlowBuilderAction = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = require("@botonic/react");
|
|
6
6
|
const react_2 = tslib_1.__importDefault(require("react"));
|
|
@@ -41,4 +41,14 @@ class FlowBuilderAction extends react_2.default.Component {
|
|
|
41
41
|
}
|
|
42
42
|
exports.FlowBuilderAction = FlowBuilderAction;
|
|
43
43
|
FlowBuilderAction.contextType = react_1.RequestContext;
|
|
44
|
+
class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
45
|
+
render() {
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
const { contents, handoffNode } = this.props;
|
|
48
|
+
return (
|
|
49
|
+
//@ts-ignore
|
|
50
|
+
react_2.default.createElement(react_1.Multichannel, { text: { buttonsAsText: false } }, contents.map(content => content.toBotonic(content.id))));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.FlowBuilderMultichannelAction = FlowBuilderMultichannelAction;
|
|
44
54
|
//# sourceMappingURL=action.js.map
|
package/lib/cjs/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.tsx"],"names":[],"mappings":";;;;AAAA,0CAA4E;AAC5E,0DAAyB;AAGzB,uCAAqC;AACrC,uCAAgD;AAOhD,IAAI,wBAAwB,GAAG,KAAK,CAAA;AACpC,MAAa,iBAAkB,SAAQ,eAAK,CAAC,SAAS;IAGpD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAsB;QAC7C,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACrC,IAAI,eAAe,GAAuB,OAAO,CAAA;QACjD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACpD,eAAe,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,CAAA;SACvD;QACD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,kBAAkB,CAC9D,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAA;YACD,IAAI,aAAa;gBAAE,eAAe,GAAG,aAAa,CAAA;YAClD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAChE,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAA;YACD,IAAI,cAAc;gBAAE,eAAe,GAAG,cAAc,CAAA;SACrD;QACD,IAAI,CAAC,eAAe,EAAE;YACpB,eAAe,GAAG,MAAM,iBAAiB,CAAC,aAAa,CACrD,wBAAwB,CACzB,CAAA;YACD,wBAAwB,GAAG,CAAC,wBAAwB,CAAA;SACrD;QAED,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,WAAW,CACnE,eAAe,EACf,MAAM,CACP,CAAA;QAED,IAAI,WAAW;YAAE,MAAM,IAAA,mBAAS,EAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QAE9D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;IAClC,CAAC;IAED,MAAM;QACJ,aAAa;QACb,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5C,OAAO,QAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IAChE,CAAC;;AA5CH,8CA6CC;AA5CQ,6BAAW,GAAQ,sBAAc,CAAA;AA8C1C,MAAa,6BAA8B,SAAQ,iBAAiB;IAClE,MAAM;QACJ,aAAa;QACb,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5C,OAAO;QACL,YAAY;QACZ,8BAAC,oBAAY,IAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,IACzC,QAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAC3C,CAChB,CAAA;IACH,CAAC;CACF;AAXD,sEAWC"}
|
|
@@ -103,10 +103,9 @@ export interface QueueLocale {
|
|
|
103
103
|
locale: string;
|
|
104
104
|
}
|
|
105
105
|
export interface HandoffNodeContent {
|
|
106
|
-
message: TextLocale[];
|
|
107
|
-
fail_message: TextLocale[];
|
|
108
106
|
queue: QueueLocale[];
|
|
109
107
|
payload: PayloadLocale[];
|
|
108
|
+
has_auto_assign: boolean;
|
|
110
109
|
}
|
|
111
110
|
export interface HandoffNode extends Node {
|
|
112
111
|
type: NodeType.HANDOFF;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-builder-models.js","sourceRoot":"","sources":["../../src/flow-builder-models.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"flow-builder-models.js","sourceRoot":"","sources":["../../src/flow-builder-models.ts"],"names":[],"mappings":";;;AAUA,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,uBAAW,CAAA;IACX,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,2BAAe,CAAA;AACjB,CAAC,EAbW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAanB;AA6BD,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,0CAA2B,CAAA;AAC7B,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB"}
|
package/lib/cjs/handoff.js
CHANGED
|
@@ -13,6 +13,9 @@ async function doHandoff(request, locale, handoffNode) {
|
|
|
13
13
|
const onFinishPayload = await getOnFinishPayload(handoffNode, locale, request);
|
|
14
14
|
if (onFinishPayload)
|
|
15
15
|
handOffBuilder.withOnFinishPayload(onFinishPayload);
|
|
16
|
+
if (handoffNode.content.has_auto_assign) {
|
|
17
|
+
handOffBuilder.withAutoAssignOnWaiting(true);
|
|
18
|
+
}
|
|
16
19
|
// TODO: Retrieve params from FlowBuilder
|
|
17
20
|
// const handoffParams = {
|
|
18
21
|
// agentEmail: 'test@gmail.com',
|
package/lib/cjs/handoff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAI9C,uCAAgD;AAEzC,KAAK,UAAU,SAAS,CAC7B,OAAsB,EACtB,MAAc,EACd,WAAwB;IAExB,aAAa;IACb,MAAM,cAAc,GAAG,IAAI,qBAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAA;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAC/D,IAAI,UAAU;QAAE,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAEvD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9E,IAAI,eAAe;QAAE,cAAc,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAI9C,uCAAgD;AAEzC,KAAK,UAAU,SAAS,CAC7B,OAAsB,EACtB,MAAc,EACd,WAAwB;IAExB,aAAa;IACb,MAAM,cAAc,GAAG,IAAI,qBAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAA;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAC/D,IAAI,UAAU;QAAE,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAEvD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9E,IAAI,eAAe;QAAE,cAAc,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;IACxE,IAAI,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE;QACvC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;KAC7C;IAED,yCAAyC;IACzC,0BAA0B;IAC1B,kCAAkC;IAClC,4EAA4E;IAC5E,IAAI;IAEJ,4BAA4B;IAC5B,gDAAgD;IAChD,IAAI;IAEJ,kCAAkC;IAClC,4DAA4D;IAC5D,IAAI;IAEJ,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;AAChC,CAAC;AAhCD,8BAgCC;AAED,KAAK,UAAU,kBAAkB,CAC/B,WAAwB,EACxB,MAAc,EACd,OAAsB;;IAEtB,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAE/D,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CACjE,MAAA,WAAW,CAAC,MAAM,0CAAE,EAAE,CACvB,CAAA;IACD,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,EAAE;QAAE,OAAO,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,EAAE,CAAA;IAEvD,MAAM,SAAS,GAAG,MAAA,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAChD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACrC,0CAAE,EAAE,CAAA;IAEL,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAEhC,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAEnE,OAAQ,aAA6B,CAAC,OAAO,CAAC,OAAO,CAAA;AACvD,CAAC"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
15
15
|
pre(request: PluginPreRequest): Promise<void>;
|
|
16
16
|
post(_request: PluginPostRequest): Promise<void>;
|
|
17
17
|
getContent(id: string): Promise<NodeComponent>;
|
|
18
|
+
getContentByCode(code: string): Promise<NodeComponent>;
|
|
18
19
|
getHandoffContent(handoffTargetId: string | undefined): Promise<HandoffNode | undefined>;
|
|
19
20
|
getFlowContent(hubtypeContent: NodeComponent, locale: string): FlowContent | undefined;
|
|
20
21
|
getStartId(): Promise<string>;
|
|
@@ -23,6 +24,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
23
24
|
contents: FlowContent[];
|
|
24
25
|
handoffNode: HandoffNode;
|
|
25
26
|
}>;
|
|
27
|
+
private replaceButtonPayload;
|
|
26
28
|
getPayloadByIntent(input: Input, locale: string): Promise<string | undefined>;
|
|
27
29
|
hasIntent(node: IntentNode, intent: string, locale: string): boolean;
|
|
28
30
|
hasMetConfidenceThreshold(node: IntentNode, predictedConfidence: number): boolean;
|
|
@@ -31,4 +33,4 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
31
33
|
containsAnyKeywords(input: string, keywords: string[]): boolean;
|
|
32
34
|
callFunction(functionNode: FunctionNode, locale: string): Promise<string>;
|
|
33
35
|
}
|
|
34
|
-
export
|
|
36
|
+
export * from './action';
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FlowBuilderAction = void 0;
|
|
4
3
|
const tslib_1 = require("tslib");
|
|
5
4
|
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
5
|
const content_fields_1 = require("./content-fields");
|
|
@@ -37,6 +36,17 @@ class BotonicPluginFlowBuilder {
|
|
|
37
36
|
throw Error(`Node with id: '${id}' not found`);
|
|
38
37
|
return content;
|
|
39
38
|
}
|
|
39
|
+
async getContentByCode(code) {
|
|
40
|
+
const flow = await this.flow;
|
|
41
|
+
const content = flow.nodes.find(node => {
|
|
42
|
+
if ('code' in node)
|
|
43
|
+
return node.code === code;
|
|
44
|
+
return undefined;
|
|
45
|
+
});
|
|
46
|
+
if (!content)
|
|
47
|
+
throw Error(`Node with code: '${code}' not found`);
|
|
48
|
+
return content;
|
|
49
|
+
}
|
|
40
50
|
async getHandoffContent(handoffTargetId) {
|
|
41
51
|
if (!handoffTargetId)
|
|
42
52
|
return undefined;
|
|
@@ -81,17 +91,8 @@ class BotonicPluginFlowBuilder {
|
|
|
81
91
|
// TODO: Create function to populate these buttons
|
|
82
92
|
await (0, helpers_1.updateButtonUrls)(hubtypeContent, 'elements', this.getContent);
|
|
83
93
|
await (0, helpers_1.updateButtonUrls)(hubtypeContent, 'buttons', this.getContent);
|
|
84
|
-
const content =
|
|
85
|
-
|
|
86
|
-
content.buttons.forEach(async (button) => {
|
|
87
|
-
if (button.payload) {
|
|
88
|
-
const contentButton = await this.getContent(button.payload);
|
|
89
|
-
if ((contentButton === null || contentButton === void 0 ? void 0 : contentButton.type) === flow_builder_models_1.NodeType.PAYLOAD) {
|
|
90
|
-
button.payload = contentButton.content.payload;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
94
|
+
const content = this.getFlowContent(hubtypeContent, locale);
|
|
95
|
+
this.replaceButtonPayload(content);
|
|
95
96
|
if (hubtypeContent.type === flow_builder_models_1.NodeType.FUNCTION) {
|
|
96
97
|
const targetId = await this.callFunction(hubtypeContent, locale);
|
|
97
98
|
return this.getContents(targetId, locale, contents);
|
|
@@ -107,6 +108,18 @@ class BotonicPluginFlowBuilder {
|
|
|
107
108
|
// return this.getContents(function result_mapping target, locale, contents)
|
|
108
109
|
return { contents, handoffNode: isHandoff && hubtypeContent };
|
|
109
110
|
}
|
|
111
|
+
async replaceButtonPayload(content) {
|
|
112
|
+
if (content && 'buttons' in content) {
|
|
113
|
+
for (const button of content.buttons) {
|
|
114
|
+
if (button.payload) {
|
|
115
|
+
const contentButton = await this.getContent(button.payload);
|
|
116
|
+
if ((contentButton === null || contentButton === void 0 ? void 0 : contentButton.type) === flow_builder_models_1.NodeType.PAYLOAD) {
|
|
117
|
+
button.payload = contentButton.content.payload;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
110
123
|
async getPayloadByIntent(input, locale) {
|
|
111
124
|
var _a;
|
|
112
125
|
try {
|
|
@@ -182,6 +195,5 @@ class BotonicPluginFlowBuilder {
|
|
|
182
195
|
}
|
|
183
196
|
}
|
|
184
197
|
exports.default = BotonicPluginFlowBuilder;
|
|
185
|
-
|
|
186
|
-
Object.defineProperty(exports, "FlowBuilderAction", { enumerable: true, get: function () { return action_1.FlowBuilderAction; } });
|
|
198
|
+
tslib_1.__exportStar(require("./action"), exports);
|
|
187
199
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/action.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { ActionRequest } from '@botonic/react';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
content?: FlowContent[];
|
|
6
|
-
isHandoff?: boolean;
|
|
7
|
-
};
|
|
8
|
-
export declare class FlowBuilderAction extends React.Component<FlowBuilderActionProps> {
|
|
9
|
-
static contextType: React.Context<import("@botonic/react").RequestContextInterface>;
|
|
3
|
+
export declare class FlowBuilderAction extends React.Component {
|
|
4
|
+
static contextType: any;
|
|
10
5
|
static botonicInit(request: ActionRequest): Promise<any>;
|
|
11
6
|
render(): JSX.Element | JSX.Element[];
|
|
12
7
|
}
|
|
13
|
-
export {
|
|
8
|
+
export declare class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
9
|
+
render(): JSX.Element | JSX.Element[];
|
|
10
|
+
}
|
package/lib/esm/action.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RequestContext } from '@botonic/react';
|
|
1
|
+
import { Multichannel, RequestContext } from '@botonic/react';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { doHandoff } from './handoff';
|
|
4
4
|
import { getFlowBuilderPlugin } from './helpers';
|
|
@@ -36,4 +36,13 @@ export class FlowBuilderAction extends React.Component {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
FlowBuilderAction.contextType = RequestContext;
|
|
39
|
+
export class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
40
|
+
render() {
|
|
41
|
+
// @ts-ignore
|
|
42
|
+
const { contents, handoffNode } = this.props;
|
|
43
|
+
return (
|
|
44
|
+
//@ts-ignore
|
|
45
|
+
React.createElement(Multichannel, { text: { buttonsAsText: false } }, contents.map(content => content.toBotonic(content.id))));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
39
48
|
//# sourceMappingURL=action.js.map
|
package/lib/esm/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAOhD,IAAI,wBAAwB,GAAG,KAAK,CAAA;AACpC,MAAM,OAAO,iBAAkB,SAAQ,KAAK,CAAC,SAAS;IAGpD,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAsB;QAC7C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACrC,IAAI,eAAe,GAAuB,OAAO,CAAA;QACjD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACpD,eAAe,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,CAAA;SACvD;QACD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,kBAAkB,CAC9D,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAA;YACD,IAAI,aAAa;gBAAE,eAAe,GAAG,aAAa,CAAA;YAClD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAChE,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAA;YACD,IAAI,cAAc;gBAAE,eAAe,GAAG,cAAc,CAAA;SACrD;QACD,IAAI,CAAC,eAAe,EAAE;YACpB,eAAe,GAAG,MAAM,iBAAiB,CAAC,aAAa,CACrD,wBAAwB,CACzB,CAAA;YACD,wBAAwB,GAAG,CAAC,wBAAwB,CAAA;SACrD;QAED,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,iBAAiB,CAAC,WAAW,CACnE,eAAe,EACf,MAAM,CACP,CAAA;QAED,IAAI,WAAW;YAAE,MAAM,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;QAE9D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;IAClC,CAAC;IAED,MAAM;QACJ,aAAa;QACb,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5C,OAAO,QAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IAChE,CAAC;;AA3CM,6BAAW,GAAQ,cAAc,CAAA;AA8C1C,MAAM,OAAO,6BAA8B,SAAQ,iBAAiB;IAClE,MAAM;QACJ,aAAa;QACb,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC5C,OAAO;QACL,YAAY;QACZ,oBAAC,YAAY,IAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,IACzC,QAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAC3C,CAChB,CAAA;IACH,CAAC;CACF"}
|
|
@@ -103,10 +103,9 @@ export interface QueueLocale {
|
|
|
103
103
|
locale: string;
|
|
104
104
|
}
|
|
105
105
|
export interface HandoffNodeContent {
|
|
106
|
-
message: TextLocale[];
|
|
107
|
-
fail_message: TextLocale[];
|
|
108
106
|
queue: QueueLocale[];
|
|
109
107
|
payload: PayloadLocale[];
|
|
108
|
+
has_auto_assign: boolean;
|
|
110
109
|
}
|
|
111
110
|
export interface HandoffNode extends Node {
|
|
112
111
|
type: NodeType.HANDOFF;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-builder-models.js","sourceRoot":"","sources":["../../src/flow-builder-models.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flow-builder-models.js","sourceRoot":"","sources":["../../src/flow-builder-models.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,uBAAW,CAAA;IACX,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,iCAAqB,CAAA;IACrB,2BAAe,CAAA;AACjB,CAAC,EAbW,QAAQ,KAAR,QAAQ,QAanB;AA6BD,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,0CAA2B,CAAA;AAC7B,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
|
package/lib/esm/handoff.js
CHANGED
|
@@ -10,6 +10,9 @@ export async function doHandoff(request, locale, handoffNode) {
|
|
|
10
10
|
const onFinishPayload = await getOnFinishPayload(handoffNode, locale, request);
|
|
11
11
|
if (onFinishPayload)
|
|
12
12
|
handOffBuilder.withOnFinishPayload(onFinishPayload);
|
|
13
|
+
if (handoffNode.content.has_auto_assign) {
|
|
14
|
+
handOffBuilder.withAutoAssignOnWaiting(true);
|
|
15
|
+
}
|
|
13
16
|
// TODO: Retrieve params from FlowBuilder
|
|
14
17
|
// const handoffParams = {
|
|
15
18
|
// agentEmail: 'test@gmail.com',
|
package/lib/esm/handoff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAsB,EACtB,MAAc,EACd,WAAwB;IAExB,aAAa;IACb,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAA;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAC/D,IAAI,UAAU;QAAE,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAEvD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9E,IAAI,eAAe;QAAE,cAAc,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAEhD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAsB,EACtB,MAAc,EACd,WAAwB;IAExB,aAAa;IACb,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAA;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAA;IAC/D,IAAI,UAAU;QAAE,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IAEvD,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9E,IAAI,eAAe;QAAE,cAAc,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAA;IACxE,IAAI,WAAW,CAAC,OAAO,CAAC,eAAe,EAAE;QACvC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;KAC7C;IAED,yCAAyC;IACzC,0BAA0B;IAC1B,kCAAkC;IAClC,4EAA4E;IAC5E,IAAI;IAEJ,4BAA4B;IAC5B,gDAAgD;IAChD,IAAI;IAEJ,kCAAkC;IAClC,4DAA4D;IAC5D,IAAI;IAEJ,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;AAChC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,WAAwB,EACxB,MAAc,EACd,OAAsB;;IAEtB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAE/D,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CACjE,MAAA,WAAW,CAAC,MAAM,0CAAE,EAAE,CACvB,CAAA;IACD,IAAI,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,EAAE;QAAE,OAAO,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,EAAE,CAAA;IAEvD,MAAM,SAAS,GAAG,MAAA,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAChD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACrC,0CAAE,EAAE,CAAA;IAEL,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAA;IAEhC,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAEnE,OAAQ,aAA6B,CAAC,OAAO,CAAC,OAAO,CAAA;AACvD,CAAC"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
15
15
|
pre(request: PluginPreRequest): Promise<void>;
|
|
16
16
|
post(_request: PluginPostRequest): Promise<void>;
|
|
17
17
|
getContent(id: string): Promise<NodeComponent>;
|
|
18
|
+
getContentByCode(code: string): Promise<NodeComponent>;
|
|
18
19
|
getHandoffContent(handoffTargetId: string | undefined): Promise<HandoffNode | undefined>;
|
|
19
20
|
getFlowContent(hubtypeContent: NodeComponent, locale: string): FlowContent | undefined;
|
|
20
21
|
getStartId(): Promise<string>;
|
|
@@ -23,6 +24,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
23
24
|
contents: FlowContent[];
|
|
24
25
|
handoffNode: HandoffNode;
|
|
25
26
|
}>;
|
|
27
|
+
private replaceButtonPayload;
|
|
26
28
|
getPayloadByIntent(input: Input, locale: string): Promise<string | undefined>;
|
|
27
29
|
hasIntent(node: IntentNode, intent: string, locale: string): boolean;
|
|
28
30
|
hasMetConfidenceThreshold(node: IntentNode, predictedConfidence: number): boolean;
|
|
@@ -31,4 +33,4 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
31
33
|
containsAnyKeywords(input: string, keywords: string[]): boolean;
|
|
32
34
|
callFunction(functionNode: FunctionNode, locale: string): Promise<string>;
|
|
33
35
|
}
|
|
34
|
-
export
|
|
36
|
+
export * from './action';
|
package/lib/esm/index.js
CHANGED
|
@@ -33,6 +33,17 @@ export default class BotonicPluginFlowBuilder {
|
|
|
33
33
|
throw Error(`Node with id: '${id}' not found`);
|
|
34
34
|
return content;
|
|
35
35
|
}
|
|
36
|
+
async getContentByCode(code) {
|
|
37
|
+
const flow = await this.flow;
|
|
38
|
+
const content = flow.nodes.find(node => {
|
|
39
|
+
if ('code' in node)
|
|
40
|
+
return node.code === code;
|
|
41
|
+
return undefined;
|
|
42
|
+
});
|
|
43
|
+
if (!content)
|
|
44
|
+
throw Error(`Node with code: '${code}' not found`);
|
|
45
|
+
return content;
|
|
46
|
+
}
|
|
36
47
|
async getHandoffContent(handoffTargetId) {
|
|
37
48
|
if (!handoffTargetId)
|
|
38
49
|
return undefined;
|
|
@@ -77,17 +88,8 @@ export default class BotonicPluginFlowBuilder {
|
|
|
77
88
|
// TODO: Create function to populate these buttons
|
|
78
89
|
await updateButtonUrls(hubtypeContent, 'elements', this.getContent);
|
|
79
90
|
await updateButtonUrls(hubtypeContent, 'buttons', this.getContent);
|
|
80
|
-
const content =
|
|
81
|
-
|
|
82
|
-
content.buttons.forEach(async (button) => {
|
|
83
|
-
if (button.payload) {
|
|
84
|
-
const contentButton = await this.getContent(button.payload);
|
|
85
|
-
if ((contentButton === null || contentButton === void 0 ? void 0 : contentButton.type) === NodeType.PAYLOAD) {
|
|
86
|
-
button.payload = contentButton.content.payload;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
+
const content = this.getFlowContent(hubtypeContent, locale);
|
|
92
|
+
this.replaceButtonPayload(content);
|
|
91
93
|
if (hubtypeContent.type === NodeType.FUNCTION) {
|
|
92
94
|
const targetId = await this.callFunction(hubtypeContent, locale);
|
|
93
95
|
return this.getContents(targetId, locale, contents);
|
|
@@ -103,6 +105,18 @@ export default class BotonicPluginFlowBuilder {
|
|
|
103
105
|
// return this.getContents(function result_mapping target, locale, contents)
|
|
104
106
|
return { contents, handoffNode: isHandoff && hubtypeContent };
|
|
105
107
|
}
|
|
108
|
+
async replaceButtonPayload(content) {
|
|
109
|
+
if (content && 'buttons' in content) {
|
|
110
|
+
for (const button of content.buttons) {
|
|
111
|
+
if (button.payload) {
|
|
112
|
+
const contentButton = await this.getContent(button.payload);
|
|
113
|
+
if ((contentButton === null || contentButton === void 0 ? void 0 : contentButton.type) === NodeType.PAYLOAD) {
|
|
114
|
+
button.payload = contentButton.content.payload;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
106
120
|
async getPayloadByIntent(input, locale) {
|
|
107
121
|
var _a;
|
|
108
122
|
try {
|
|
@@ -177,5 +191,5 @@ export default class BotonicPluginFlowBuilder {
|
|
|
177
191
|
return result.target.id;
|
|
178
192
|
}
|
|
179
193
|
}
|
|
180
|
-
export
|
|
194
|
+
export * from './action';
|
|
181
195
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/plugin-flow-builder",
|
|
3
|
-
"version": "0.22.0-
|
|
3
|
+
"version": "0.22.0-beta.3",
|
|
4
4
|
"main": "./lib/cjs/index.js",
|
|
5
5
|
"module": "./lib/esm/index.js",
|
|
6
6
|
"description": "Use Flow Builder to show your contents",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
],
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@types/minipass": "^3.3.5",
|
|
33
|
-
"@types/node": "^
|
|
34
|
-
"@types/react": "^
|
|
33
|
+
"@types/node": "^16.0.0",
|
|
34
|
+
"@types/react": "^16.0.0",
|
|
35
35
|
"typescript": "^5.0.4"
|
|
36
36
|
},
|
|
37
37
|
"keywords": [
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"@babel/runtime": "^7.21.0",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
51
|
+
"@botonic/react": "^0.22.0-beta.3",
|
|
52
|
+
"axios": "^1.3.6"
|
|
53
53
|
}
|
|
54
54
|
}
|
package/src/.DS_Store
ADDED
|
Binary file
|
package/src/action.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionRequest, RequestContext } from '@botonic/react'
|
|
1
|
+
import { ActionRequest, Multichannel, RequestContext } from '@botonic/react'
|
|
2
2
|
import React from 'react'
|
|
3
3
|
|
|
4
4
|
import { FlowContent } from './content-fields'
|
|
@@ -11,8 +11,8 @@ type FlowBuilderActionProps = {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
let alternateFallbackMessage = false
|
|
14
|
-
export class FlowBuilderAction extends React.Component
|
|
15
|
-
static contextType = RequestContext
|
|
14
|
+
export class FlowBuilderAction extends React.Component {
|
|
15
|
+
static contextType: any = RequestContext
|
|
16
16
|
|
|
17
17
|
static async botonicInit(request: ActionRequest): Promise<any> {
|
|
18
18
|
const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
|
|
@@ -57,3 +57,16 @@ export class FlowBuilderAction extends React.Component<FlowBuilderActionProps> {
|
|
|
57
57
|
return contents!.map(content => content.toBotonic(content.id))
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
+
|
|
61
|
+
export class FlowBuilderMultichannelAction extends FlowBuilderAction {
|
|
62
|
+
render(): JSX.Element | JSX.Element[] {
|
|
63
|
+
// @ts-ignore
|
|
64
|
+
const { contents, handoffNode } = this.props
|
|
65
|
+
return (
|
|
66
|
+
//@ts-ignore
|
|
67
|
+
<Multichannel text={{ buttonsAsText: false }}>
|
|
68
|
+
{contents!.map(content => content.toBotonic(content.id))}
|
|
69
|
+
</Multichannel>
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
1
2
|
export interface FlowBuilderData {
|
|
2
3
|
version: string
|
|
3
4
|
name: string
|
|
@@ -123,10 +124,9 @@ export interface QueueLocale {
|
|
|
123
124
|
}
|
|
124
125
|
|
|
125
126
|
export interface HandoffNodeContent {
|
|
126
|
-
message: TextLocale[]
|
|
127
|
-
fail_message: TextLocale[]
|
|
128
127
|
queue: QueueLocale[]
|
|
129
128
|
payload: PayloadLocale[]
|
|
129
|
+
has_auto_assign: boolean
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
export interface HandoffNode extends Node {
|
package/src/handoff.ts
CHANGED
|
@@ -17,6 +17,9 @@ export async function doHandoff(
|
|
|
17
17
|
|
|
18
18
|
const onFinishPayload = await getOnFinishPayload(handoffNode, locale, request)
|
|
19
19
|
if (onFinishPayload) handOffBuilder.withOnFinishPayload(onFinishPayload)
|
|
20
|
+
if (handoffNode.content.has_auto_assign) {
|
|
21
|
+
handOffBuilder.withAutoAssignOnWaiting(true)
|
|
22
|
+
}
|
|
20
23
|
|
|
21
24
|
// TODO: Retrieve params from FlowBuilder
|
|
22
25
|
// const handoffParams = {
|
package/src/index.ts
CHANGED
|
@@ -68,6 +68,16 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
68
68
|
return content
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
async getContentByCode(code: string): Promise<NodeComponent> {
|
|
72
|
+
const flow = await this.flow
|
|
73
|
+
const content = flow.nodes.find(node => {
|
|
74
|
+
if ('code' in node) return node.code === code
|
|
75
|
+
return undefined
|
|
76
|
+
})
|
|
77
|
+
if (!content) throw Error(`Node with code: '${code}' not found`)
|
|
78
|
+
return content
|
|
79
|
+
}
|
|
80
|
+
|
|
71
81
|
async getHandoffContent(
|
|
72
82
|
handoffTargetId: string | undefined
|
|
73
83
|
): Promise<HandoffNode | undefined> {
|
|
@@ -124,18 +134,9 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
124
134
|
// TODO: Create function to populate these buttons
|
|
125
135
|
await updateButtonUrls(hubtypeContent, 'elements', this.getContent)
|
|
126
136
|
await updateButtonUrls(hubtypeContent, 'buttons', this.getContent)
|
|
127
|
-
const content =
|
|
137
|
+
const content = this.getFlowContent(hubtypeContent, locale)
|
|
128
138
|
|
|
129
|
-
|
|
130
|
-
content.buttons.forEach(async button => {
|
|
131
|
-
if (button.payload) {
|
|
132
|
-
const contentButton = await this.getContent(button.payload)
|
|
133
|
-
if (contentButton?.type === NodeType.PAYLOAD) {
|
|
134
|
-
button.payload = contentButton.content.payload
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
})
|
|
138
|
-
}
|
|
139
|
+
this.replaceButtonPayload(content)
|
|
139
140
|
|
|
140
141
|
if (hubtypeContent.type === NodeType.FUNCTION) {
|
|
141
142
|
const targetId = await this.callFunction(hubtypeContent, locale)
|
|
@@ -152,6 +153,19 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
152
153
|
return { contents, handoffNode: isHandoff && hubtypeContent }
|
|
153
154
|
}
|
|
154
155
|
|
|
156
|
+
private async replaceButtonPayload(content: FlowContent | undefined) {
|
|
157
|
+
if (content && 'buttons' in content) {
|
|
158
|
+
for (const button of content.buttons) {
|
|
159
|
+
if (button.payload) {
|
|
160
|
+
const contentButton = await this.getContent(button.payload)
|
|
161
|
+
if (contentButton?.type === NodeType.PAYLOAD) {
|
|
162
|
+
button.payload = contentButton.content.payload
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
155
169
|
async getPayloadByIntent(
|
|
156
170
|
input: Input,
|
|
157
171
|
locale: string
|
|
@@ -266,4 +280,4 @@ export default class BotonicPluginFlowBuilder implements Plugin {
|
|
|
266
280
|
}
|
|
267
281
|
}
|
|
268
282
|
|
|
269
|
-
export
|
|
283
|
+
export * from './action'
|