@botonic/plugin-flow-builder 2.29.0 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/package.json +3 -3
  3. package/src/lib/action/ai-agent-from-user-input.d.ts +3 -0
  4. package/src/lib/action/ai-agent-from-user-input.js +31 -0
  5. package/src/lib/action/ai-agent-from-user-input.js.map +1 -0
  6. package/src/lib/action/context.d.ts +11 -0
  7. package/src/lib/action/context.js +14 -0
  8. package/src/lib/action/context.js.map +1 -0
  9. package/src/lib/action/fallback.d.ts +1 -1
  10. package/src/lib/action/first-interaction.d.ts +1 -1
  11. package/src/lib/action/first-interaction.js +4 -3
  12. package/src/lib/action/first-interaction.js.map +1 -1
  13. package/src/lib/action/get-contents.d.ts +3 -0
  14. package/src/lib/action/get-contents.js +46 -0
  15. package/src/lib/action/get-contents.js.map +1 -0
  16. package/src/lib/action/index.d.ts +1 -11
  17. package/src/lib/action/index.js +17 -94
  18. package/src/lib/action/index.js.map +1 -1
  19. package/src/lib/action/knowledge-bases.d.ts +1 -1
  20. package/src/lib/action/knowledge-bases.js +2 -2
  21. package/src/lib/action/knowledge-bases.js.map +1 -1
  22. package/src/lib/action/payload.d.ts +1 -1
  23. package/src/lib/api.d.ts +0 -3
  24. package/src/lib/api.js +4 -29
  25. package/src/lib/api.js.map +1 -1
  26. package/src/lib/constants.d.ts +0 -1
  27. package/src/lib/constants.js +1 -2
  28. package/src/lib/constants.js.map +1 -1
  29. package/src/lib/content-fields/content-fields-base.d.ts +3 -0
  30. package/src/lib/content-fields/content-fields-base.js +24 -12
  31. package/src/lib/content-fields/content-fields-base.js.map +1 -1
  32. package/src/lib/content-fields/flow-ai-agent-base.d.ts +23 -0
  33. package/src/lib/content-fields/flow-ai-agent-base.js +93 -0
  34. package/src/lib/content-fields/flow-ai-agent-base.js.map +1 -0
  35. package/src/lib/content-fields/flow-ai-agent-router.d.ts +22 -0
  36. package/src/lib/content-fields/flow-ai-agent-router.js +137 -0
  37. package/src/lib/content-fields/flow-ai-agent-router.js.map +1 -0
  38. package/src/lib/content-fields/flow-ai-agent.d.ts +8 -11
  39. package/src/lib/content-fields/flow-ai-agent.js +44 -25
  40. package/src/lib/content-fields/flow-ai-agent.js.map +1 -1
  41. package/src/lib/content-fields/flow-bot-action.d.ts +1 -0
  42. package/src/lib/content-fields/flow-bot-action.js +7 -0
  43. package/src/lib/content-fields/flow-bot-action.js.map +1 -1
  44. package/src/lib/content-fields/flow-button.d.ts +2 -0
  45. package/src/lib/content-fields/flow-button.js +6 -0
  46. package/src/lib/content-fields/flow-button.js.map +1 -1
  47. package/src/lib/content-fields/flow-capture-user-input.d.ts +2 -1
  48. package/src/lib/content-fields/flow-capture-user-input.js +7 -3
  49. package/src/lib/content-fields/flow-capture-user-input.js.map +1 -1
  50. package/src/lib/content-fields/flow-carousel.d.ts +2 -37
  51. package/src/lib/content-fields/flow-carousel.js +24 -140
  52. package/src/lib/content-fields/flow-carousel.js.map +1 -1
  53. package/src/lib/content-fields/flow-channel-conditional.d.ts +2 -1
  54. package/src/lib/content-fields/flow-channel-conditional.js +7 -1
  55. package/src/lib/content-fields/flow-channel-conditional.js.map +1 -1
  56. package/src/lib/content-fields/flow-country-conditional.d.ts +2 -1
  57. package/src/lib/content-fields/flow-country-conditional.js +7 -1
  58. package/src/lib/content-fields/flow-country-conditional.js.map +1 -1
  59. package/src/lib/content-fields/flow-custom-conditional.d.ts +2 -1
  60. package/src/lib/content-fields/flow-custom-conditional.js +7 -1
  61. package/src/lib/content-fields/flow-custom-conditional.js.map +1 -1
  62. package/src/lib/content-fields/flow-element.d.ts +1 -0
  63. package/src/lib/content-fields/flow-element.js +6 -0
  64. package/src/lib/content-fields/flow-element.js.map +1 -1
  65. package/src/lib/content-fields/flow-go-to-flow.d.ts +2 -1
  66. package/src/lib/content-fields/flow-go-to-flow.js +7 -1
  67. package/src/lib/content-fields/flow-go-to-flow.js.map +1 -1
  68. package/src/lib/content-fields/flow-handoff.d.ts +3 -2
  69. package/src/lib/content-fields/flow-handoff.js +17 -10
  70. package/src/lib/content-fields/flow-handoff.js.map +1 -1
  71. package/src/lib/content-fields/flow-image.d.ts +2 -1
  72. package/src/lib/content-fields/flow-image.js +7 -1
  73. package/src/lib/content-fields/flow-image.js.map +1 -1
  74. package/src/lib/content-fields/flow-knowledge-base.d.ts +3 -2
  75. package/src/lib/content-fields/flow-knowledge-base.js +8 -6
  76. package/src/lib/content-fields/flow-knowledge-base.js.map +1 -1
  77. package/src/lib/content-fields/flow-queue-status-conditional.d.ts +2 -1
  78. package/src/lib/content-fields/flow-queue-status-conditional.js +7 -1
  79. package/src/lib/content-fields/flow-queue-status-conditional.js.map +1 -1
  80. package/src/lib/content-fields/flow-rating.d.ts +2 -1
  81. package/src/lib/content-fields/flow-rating.js +21 -38
  82. package/src/lib/content-fields/flow-rating.js.map +1 -1
  83. package/src/lib/content-fields/flow-text.d.ts +3 -2
  84. package/src/lib/content-fields/flow-text.js +20 -8
  85. package/src/lib/content-fields/flow-text.js.map +1 -1
  86. package/src/lib/content-fields/flow-video.d.ts +2 -1
  87. package/src/lib/content-fields/flow-video.js +7 -1
  88. package/src/lib/content-fields/flow-video.js.map +1 -1
  89. package/src/lib/content-fields/flow-webview.d.ts +1 -0
  90. package/src/lib/content-fields/flow-webview.js +6 -0
  91. package/src/lib/content-fields/flow-webview.js.map +1 -1
  92. package/src/lib/content-fields/flow-whatsapp-cta-url-button.d.ts +1 -0
  93. package/src/lib/content-fields/flow-whatsapp-cta-url-button.js +6 -0
  94. package/src/lib/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
  95. package/src/lib/content-fields/flow-whatsapp-template.d.ts +3 -1
  96. package/src/lib/content-fields/flow-whatsapp-template.js +26 -20
  97. package/src/lib/content-fields/flow-whatsapp-template.js.map +1 -1
  98. package/src/lib/content-fields/hubtype-fields/ai-agent-router.d.ts +21 -0
  99. package/src/lib/content-fields/hubtype-fields/ai-agent-router.js +2 -0
  100. package/src/lib/content-fields/hubtype-fields/ai-agent-router.js.map +1 -0
  101. package/src/lib/content-fields/hubtype-fields/ai-agent.d.ts +3 -0
  102. package/src/lib/content-fields/hubtype-fields/index.d.ts +1 -0
  103. package/src/lib/content-fields/hubtype-fields/index.js +1 -0
  104. package/src/lib/content-fields/hubtype-fields/index.js.map +1 -1
  105. package/src/lib/content-fields/hubtype-fields/node-types.d.ts +1 -0
  106. package/src/lib/content-fields/hubtype-fields/node-types.js +1 -0
  107. package/src/lib/content-fields/hubtype-fields/node-types.js.map +1 -1
  108. package/src/lib/content-fields/hubtype-fields/nodes.d.ts +2 -1
  109. package/src/lib/content-fields/hubtype-fields/whatsapp-template.d.ts +22 -19
  110. package/src/lib/content-fields/index.d.ts +3 -2
  111. package/src/lib/content-fields/index.js +2 -1
  112. package/src/lib/content-fields/index.js.map +1 -1
  113. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +2 -2
  114. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +12 -6
  115. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
  116. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +2 -2
  117. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +11 -6
  118. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
  119. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +1 -0
  120. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +6 -11
  121. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
  122. package/src/lib/content-fields/whatsapp-button-list/index.d.ts +3 -0
  123. package/src/lib/content-fields/whatsapp-button-list/index.js +4 -0
  124. package/src/lib/content-fields/whatsapp-button-list/index.js.map +1 -0
  125. package/src/lib/filters/index.d.ts +2 -2
  126. package/src/lib/flow-factory.js +4 -2
  127. package/src/lib/flow-factory.js.map +1 -1
  128. package/src/lib/index.d.ts +2 -1
  129. package/src/lib/index.js +9 -3
  130. package/src/lib/index.js.map +1 -1
  131. package/src/lib/services/capture-user-input-client.d.ts +1 -1
  132. package/src/lib/services/capture-user-input-client.js +2 -2
  133. package/src/lib/services/capture-user-input-client.js.map +1 -1
  134. package/src/lib/services/smart-intent-client.js +2 -2
  135. package/src/lib/services/smart-intent-client.js.map +1 -1
  136. package/src/lib/tests/helpers/flows/whatsapp-template.js +211 -151
  137. package/src/lib/tests/helpers/flows/whatsapp-template.js.map +1 -1
  138. package/src/lib/tests/helpers/utils.d.ts +3 -2
  139. package/src/lib/tests/helpers/utils.js +4 -2
  140. package/src/lib/tests/helpers/utils.js.map +1 -1
  141. package/src/lib/tracking.d.ts +1 -1
  142. package/src/lib/tracking.js +1 -1
  143. package/src/lib/tracking.js.map +1 -1
  144. package/src/lib/types.d.ts +2 -1
  145. package/src/lib/user-input/capture-user-input.d.ts +2 -1
  146. package/src/lib/user-input/capture-user-input.js +10 -9
  147. package/src/lib/user-input/capture-user-input.js.map +1 -1
  148. package/src/lib/user-input/index.js +7 -8
  149. package/src/lib/user-input/index.js.map +1 -1
  150. package/src/lib/user-input/keyword.d.ts +4 -2
  151. package/src/lib/user-input/keyword.js +6 -5
  152. package/src/lib/user-input/keyword.js.map +1 -1
  153. package/src/lib/user-input/smart-intent.d.ts +2 -1
  154. package/src/lib/user-input/smart-intent.js +5 -5
  155. package/src/lib/user-input/smart-intent.js.map +1 -1
  156. package/src/lib/utils/ai-agent.d.ts +22 -0
  157. package/src/lib/utils/ai-agent.js +188 -0
  158. package/src/lib/utils/ai-agent.js.map +1 -0
  159. package/src/lib/utils/flow-locale.d.ts +22 -0
  160. package/src/lib/utils/flow-locale.js +80 -0
  161. package/src/lib/utils/flow-locale.js.map +1 -0
  162. package/src/lib/utils/get-flow-builder-plugin.d.ts +3 -0
  163. package/src/lib/{helpers.js → utils/get-flow-builder-plugin.js} +1 -1
  164. package/src/lib/utils/get-flow-builder-plugin.js.map +1 -0
  165. package/src/lib/utils/index.d.ts +4 -0
  166. package/src/lib/utils/index.js +5 -0
  167. package/src/lib/utils/index.js.map +1 -0
  168. package/src/lib/{utils.d.ts → utils/input.d.ts} +3 -1
  169. package/src/lib/utils/input.js +32 -0
  170. package/src/lib/utils/input.js.map +1 -0
  171. package/src/lib/action/ai-agent.d.ts +0 -3
  172. package/src/lib/action/ai-agent.js +0 -67
  173. package/src/lib/action/ai-agent.js.map +0 -1
  174. package/src/lib/helpers.d.ts +0 -3
  175. package/src/lib/helpers.js.map +0 -1
  176. package/src/lib/utils.js +0 -16
  177. package/src/lib/utils.js.map +0 -1
@@ -1,9 +1,23 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { ACCESS_TOKEN_VARIABLE_KEY, VARIABLE_PATTERN_GLOBAL, } from '../constants';
3
+ import { ContentFilterExecutor } from '../filters';
4
+ import { getFlowBuilderPlugin } from '../utils/get-flow-builder-plugin';
2
5
  export class ContentFieldsBase {
3
6
  constructor(id) {
4
7
  this.id = id;
5
8
  this.code = '';
6
9
  }
10
+ filterContent(botonicContext, content) {
11
+ return __awaiter(this, void 0, void 0, function* () {
12
+ const flowBuilderPlugin = getFlowBuilderPlugin(botonicContext.plugins);
13
+ const contentFilters = flowBuilderPlugin.contentFilters;
14
+ const contentFilterExecutor = new ContentFilterExecutor({
15
+ filters: contentFilters,
16
+ });
17
+ const filteredContent = yield contentFilterExecutor.filter(botonicContext, content);
18
+ return filteredContent;
19
+ });
20
+ }
7
21
  static getTextByLocale(locale, text) {
8
22
  var _a;
9
23
  const result = text.find(t => t.locale === locale);
@@ -28,19 +42,17 @@ export class ContentFieldsBase {
28
42
  return queues.find(queue => queue.locale === locale);
29
43
  }
30
44
  replaceVariables(text, botonicContext) {
31
- const matches = text.match(VARIABLE_PATTERN_GLOBAL);
32
- let replacedText = text;
33
- if (matches && botonicContext) {
34
- matches.forEach(match => {
35
- // remove \\ ( escape for _ ) added by text node with markdown
36
- const keyPath = match.slice(1, -1).replaceAll('\\', '');
37
- const botVariable = keyPath.endsWith(ACCESS_TOKEN_VARIABLE_KEY)
38
- ? match
39
- : this.getValueFromKeyPath(botonicContext, keyPath);
40
- replacedText = replacedText.replace(match, this.isValidType(botVariable) ? botVariable : match);
41
- });
45
+ if (!botonicContext) {
46
+ return text;
42
47
  }
43
- return replacedText;
48
+ return text.replace(VARIABLE_PATTERN_GLOBAL, match => {
49
+ // remove \\ ( escape for _ ) added by text node with markdown
50
+ const keyPath = match.slice(1, -1).replaceAll('\\', '');
51
+ const botVariable = keyPath.endsWith(ACCESS_TOKEN_VARIABLE_KEY)
52
+ ? match
53
+ : this.getValueFromKeyPath(botonicContext, keyPath);
54
+ return this.isValidType(botVariable) ? String(botVariable) : match;
55
+ });
44
56
  }
45
57
  getValueFromKeyPath(botonicContext, keyPath) {
46
58
  if (keyPath.startsWith('input.')) {
@@ -1 +1 @@
1
- {"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/content-fields-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-fields-base.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/content-fields-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { BotonicContext, BotServerMessage } from '@botonic/core';
2
+ import { type AgenticOutputMessage, type GuardrailRule, type HubtypeAssistantMessage, type InferenceResponse, VerbosityLevel } from '@botonic/shared';
3
+ import { ContentFieldsBase } from './content-fields-base';
4
+ import type { HtInputGuardrailRule } from './hubtype-fields';
5
+ import type { FlowContent } from './index';
6
+ export declare abstract class FlowAiAgentBase extends ContentFieldsBase {
7
+ name: string;
8
+ instructions: string;
9
+ model: string;
10
+ verbosity: VerbosityLevel;
11
+ inputGuardrailRules: HtInputGuardrailRule[];
12
+ aiAgentResponse?: InferenceResponse;
13
+ messages: AgenticOutputMessage[];
14
+ abstract getAIAgentResponse(botonicContext: BotonicContext, previousContents?: FlowContent[]): Promise<InferenceResponse | undefined>;
15
+ abstract trackAiAgentResponse(botonicContext: BotonicContext): Promise<void>;
16
+ resolveAIAgentResponse(botonicContext: BotonicContext, previousContents?: FlowContent[]): Promise<InferenceResponse | undefined>;
17
+ trackFlow(): Promise<void>;
18
+ getFlowContentsByContentId(botonicContext: BotonicContext, contentId: string): Promise<FlowContent[]>;
19
+ processContent(botonicContext: BotonicContext, previousContents?: FlowContent[]): Promise<void>;
20
+ toBotonic(botonicContext: BotonicContext): Promise<BotServerMessage[]>;
21
+ protected getPreviousHubtypeContents(previousContents?: FlowContent[]): HubtypeAssistantMessage[];
22
+ protected getActiveInputGuardrailRules(inputGuardrailRules: HtInputGuardrailRule[]): GuardrailRule[];
23
+ }
@@ -0,0 +1,93 @@
1
+ import { __awaiter } from "tslib";
2
+ import { OutputAiAgentMessageType, VerbosityLevel, } from '@botonic/shared';
3
+ import { getFlowBuilderPlugin, HubtypeAssistantContent } from '../utils';
4
+ import { ContentFieldsBase } from './content-fields-base';
5
+ import { FlowCarousel } from './flow-carousel';
6
+ import { FlowText } from './flow-text';
7
+ export class FlowAiAgentBase extends ContentFieldsBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.name = '';
11
+ this.instructions = '';
12
+ this.model = '';
13
+ this.verbosity = VerbosityLevel.Medium;
14
+ this.inputGuardrailRules = [];
15
+ this.messages = [];
16
+ }
17
+ resolveAIAgentResponse(botonicContext, previousContents) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ const aiAgentResponse = yield this.getAIAgentResponse(botonicContext, previousContents);
20
+ if (aiAgentResponse) {
21
+ this.aiAgentResponse = aiAgentResponse;
22
+ yield this.trackAiAgentResponse(botonicContext);
23
+ this.messages = aiAgentResponse.messages;
24
+ }
25
+ return aiAgentResponse;
26
+ });
27
+ }
28
+ trackFlow() {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ return;
31
+ });
32
+ }
33
+ getFlowContentsByContentId(botonicContext, contentId) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ const flowBuilderPlugin = getFlowBuilderPlugin(botonicContext.plugins);
36
+ const cmsApi = flowBuilderPlugin.cmsApi;
37
+ const node = cmsApi.getNodeByContentID(contentId);
38
+ const flowContents = yield flowBuilderPlugin.getContentsByNode(node);
39
+ return flowContents;
40
+ });
41
+ }
42
+ processContent(botonicContext, previousContents) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ if (this.messages.length === 0) {
45
+ yield this.resolveAIAgentResponse(botonicContext, previousContents);
46
+ }
47
+ yield this.filterContent(botonicContext, this);
48
+ });
49
+ }
50
+ toBotonic(botonicContext) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const botonicMessages = [];
53
+ for (const message of this.messages) {
54
+ if (message.type === OutputAiAgentMessageType.Text ||
55
+ message.type === OutputAiAgentMessageType.TextWithButtons ||
56
+ message.type === OutputAiAgentMessageType.BotExecutor) {
57
+ botonicMessages.push(FlowText.fromAIAgent(this.id, message));
58
+ }
59
+ if (message.type === OutputAiAgentMessageType.Carousel) {
60
+ botonicMessages.push(yield FlowCarousel.fromAIAgent(this.id, message, botonicContext));
61
+ }
62
+ if (message.type === OutputAiAgentMessageType.FlowBuilderContent) {
63
+ const flowContents = yield this.getFlowContentsByContentId(botonicContext, message.contentId);
64
+ for (const content of flowContents) {
65
+ yield content.processContent(botonicContext);
66
+ const flowContents = yield content.toBotonic(botonicContext);
67
+ if (Array.isArray(flowContents)) {
68
+ botonicMessages.push(...flowContents);
69
+ }
70
+ else if (flowContents) {
71
+ botonicMessages.push(flowContents);
72
+ }
73
+ }
74
+ }
75
+ }
76
+ return botonicMessages;
77
+ });
78
+ }
79
+ getPreviousHubtypeContents(previousContents) {
80
+ return ((previousContents === null || previousContents === void 0 ? void 0 : previousContents.map(content => ({
81
+ role: 'assistant',
82
+ content: HubtypeAssistantContent.adapt(content),
83
+ }))) || []);
84
+ }
85
+ getActiveInputGuardrailRules(inputGuardrailRules) {
86
+ var _a;
87
+ return (((_a = inputGuardrailRules === null || inputGuardrailRules === void 0 ? void 0 : inputGuardrailRules.filter(rule => rule.is_active)) === null || _a === void 0 ? void 0 : _a.map(rule => ({
88
+ name: rule.name,
89
+ description: rule.description,
90
+ }))) || []);
91
+ }
92
+ }
93
+ //# sourceMappingURL=flow-ai-agent-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-ai-agent-base.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/flow-ai-agent-base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { BotonicContext } from '@botonic/core';
2
+ import { InferenceResponse } from '@botonic/shared';
3
+ import { FlowAiAgent } from './flow-ai-agent';
4
+ import { FlowAiAgentBase } from './flow-ai-agent-base';
5
+ import { HtAiAgentRouterNode } from './hubtype-fields/ai-agent-router';
6
+ import { FlowContent } from './index';
7
+ interface AvailableSpecialistEntry {
8
+ agent: FlowAiAgent;
9
+ description: string;
10
+ name: string;
11
+ }
12
+ export declare class FlowAiAgentRouter extends FlowAiAgentBase {
13
+ availableSpecialists: AvailableSpecialistEntry[];
14
+ static fromHubtypeCMS(component: HtAiAgentRouterNode, botonicContext: BotonicContext): FlowAiAgentRouter;
15
+ private static getAvailableSpecialistsFromHubtypeCMS;
16
+ private static specialistAgentBaseName;
17
+ getAIAgentResponse(botonicContext: BotonicContext, previousContents?: FlowContent[]): Promise<InferenceResponse | undefined>;
18
+ trackAiAgentResponse(botonicContext: BotonicContext): Promise<void>;
19
+ private trackAIAgentRouterEvent;
20
+ private trackAIAgentSpecialistEvent;
21
+ }
22
+ export {};
@@ -0,0 +1,137 @@
1
+ import { __awaiter, __rest } from "tslib";
2
+ import { AiAgentType, EventAction, } from '@botonic/shared';
3
+ import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
4
+ import { getFlowBuilderPlugin } from '../utils';
5
+ import { FlowAiAgent } from './flow-ai-agent';
6
+ import { FlowAiAgentBase } from './flow-ai-agent-base';
7
+ export class FlowAiAgentRouter extends FlowAiAgentBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.availableSpecialists = [];
11
+ }
12
+ static fromHubtypeCMS(component, botonicContext) {
13
+ const newAiAgentRouter = new FlowAiAgentRouter(component.id);
14
+ newAiAgentRouter.code = component.code;
15
+ newAiAgentRouter.name = component.content.name;
16
+ newAiAgentRouter.instructions = newAiAgentRouter.replaceVariables(component.content.instructions, botonicContext);
17
+ newAiAgentRouter.model = component.content.model;
18
+ newAiAgentRouter.verbosity = component.content.verbosity;
19
+ newAiAgentRouter.inputGuardrailRules =
20
+ component.content.input_guardrail_rules || [];
21
+ newAiAgentRouter.availableSpecialists =
22
+ FlowAiAgentRouter.getAvailableSpecialistsFromHubtypeCMS(component, botonicContext);
23
+ newAiAgentRouter.followUp = component.follow_up;
24
+ return newAiAgentRouter;
25
+ }
26
+ static getAvailableSpecialistsFromHubtypeCMS(component, botonicContext) {
27
+ const flowBuilderPlugin = getFlowBuilderPlugin(botonicContext.plugins);
28
+ const cmsApi = flowBuilderPlugin.cmsApi;
29
+ return component.content.available_specialists.map((agentSlot, index) => {
30
+ const aiAgentSpecialistNode = cmsApi.getNodeById(agentSlot.target.id);
31
+ const specialist = FlowAiAgent.fromHubtypeCMS(aiAgentSpecialistNode);
32
+ const specialistName = FlowAiAgentRouter.specialistAgentBaseName(agentSlot.name, index);
33
+ const specialistDescription = agentSlot.description || `Transfer to ${specialistName}`;
34
+ return {
35
+ agent: specialist,
36
+ description: specialistDescription,
37
+ name: `transfer_to_${specialistName}`,
38
+ };
39
+ });
40
+ }
41
+ static specialistAgentBaseName(name, index) {
42
+ return (name === null || name === void 0 ? void 0 : name.trim().toLowerCase().replace(/ /g, '_')) || `ai_agent_${index}`;
43
+ }
44
+ getAIAgentResponse(botonicContext, previousContents) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ var _a;
47
+ const flowBuilderPlugin = getFlowBuilderPlugin(botonicContext.plugins);
48
+ const aiAgentResponse = yield ((_a = flowBuilderPlugin.getAiAgentResponse) === null || _a === void 0 ? void 0 : _a.call(flowBuilderPlugin, botonicContext, {
49
+ type: AiAgentType.Router,
50
+ name: this.name,
51
+ instructions: this.instructions,
52
+ model: this.model,
53
+ verbosity: this.verbosity,
54
+ specialists: this.availableSpecialists.map(({ agent, description, name }) => {
55
+ var _a, _b, _c;
56
+ return ({
57
+ type: AiAgentType.Specialist,
58
+ name,
59
+ description,
60
+ instructions: agent.instructions,
61
+ model: agent.model,
62
+ verbosity: agent.verbosity,
63
+ activeTools: (_a = agent.activeTools) !== null && _a !== void 0 ? _a : [],
64
+ inputGuardrailRules: this.getActiveInputGuardrailRules(agent.inputGuardrailRules),
65
+ sourceIds: (_c = (_b = agent.sources) === null || _b === void 0 ? void 0 : _b.map(s => s.id)) !== null && _c !== void 0 ? _c : [],
66
+ });
67
+ }),
68
+ inputGuardrailRules: this.getActiveInputGuardrailRules(this.inputGuardrailRules),
69
+ previousHubtypeMessages: this.getPreviousHubtypeContents(previousContents),
70
+ }));
71
+ return aiAgentResponse;
72
+ });
73
+ }
74
+ trackAiAgentResponse(botonicContext) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ var _a, _b;
77
+ const isTransferredToSpecialist = (_b = (_a = this.aiAgentResponse) === null || _a === void 0 ? void 0 : _a.isTransferredToSpecialist) !== null && _b !== void 0 ? _b : false;
78
+ yield this.trackAIAgentRouterEvent(botonicContext, isTransferredToSpecialist);
79
+ if (isTransferredToSpecialist) {
80
+ yield this.trackAIAgentSpecialistEvent(botonicContext);
81
+ }
82
+ });
83
+ }
84
+ trackAIAgentRouterEvent(botonicContext, isTransferredToSpecialist) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
87
+ const { flowThreadId, flowId, flowName, flowNodeId } = yield getCommonFlowContentEventArgsForContentId(botonicContext, this.id);
88
+ const routerEvent = {
89
+ action: EventAction.AiAgentRouter,
90
+ flowThreadId,
91
+ flowId,
92
+ flowName,
93
+ flowNodeId,
94
+ flowNodeContentId: this.name,
95
+ flowNodeIsMeaningful: true,
96
+ memoryLength: (_b = (_a = this.aiAgentResponse) === null || _a === void 0 ? void 0 : _a.memoryLength) !== null && _b !== void 0 ? _b : 0,
97
+ inputMessageId: botonicContext.input.messageId,
98
+ inputGuardrailsTriggered: (_d = (_c = this.aiAgentResponse) === null || _c === void 0 ? void 0 : _c.inputGuardrailsTriggered) !== null && _d !== void 0 ? _d : [],
99
+ outputGuardrailsTriggered: (_f = (_e = this.aiAgentResponse) === null || _e === void 0 ? void 0 : _e.outputGuardrailsTriggered) !== null && _f !== void 0 ? _f : [],
100
+ exit: (_h = (_g = this.aiAgentResponse) === null || _g === void 0 ? void 0 : _g.exit) !== null && _h !== void 0 ? _h : true,
101
+ error: (_k = (_j = this.aiAgentResponse) === null || _j === void 0 ? void 0 : _j.error) !== null && _k !== void 0 ? _k : false,
102
+ startingAgentName: ((_l = this.aiAgentResponse) === null || _l === void 0 ? void 0 : _l.startingAgentName) || this.name,
103
+ lastAgentName: ((_m = this.aiAgentResponse) === null || _m === void 0 ? void 0 : _m.lastAgentName) || this.name,
104
+ availableSpecialists: (_p = (_o = this.aiAgentResponse) === null || _o === void 0 ? void 0 : _o.availableSpecialists) !== null && _p !== void 0 ? _p : [],
105
+ isTransferredToSpecialist,
106
+ toolsExecuted: (_r = (_q = this.aiAgentResponse) === null || _q === void 0 ? void 0 : _q.toolsExecuted) !== null && _r !== void 0 ? _r : [],
107
+ };
108
+ const { action } = routerEvent, routerEventArgs = __rest(routerEvent, ["action"]);
109
+ yield trackEvent(botonicContext, action, routerEventArgs);
110
+ });
111
+ }
112
+ trackAIAgentSpecialistEvent(botonicContext) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
115
+ const { flowThreadId, flowId, flowName, flowNodeId } = yield getCommonFlowContentEventArgsForContentId(botonicContext, this.id);
116
+ const specialistEvent = {
117
+ action: EventAction.AiAgent,
118
+ flowThreadId,
119
+ flowId,
120
+ flowName,
121
+ flowNodeId,
122
+ flowNodeContentId: (_b = (_a = this.aiAgentResponse) === null || _a === void 0 ? void 0 : _a.lastAgentName) !== null && _b !== void 0 ? _b : '',
123
+ flowNodeIsMeaningful: true,
124
+ toolsExecuted: (_d = (_c = this.aiAgentResponse) === null || _c === void 0 ? void 0 : _c.toolsExecuted) !== null && _d !== void 0 ? _d : [],
125
+ memoryLength: (_f = (_e = this.aiAgentResponse) === null || _e === void 0 ? void 0 : _e.memoryLength) !== null && _f !== void 0 ? _f : 0,
126
+ inputMessageId: botonicContext.input.messageId,
127
+ exit: (_h = (_g = this.aiAgentResponse) === null || _g === void 0 ? void 0 : _g.exit) !== null && _h !== void 0 ? _h : true,
128
+ inputGuardrailsTriggered: [],
129
+ outputGuardrailsTriggered: (_k = (_j = this.aiAgentResponse) === null || _j === void 0 ? void 0 : _j.outputGuardrailsTriggered) !== null && _k !== void 0 ? _k : [],
130
+ error: (_m = (_l = this.aiAgentResponse) === null || _l === void 0 ? void 0 : _l.error) !== null && _m !== void 0 ? _m : false,
131
+ };
132
+ const { action } = specialistEvent, specialistEventArgs = __rest(specialistEvent, ["action"]);
133
+ yield trackEvent(botonicContext, action, specialistEventArgs);
134
+ });
135
+ }
136
+ }
137
+ //# sourceMappingURL=flow-ai-agent-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-ai-agent-router.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/flow-ai-agent-router.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,17 @@
1
- import { BotonicContext, BotServerMessage } from '@botonic/core';
2
- import { AgenticOutputMessage } from '@botonic/shared';
3
- import { ContentFieldsBase } from './content-fields-base';
4
- import { HtAiAgentNode, HtInputGuardrailRule } from './hubtype-fields/ai-agent';
5
- export declare class FlowAiAgent extends ContentFieldsBase {
6
- name: string;
7
- instructions: string;
1
+ import { BotonicContext } from '@botonic/core';
2
+ import { InferenceResponse } from '@botonic/shared';
3
+ import { FlowAiAgentBase } from './flow-ai-agent-base';
4
+ import { HtAiAgentNode } from './hubtype-fields/ai-agent';
5
+ import { FlowContent } from './index';
6
+ export declare class FlowAiAgent extends FlowAiAgentBase {
8
7
  activeTools?: {
9
8
  name: string;
10
9
  }[];
11
- inputGuardrailRules: HtInputGuardrailRule[];
12
10
  sources?: {
13
11
  id: string;
14
12
  name: string;
15
13
  }[];
16
- responses: AgenticOutputMessage[];
17
14
  static fromHubtypeCMS(component: HtAiAgentNode): FlowAiAgent;
18
- trackFlow(botonicContext: BotonicContext): Promise<void>;
19
- toBotonic(botonicContext: BotonicContext): Promise<BotServerMessage[]>;
15
+ getAIAgentResponse(botonicContext: BotonicContext, previousContents?: FlowContent[]): Promise<InferenceResponse | undefined>;
16
+ trackAiAgentResponse(botonicContext: BotonicContext): Promise<void>;
20
17
  }
@@ -1,22 +1,20 @@
1
- import { __awaiter } from "tslib";
2
- import { trackOneContent } from '../tracking';
3
- import { ContentFieldsBase } from './content-fields-base';
4
- import { FlowCarousel } from './flow-carousel';
5
- import { FlowText } from './flow-text';
6
- export class FlowAiAgent extends ContentFieldsBase {
1
+ import { __awaiter, __rest } from "tslib";
2
+ import { AiAgentType, EventAction, } from '@botonic/shared';
3
+ import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
4
+ import { getFlowBuilderPlugin } from '../utils';
5
+ import { FlowAiAgentBase } from './flow-ai-agent-base';
6
+ export class FlowAiAgent extends FlowAiAgentBase {
7
7
  constructor() {
8
8
  super(...arguments);
9
- this.name = '';
10
- this.instructions = '';
11
9
  this.activeTools = [];
12
- this.inputGuardrailRules = [];
13
10
  this.sources = [];
14
- this.responses = [];
15
11
  }
16
12
  static fromHubtypeCMS(component) {
17
13
  const newAiAgent = new FlowAiAgent(component.id);
18
14
  newAiAgent.code = component.code;
19
15
  newAiAgent.name = component.content.name;
16
+ newAiAgent.model = component.content.model;
17
+ newAiAgent.verbosity = component.content.verbosity;
20
18
  newAiAgent.instructions = component.content.instructions;
21
19
  newAiAgent.activeTools = component.content.active_tools;
22
20
  newAiAgent.inputGuardrailRules =
@@ -25,25 +23,46 @@ export class FlowAiAgent extends ContentFieldsBase {
25
23
  newAiAgent.followUp = component.follow_up;
26
24
  return newAiAgent;
27
25
  }
28
- trackFlow(botonicContext) {
26
+ getAIAgentResponse(botonicContext, previousContents) {
29
27
  return __awaiter(this, void 0, void 0, function* () {
30
- // We can call trackFlowContent here but the function no track events for AiAgent contents
31
- // Review how we can track here the ai agent event
32
- yield trackOneContent(botonicContext, this);
28
+ var _a, _b;
29
+ const flowBuilderPlugin = getFlowBuilderPlugin(botonicContext.plugins);
30
+ const aiAgentResponse = yield ((_a = flowBuilderPlugin.getAiAgentResponse) === null || _a === void 0 ? void 0 : _a.call(flowBuilderPlugin, botonicContext, {
31
+ type: AiAgentType.Specialist,
32
+ name: this.name,
33
+ instructions: this.instructions,
34
+ model: this.model,
35
+ verbosity: this.verbosity,
36
+ activeTools: this.activeTools,
37
+ inputGuardrailRules: this.getActiveInputGuardrailRules(this.inputGuardrailRules),
38
+ sourceIds: (_b = this.sources) === null || _b === void 0 ? void 0 : _b.map(source => source.id),
39
+ previousHubtypeMessages: this.getPreviousHubtypeContents(previousContents),
40
+ }));
41
+ return aiAgentResponse;
33
42
  });
34
43
  }
35
- toBotonic(botonicContext) {
44
+ trackAiAgentResponse(botonicContext) {
36
45
  return __awaiter(this, void 0, void 0, function* () {
37
- const messages = [];
38
- this.responses.forEach((response) => {
39
- if (response.type === 'text' || response.type === 'textWithButtons') {
40
- messages.push(FlowText.fromAIAgent(this.id, response));
41
- }
42
- if (response.type === 'carousel') {
43
- messages.push(FlowCarousel.fromAIAgent(this.id, response, botonicContext));
44
- }
45
- });
46
- return messages;
46
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
47
+ const { flowThreadId, flowId, flowName, flowNodeId } = yield getCommonFlowContentEventArgsForContentId(botonicContext, this.id);
48
+ const event = {
49
+ action: EventAction.AiAgent,
50
+ flowThreadId: flowThreadId,
51
+ flowId: flowId,
52
+ flowName: flowName,
53
+ flowNodeId: flowNodeId,
54
+ flowNodeContentId: this.name,
55
+ flowNodeIsMeaningful: true,
56
+ toolsExecuted: (_b = (_a = this.aiAgentResponse) === null || _a === void 0 ? void 0 : _a.toolsExecuted) !== null && _b !== void 0 ? _b : [],
57
+ memoryLength: (_d = (_c = this.aiAgentResponse) === null || _c === void 0 ? void 0 : _c.memoryLength) !== null && _d !== void 0 ? _d : 0,
58
+ inputMessageId: botonicContext.input.messageId,
59
+ exit: (_f = (_e = this.aiAgentResponse) === null || _e === void 0 ? void 0 : _e.exit) !== null && _f !== void 0 ? _f : true,
60
+ inputGuardrailsTriggered: (_h = (_g = this.aiAgentResponse) === null || _g === void 0 ? void 0 : _g.inputGuardrailsTriggered) !== null && _h !== void 0 ? _h : [],
61
+ outputGuardrailsTriggered: [],
62
+ error: (_k = (_j = this.aiAgentResponse) === null || _j === void 0 ? void 0 : _j.error) !== null && _k !== void 0 ? _k : false,
63
+ };
64
+ const { action } = event, eventArgs = __rest(event, ["action"]);
65
+ yield trackEvent(botonicContext, action, eventArgs);
47
66
  });
48
67
  }
49
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/flow-ai-agent.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGtC,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAAlD;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,iBAAY,GAAG,EAAE,CAAA;QACjB,gBAAW,GAAwB,EAAE,CAAA;QACrC,wBAAmB,GAA2B,EAAE,CAAA;QAChD,YAAO,GAAoC,EAAE,CAAA;QAE7C,cAAS,GAA2B,EAAE,CAAA;IAuC/C,CAAC;IArCC,MAAM,CAAC,cAAc,CAAC,SAAwB;QAC5C,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChD,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAChC,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,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAA;QAC9C,UAAU,CAAC,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAA;QAEzC,OAAO,UAAU,CAAA;IACnB,CAAC;IAEK,SAAS,CAAC,cAA8B;;YAC5C,0FAA0F;YAC1F,kDAAkD;YAClD,MAAM,eAAe,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QAC7C,CAAC;KAAA;IAEK,SAAS,CAAC,cAA8B;;YAC5C,MAAM,QAAQ,GAAuB,EAAE,CAAA;YAEvC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAA8B,EAAE,EAAE;gBACxD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACpE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAA;gBACxD,CAAC;gBAED,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACjC,QAAQ,CAAC,IAAI,CACX,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,CAC5D,CAAA;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"flow-ai-agent.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/flow-ai-agent.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,6 @@ export declare class FlowBotAction extends ContentFieldsBase {
7
7
  static fromHubtypeCMS(cmsBotAction: HtBotActionNode, cmsApi: FlowBuilderApi): FlowBotAction;
8
8
  trackFlow(botonicContext: BotonicContext): Promise<void>;
9
9
  doBotAction(botonicContext: BotonicContext): void;
10
+ processContent(botonicContext: BotonicContext): Promise<import(".").FlowContent>;
10
11
  toBotonic(): Promise<void>;
11
12
  }
@@ -35,6 +35,13 @@ export class FlowBotAction extends ContentFieldsBase {
35
35
  doBotAction(botonicContext) {
36
36
  botonicContext.session.botonicAction = `${BotonicAction.Redirect}:${this.payload}`;
37
37
  }
38
+ processContent(botonicContext) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ this.doBotAction(botonicContext);
41
+ yield this.trackFlow(botonicContext);
42
+ return this.filterContent(botonicContext, this);
43
+ });
44
+ }
38
45
  toBotonic() {
39
46
  return __awaiter(this, void 0, void 0, function* () {
40
47
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"flow-bot-action.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/flow-bot-action.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAA;AAG7D,OAAO,EACL,yCAAyC,EACzC,UAAU,GACX,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAApD;;QACS,YAAO,GAAG,EAAE,CAAA;IAsCrB,CAAC;IApCC,MAAM,CAAC,cAAc,CACnB,YAA6B,EAC7B,MAAsB;QAEtB,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QACvD,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAA;QACrC,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAA;QACnE,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAA;QAE9C,OAAO,YAAY,CAAA;IACrB,CAAC;IAEK,SAAS,CAAC,cAA8B;;YAC5C,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACrE,MAAM,yCAAyC,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YAC1E,MAAM,KAAK,GAAmB;gBAC5B,MAAM,EAAE,WAAW,CAAC,SAAS;gBAC7B,YAAY;gBACZ,MAAM;gBACN,QAAQ;gBACR,UAAU;gBACV,iBAAiB;gBACjB,oBAAoB,EAAE,KAAK;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAA;YACD,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAA;YACtC,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QACrD,CAAC;KAAA;IAED,WAAW,CAAC,cAA8B;QACxC,cAAc,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;IACpF,CAAC;IAEK,SAAS;;YACb,OAAM;QACR,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"flow-bot-action.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/flow-bot-action.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,eAAe,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAkB,MAAM,iBAAiB,CAAA;AAG7D,OAAO,EACL,yCAAyC,EACzC,UAAU,GACX,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IAApD;;QACS,YAAO,GAAG,EAAE,CAAA;IA4CrB,CAAC;IA1CC,MAAM,CAAC,cAAc,CACnB,YAA6B,EAC7B,MAAsB;QAEtB,MAAM,YAAY,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QACvD,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAA;QACrC,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAA;QACnE,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAA;QAE9C,OAAO,YAAY,CAAA;IACrB,CAAC;IAEK,SAAS,CAAC,cAA8B;;YAC5C,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACrE,MAAM,yCAAyC,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;YAC1E,MAAM,KAAK,GAAmB;gBAC5B,MAAM,EAAE,WAAW,CAAC,SAAS;gBAC7B,YAAY;gBACZ,MAAM;gBACN,QAAQ;gBACR,UAAU;gBACV,iBAAiB;gBACjB,oBAAoB,EAAE,KAAK;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAA;YACD,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAA;YACtC,MAAM,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QACrD,CAAC;KAAA;IAED,WAAW,CAAC,cAA8B;QACxC,cAAc,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;IACpF,CAAC;IAEK,cAAc,CAAC,cAA8B;;YACjD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;YAChC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAA;YACpC,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;QACjD,CAAC;KAAA;IAEK,SAAS;;YACb,OAAM;QACR,CAAC;KAAA;CACF"}
@@ -30,11 +30,13 @@ export declare class FlowButton extends ContentFieldsBase {
30
30
  text: string;
31
31
  payload?: string;
32
32
  url?: string;
33
+ target?: string;
33
34
  }): FlowButton;
34
35
  static fromRating(button: HtRatingButton): FlowButton;
35
36
  static getUrlId(cmsButton: HtButton, locale: string): string | undefined;
36
37
  static getTargetWebview(cmsApi: FlowBuilderApi, targetId: string): FlowWebview | undefined;
37
38
  trackFlow(botonicContext: BotonicContext): Promise<void>;
39
+ processContent(): Promise<void>;
38
40
  addButtonToBotonic({ buttonIndex, buttonStyle: _buttonStyle, botonicContext, }: AddButtonToBotonicProps): BotonicButtonContent;
39
41
  private getButtonPayload;
40
42
  }
@@ -56,6 +56,7 @@ export class FlowButton extends ContentFieldsBase {
56
56
  newButton.text = button.text;
57
57
  if (button.url) {
58
58
  newButton.url = button.url;
59
+ newButton.target = button.target;
59
60
  }
60
61
  else {
61
62
  newButton.payload = button.payload;
@@ -89,6 +90,11 @@ export class FlowButton extends ContentFieldsBase {
89
90
  }
90
91
  });
91
92
  }
93
+ processContent() {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ return;
96
+ });
97
+ }
92
98
  addButtonToBotonic({ buttonIndex, buttonStyle: _buttonStyle, botonicContext, }) {
93
99
  // TODO: Support quick replies
94
100
  // if (buttonStyle === HtButtonStyle.QUICK_REPLY) {
@@ -1 +1 @@
1
- {"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/flow-button.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-button.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/plugin-flow-builder/src/lib/content-fields/flow-button.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export declare class FlowCaptureUserInput extends ContentFieldsBase {
8
8
  captureSuccessId: string;
9
9
  captureFailId: string;
10
10
  static fromHubtypeCMS(cmsText: HtCaptureUserInputNode): FlowCaptureUserInput;
11
- trackFlow(_botonicContext: BotonicContext): Promise<void>;
11
+ trackFlow(): Promise<void>;
12
+ processContent(botonicContext: BotonicContext): Promise<import(".").FlowContent>;
12
13
  toBotonic(botonicContext: BotonicContext): Promise<void>;
13
14
  }