@botonic/plugin-flow-builder 0.26.2-alpha.0 → 0.27.0-alpha.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.
Files changed (89) hide show
  1. package/lib/cjs/action/index.js +41 -19
  2. package/lib/cjs/action/index.js.map +1 -1
  3. package/lib/cjs/action/knowledge-bases.js +32 -7
  4. package/lib/cjs/action/knowledge-bases.js.map +1 -1
  5. package/lib/cjs/api.d.ts +2 -4
  6. package/lib/cjs/api.js +7 -32
  7. package/lib/cjs/api.js.map +1 -1
  8. package/lib/cjs/constants.d.ts +1 -1
  9. package/lib/cjs/constants.js +2 -2
  10. package/lib/cjs/constants.js.map +1 -1
  11. package/lib/cjs/content-fields/flow-handoff.js +7 -19
  12. package/lib/cjs/content-fields/flow-handoff.js.map +1 -1
  13. package/lib/cjs/content-fields/index.d.ts +1 -0
  14. package/lib/cjs/content-fields/index.js +3 -1
  15. package/lib/cjs/content-fields/index.js.map +1 -1
  16. package/lib/cjs/functions/conditional-queue-status.d.ts +7 -1
  17. package/lib/cjs/functions/conditional-queue-status.js +24 -11
  18. package/lib/cjs/functions/conditional-queue-status.js.map +1 -1
  19. package/lib/cjs/index.d.ts +6 -3
  20. package/lib/cjs/index.js +22 -13
  21. package/lib/cjs/index.js.map +1 -1
  22. package/lib/cjs/tracking.d.ts +27 -16
  23. package/lib/cjs/tracking.js +45 -20
  24. package/lib/cjs/tracking.js.map +1 -1
  25. package/lib/cjs/types.d.ts +19 -2
  26. package/lib/cjs/types.js.map +1 -1
  27. package/lib/cjs/user-input/index.d.ts +2 -1
  28. package/lib/cjs/user-input/index.js +9 -3
  29. package/lib/cjs/user-input/index.js.map +1 -1
  30. package/lib/cjs/user-input/intent.js +12 -8
  31. package/lib/cjs/user-input/intent.js.map +1 -1
  32. package/lib/cjs/user-input/keyword.d.ts +21 -1
  33. package/lib/cjs/user-input/keyword.js +66 -14
  34. package/lib/cjs/user-input/keyword.js.map +1 -1
  35. package/lib/cjs/user-input/smart-intent.d.ts +18 -1
  36. package/lib/cjs/user-input/smart-intent.js +46 -28
  37. package/lib/cjs/user-input/smart-intent.js.map +1 -1
  38. package/lib/esm/action/index.js +42 -20
  39. package/lib/esm/action/index.js.map +1 -1
  40. package/lib/esm/action/knowledge-bases.js +33 -8
  41. package/lib/esm/action/knowledge-bases.js.map +1 -1
  42. package/lib/esm/api.d.ts +2 -4
  43. package/lib/esm/api.js +8 -33
  44. package/lib/esm/api.js.map +1 -1
  45. package/lib/esm/constants.d.ts +1 -1
  46. package/lib/esm/constants.js +1 -1
  47. package/lib/esm/constants.js.map +1 -1
  48. package/lib/esm/content-fields/flow-handoff.js +7 -19
  49. package/lib/esm/content-fields/flow-handoff.js.map +1 -1
  50. package/lib/esm/content-fields/index.d.ts +1 -0
  51. package/lib/esm/content-fields/index.js +1 -0
  52. package/lib/esm/content-fields/index.js.map +1 -1
  53. package/lib/esm/functions/conditional-queue-status.d.ts +7 -1
  54. package/lib/esm/functions/conditional-queue-status.js +22 -10
  55. package/lib/esm/functions/conditional-queue-status.js.map +1 -1
  56. package/lib/esm/index.d.ts +6 -3
  57. package/lib/esm/index.js +23 -14
  58. package/lib/esm/index.js.map +1 -1
  59. package/lib/esm/tracking.d.ts +27 -16
  60. package/lib/esm/tracking.js +42 -19
  61. package/lib/esm/tracking.js.map +1 -1
  62. package/lib/esm/types.d.ts +19 -2
  63. package/lib/esm/types.js.map +1 -1
  64. package/lib/esm/user-input/index.d.ts +2 -1
  65. package/lib/esm/user-input/index.js +11 -5
  66. package/lib/esm/user-input/index.js.map +1 -1
  67. package/lib/esm/user-input/intent.js +13 -9
  68. package/lib/esm/user-input/intent.js.map +1 -1
  69. package/lib/esm/user-input/keyword.d.ts +21 -1
  70. package/lib/esm/user-input/keyword.js +65 -13
  71. package/lib/esm/user-input/keyword.js.map +1 -1
  72. package/lib/esm/user-input/smart-intent.d.ts +18 -1
  73. package/lib/esm/user-input/smart-intent.js +44 -26
  74. package/lib/esm/user-input/smart-intent.js.map +1 -1
  75. package/package.json +2 -2
  76. package/src/action/index.tsx +71 -25
  77. package/src/action/knowledge-bases.ts +44 -10
  78. package/src/api.ts +11 -57
  79. package/src/constants.ts +1 -1
  80. package/src/content-fields/flow-handoff.tsx +8 -28
  81. package/src/content-fields/index.ts +1 -0
  82. package/src/functions/conditional-queue-status.ts +28 -13
  83. package/src/index.ts +36 -19
  84. package/src/tracking.ts +53 -17
  85. package/src/types.ts +18 -2
  86. package/src/user-input/index.ts +13 -7
  87. package/src/user-input/intent.ts +17 -10
  88. package/src/user-input/keyword.ts +90 -15
  89. package/src/user-input/smart-intent.ts +57 -29
@@ -4,18 +4,16 @@ import { Multichannel, RequestContext } from '@botonic/react';
4
4
  import React from 'react';
5
5
  import { FlowHandoff } from '../content-fields';
6
6
  import { getFlowBuilderPlugin } from '../helpers';
7
- import { EventName, trackEvent } from '../tracking';
7
+ import { EventAction, trackEvent, trackFlowContent } from '../tracking';
8
8
  import { createNodeFromKnowledgeBase } from './knowledge-bases';
9
9
  export class FlowBuilderAction extends React.Component {
10
10
  static botonicInit(request) {
11
11
  return __awaiter(this, void 0, void 0, function* () {
12
- const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
13
- const locale = flowBuilderPlugin.getLocale(request.session);
14
- const targetNode = yield getTargetNode(flowBuilderPlugin.cmsApi, request);
15
- const contents = yield flowBuilderPlugin.getContentsByNode(targetNode, locale);
12
+ const contents = yield getContents(request);
16
13
  const handoffContent = contents.find(content => content instanceof FlowHandoff);
17
- if (handoffContent)
14
+ if (handoffContent) {
18
15
  yield handoffContent.doHandoff(request);
16
+ }
19
17
  return { contents };
20
18
  });
21
19
  }
@@ -33,25 +31,46 @@ export class FlowBuilderMultichannelAction extends FlowBuilderAction {
33
31
  return (_jsx(Multichannel, Object.assign({ text: { buttonsAsText: false } }, { children: contents.map(content => content.toBotonic(content.id, request)) })));
34
32
  }
35
33
  }
36
- function getTargetNode(cmsApi, request) {
34
+ function getContents(request) {
37
35
  return __awaiter(this, void 0, void 0, function* () {
36
+ const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
37
+ const cmsApi = flowBuilderPlugin.cmsApi;
38
+ const locale = flowBuilderPlugin.getLocale(request.session);
39
+ const resolvedLocale = flowBuilderPlugin.cmsApi.getResolvedLocale(locale);
40
+ const context = {
41
+ cmsApi,
42
+ flowBuilderPlugin,
43
+ request,
44
+ resolvedLocale,
45
+ };
38
46
  if (request.session.is_first_interaction) {
39
- const startNode = cmsApi.getStartNode();
40
- yield trackEvent(request, EventName.botStart);
41
- return startNode;
47
+ return yield flowBuilderPlugin.getStartContents(resolvedLocale);
42
48
  }
43
- const contentId = request.input.payload;
44
- const targetNode = contentId
45
- ? cmsApi.getNodeById(contentId)
49
+ if (request.input.payload) {
50
+ return yield getContentsByPayload(context);
51
+ }
52
+ return yield getContentsByFallback(context);
53
+ });
54
+ }
55
+ function getContentsByPayload({ cmsApi, flowBuilderPlugin, request, resolvedLocale, }) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ const targetNode = request.input.payload
58
+ ? cmsApi.getNodeById(request.input.payload)
46
59
  : undefined;
47
60
  if (targetNode) {
48
- const eventArgs = {
49
- faq_name: targetNode.code,
50
- };
51
- yield trackEvent(request, EventName.botFaq, eventArgs);
52
- return targetNode;
61
+ const contents = yield flowBuilderPlugin.getContentsByNode(targetNode, resolvedLocale);
62
+ yield trackFlowContent(request, contents);
63
+ return contents;
53
64
  }
54
- return yield getFallbackNode(cmsApi, request);
65
+ return [];
66
+ });
67
+ }
68
+ function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, resolvedLocale, }) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ const fallbackNode = yield getFallbackNode(cmsApi, request);
71
+ const fallbackContents = yield flowBuilderPlugin.getContentsByNode(fallbackNode, resolvedLocale);
72
+ yield trackFlowContent(request, fallbackContents);
73
+ return fallbackContents;
55
74
  });
56
75
  }
57
76
  function getFallbackNode(cmsApi, request) {
@@ -67,7 +86,10 @@ function getFallbackNode(cmsApi, request) {
67
86
  const isFirstFallbackOption = !!request.session.user.extra_data.isFirstFallbackOption;
68
87
  const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption);
69
88
  request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption;
70
- yield trackEvent(request, EventName.fallback);
89
+ trackEvent(request, EventAction.Fallback, {
90
+ fallbackOut: isFirstFallbackOption ? 1 : 2,
91
+ fallbackMessageId: request.input.message_id,
92
+ });
71
93
  return fallbackNode;
72
94
  });
73
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAiB,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAM/D,MAAM,OAAO,iBAAkB,SAAQ,KAAK,CAAC,SAAiC;IAG5E,MAAM,CAAO,WAAW,CACtB,OAAsB;;YAEtB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAE3D,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAEzE,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CACxD,UAAU,EACV,MAAM,CACP,CAAA;YAED,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,WAAW,CAC3B,CAAA;YAChB,IAAI,cAAc;gBAAE,MAAM,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAE3D,OAAO,EAAE,QAAQ,EAAE,CAAA;QACrB,CAAC;KAAA;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACxE,CAAC;;AA3BM,6BAAW,GAAG,cAAc,CAAA;AA8BrC,MAAM,OAAO,6BAA8B,SAAQ,iBAAiB;IAClE,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,OAAO,CACL,KAAC,YAAY,kBAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,gBACzC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IACnD,CAChB,CAAA;IACH,CAAC;CACF;AAED,SAAe,aAAa,CAAC,MAAsB,EAAE,OAAsB;;QACzE,IAAI,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACxC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAA;YACvC,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;YAC7C,OAAO,SAAS,CAAA;SACjB;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QAEvC,MAAM,UAAU,GAAG,SAAS;YAC1B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAoB,SAAS,CAAC;YAClD,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,UAAU,EAAE;YACd,MAAM,SAAS,GAAG;gBAChB,QAAQ,EAAE,UAAU,CAAC,IAAI;aAC1B,CAAA;YACD,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YACtD,OAAO,UAAU,CAAA;SAClB;QACD,OAAO,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,CAAC;CAAA;AAED,SAAe,eAAe,CAAC,MAAsB,EAAE,OAAsB;;;QAC3E,IAAI,CAAA,MAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,0CAAE,qBAAqB,MAAK,SAAS,EAAE;YACxE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,mCAC1B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,KAClC,qBAAqB,EAAE,IAAI,GAC5B,CAAA;SACF;QAED,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC5E,IAAI,iBAAiB,EAAE;YACrB,OAAO,iBAAiB,CAAA;SACzB;QAED,MAAM,qBAAqB,GACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAA;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAA;QAClE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,qBAAqB,CAAA;QAE9E,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC7C,OAAO,YAAY,CAAA;;CACpB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { __awaiter } from "tslib";
2
2
  import { v4 as uuid } from 'uuid';
3
3
  import { HtNodeWithContentType, } from '../content-fields/hubtype-fields';
4
4
  import { getFlowBuilderPlugin } from '../helpers';
5
- import { EventName, trackEvent } from '../tracking';
5
+ import { EventAction, KnowledgebaseFailReason, trackEvent } from '../tracking';
6
6
  export function createNodeFromKnowledgeBase(cmsApi, request) {
7
7
  return __awaiter(this, void 0, void 0, function* () {
8
8
  const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
@@ -13,11 +13,9 @@ export function createNodeFromKnowledgeBase(cmsApi, request) {
13
13
  (knowledgeBaseConfig === null || knowledgeBaseConfig === void 0 ? void 0 : knowledgeBaseConfig.isActive)) {
14
14
  try {
15
15
  const knowledgeBaseResponse = yield flowBuilderPlugin.getKnowledgeBaseResponse(request);
16
- if (knowledgeBaseResponse.hasKnowledge) {
17
- yield trackEvent(request, EventName.botAiKnowledgeBase, {
18
- answer: knowledgeBaseResponse.answer,
19
- knowledge_source_ids: knowledgeBaseResponse.sources.map(source => source.knowledgeSourceId),
20
- });
16
+ yield trackKnowledgeBase(knowledgeBaseResponse, request);
17
+ if (knowledgeBaseResponse.hasKnowledge &&
18
+ knowledgeBaseResponse.isFaithuful) {
21
19
  const knowledgeBaseNode = {
22
20
  type: HtNodeWithContentType.TEXT,
23
21
  content: {
@@ -43,11 +41,38 @@ export function createNodeFromKnowledgeBase(cmsApi, request) {
43
41
  }
44
42
  }
45
43
  catch (e) {
46
- console.log('Hubtype knowledge base api error: ', { e });
47
- return undefined;
44
+ console.error('Hubtype knowledge base api error: ', { e });
48
45
  }
49
46
  }
50
47
  return undefined;
51
48
  });
52
49
  }
50
+ function trackKnowledgeBase(response, request) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ /* TODO:
53
+ In order to have all these parameters in the base knowlege response
54
+ it is necessary to use the new endpoint to which the knowledge sources
55
+ have to be indicated. For now this will not work, we need to finish
56
+ the knowldege base node in the flow builder frontend.
57
+ */
58
+ const knowledgebaseInferenceId = response.inferenceId;
59
+ const knowledgebaseSourcesIds = response.sources.map(source => source.knowledgeSourceId);
60
+ const knowledgebaseChunksIds = response.sources.map(source => source.knowledgeChunkId);
61
+ const knowledgebaseMessageId = request.input.message_id;
62
+ let knowledgebaseFailReason;
63
+ if (!response.isFaithuful) {
64
+ knowledgebaseFailReason = KnowledgebaseFailReason.Hallucination;
65
+ }
66
+ if (!response.hasKnowledge) {
67
+ knowledgebaseFailReason = KnowledgebaseFailReason.NoKnowledge;
68
+ }
69
+ yield trackEvent(request, EventAction.Knowledgebase, {
70
+ knowledgebaseInferenceId,
71
+ knowledgebaseFailReason,
72
+ knowledgebaseSourcesIds,
73
+ knowledgebaseChunksIds,
74
+ knowledgebaseMessageId,
75
+ });
76
+ });
77
+ }
53
78
  //# sourceMappingURL=knowledge-bases.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAA;AAGjC,OAAO,EAEL,qBAAqB,GAEtB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEnD,MAAM,UAAgB,2BAA2B,CAC/C,MAAsB,EACtB,OAAsB;;QAEtB,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,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;QACvD,MAAM,mBAAmB,GAAG,MAAM,CAAC,sBAAsB,EAAE,CAAA;QAE3D,IACE,iBAAiB,CAAC,wBAAwB;aAC1C,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,QAAQ,CAAA,EAC7B;YACA,IAAI;gBACF,MAAM,qBAAqB,GACzB,MAAM,iBAAiB,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;gBAC3D,IAAI,qBAAqB,CAAC,YAAY,EAAE;oBACtC,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,kBAAkB,EAAE;wBACtD,MAAM,EAAE,qBAAqB,CAAC,MAAM;wBACpC,oBAAoB,EAAE,qBAAqB,CAAC,OAAO,CAAC,GAAG,CACrD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CACnC;qBACF,CAAC,CAAA;oBAEF,MAAM,iBAAiB,GAAe;wBACpC,IAAI,EAAE,qBAAqB,CAAC,IAAI;wBAChC,OAAO,EAAE;4BACP,IAAI,EAAE;gCACJ;oCACE,OAAO,EAAE,qBAAqB,CAAC,MAAM;oCACrC,MAAM,EAAE,cAAc;iCACvB;6BACF;4BACD,aAAa,EAAE,SAAS;4BACxB,OAAO,EAAE,EAAE;yBACZ;wBACD,OAAO,EAAE,YAAY;wBACrB,EAAE,EAAE,IAAI,EAAE;wBACV,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE;4BACJ,CAAC,EAAE,CAAC;4BACJ,CAAC,EAAE,CAAC;yBACL;wBACD,SAAS,EAAE,mBAAmB,CAAC,QAAQ;qBACxC,CAAA;oBACD,OAAO,iBAAiB,CAAA;iBACzB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;gBACxD,OAAO,SAAS,CAAA;aACjB;SACF;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA"}
1
+ {"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
package/lib/esm/api.d.ts CHANGED
@@ -22,12 +22,10 @@ export declare class FlowBuilderApi {
22
22
  getSmartIntentNodes(): HtSmartIntentNode[];
23
23
  private nodeContainsIntent;
24
24
  hasMetConfidenceThreshold(node: HtIntentNode, predictedConfidence: number): boolean;
25
- getNodeByKeyword(userInput: string, locale: string): HtKeywordNode | undefined;
26
- private matchKeywords;
27
- private inputMatchesAnyKeyword;
28
- private resolveKeywordAsRegExp;
25
+ getKeywordNodes(): HtKeywordNode[];
29
26
  getPayload(target?: HtNodeLink): string | undefined;
30
27
  createPayloadWithParams(botActionNode: HtBotActionNode): string;
31
28
  private getFollowUpContentID;
29
+ getFlowName(flowId: string): string;
32
30
  getResolvedLocale(locale: string): string;
33
31
  }
package/lib/esm/api.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import axios from 'axios';
3
- import { BOT_ACTION_PAYLOAD_SEPARATOR, REG_EXP_PATTERN, SEPARATOR, } from './constants';
3
+ import { BOT_ACTION_PAYLOAD_PREFIX, SEPARATOR } from './constants';
4
4
  import { HtNodeWithContentType, HtNodeWithoutContentType, } from './content-fields/hubtype-fields';
5
5
  export class FlowBuilderApi {
6
6
  constructor() { }
@@ -98,44 +98,15 @@ export class FlowBuilderApi {
98
98
  const nodeConfidence = node.content.confidence / 100;
99
99
  return predictedConfidence >= nodeConfidence;
100
100
  }
101
- getNodeByKeyword(userInput, locale) {
102
- try {
103
- const keywordNodes = this.flow.nodes.filter(node => node.type === HtNodeWithContentType.KEYWORD);
104
- const matchedKeywordNodes = keywordNodes.filter(node => this.matchKeywords(node, userInput, locale));
105
- if (matchedKeywordNodes.length > 0 && matchedKeywordNodes[0].target) {
106
- return matchedKeywordNodes[0];
107
- }
108
- }
109
- catch (error) {
110
- console.error(`Error getting node by keyword '${userInput}': `, error);
111
- }
112
- return undefined;
113
- }
114
- matchKeywords(node, input, locale) {
115
- const result = node.content.keywords.find(keywords => keywords.locale === locale &&
116
- this.inputMatchesAnyKeyword(input, keywords.values));
117
- return Boolean(result);
118
- }
119
- inputMatchesAnyKeyword(input, keywords) {
120
- return keywords.some(keyword => {
121
- const regExpMatchArray = keyword.match(REG_EXP_PATTERN);
122
- if (regExpMatchArray) {
123
- return this.resolveKeywordAsRegExp(regExpMatchArray, input);
124
- }
125
- return input.includes(keyword);
126
- });
127
- }
128
- resolveKeywordAsRegExp(regExpMatchArray, input) {
129
- const [, pattern, flags] = regExpMatchArray;
130
- const keywordAsRegExp = new RegExp(pattern, flags);
131
- return input.match(keywordAsRegExp);
101
+ getKeywordNodes() {
102
+ return this.flow.nodes.filter(node => node.type === HtNodeWithContentType.KEYWORD);
132
103
  }
133
104
  getPayload(target) {
134
105
  if (!target) {
135
106
  return undefined;
136
107
  }
137
108
  if (target.type === HtNodeWithoutContentType.BOT_ACTION) {
138
- return `${BOT_ACTION_PAYLOAD_SEPARATOR}${target.id}`;
109
+ return `${BOT_ACTION_PAYLOAD_PREFIX}${target.id}`;
139
110
  }
140
111
  return target.id;
141
112
  }
@@ -160,6 +131,10 @@ export class FlowBuilderApi {
160
131
  return followUpNode === null || followUpNode === void 0 ? void 0 : followUpNode.code;
161
132
  }
162
133
  }
134
+ getFlowName(flowId) {
135
+ const flow = this.flow.flows.find(flow => flow.id === flowId);
136
+ return flow ? flow.name : '';
137
+ }
163
138
  getResolvedLocale(locale) {
164
139
  if (this.flow.locales.find(flowLocale => flowLocale === locale)) {
165
140
  return locale;
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAUL,qBAAqB,EACrB,wBAAwB,GAEzB,MAAM,iCAAiC,CAAA;AAIxC,MAAM,OAAO,cAAc;IAKzB,gBAAuB,CAAC;IAExB,MAAM,CAAO,MAAM,CAAC,OAA8B;;;YAChD,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAA;YAEnC,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;YACxB,MAAM,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;YACzE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;YAEhC,OAAO,MAAM,CAAA;;KACd;IAEa,OAAO,CAAC,KAAa;;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;aAC9C,CAAC,CAAA;YACF,OAAO,IAAyB,CAAA;QAClC,CAAC;KAAA;IAED,eAAe,CAAC,EAAU;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,OAAO;YAAE,MAAM,KAAK,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAC,WAAW,CAAoB,OAAO,CAAC,aAAa,CAAC,CAAA;IACnE,CAAC;IAED,WAAW,CAA4B,EAAU;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QACzD,IAAI,CAAC,IAAI;YAAE,MAAM,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;QACzD,IAAI,IAAI,CAAC,IAAI,KAAK,wBAAwB,CAAC,UAAU,EAAE;YACrD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAM,CAAA;SACvD;QACD,OAAO,IAAS,CAAA;IAClB,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1C,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CACjD,CAAA;QACD,IAAI,CAAC,OAAO;YAAE,MAAM,KAAK,CAAC,yBAAyB,SAAS,aAAa,CAAC,CAAA;QAC1E,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,YAAY;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;QAC3C,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClE,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAA;IACtC,CAAC;IAED,eAAe,CAAC,SAAkB;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACvC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,QAAQ,CACvB,CAAA;QAC/B,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;SACjD;QACD,MAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,CAAA;QAC/D,IAAI,CAAC,oBAAoB,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;SACxD;QACD,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAA;QACjE,IAAI,CAAC,qBAAqB,EAAE;YAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAA;SACjD;QACD,OAAO,SAAS;YACd,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,sBAAsB;QAGpB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACvC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,QAAQ,CACvB,CAAA;QAE/B,OAAO,YAAY;YACjB,CAAC,CAAC;gBACE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,uBAAuB;gBACtD,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,wBAAwB,IAAI,KAAK;aACjE;YACH,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAED,aAAa,CAAC,KAAY,EAAE,MAAc;QACxC,IAAI;YACF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CACzC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,MAAM,CACjC,CAAA;YACnB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAA;YAChC,IAAI,WAAW,EAAE;gBACf,OAAO,YAAY,CAAC,IAAI,CACtB,IAAI,CAAC,EAAE,CACL,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CACpE,CAAA;aACF;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,CAAC,MAAM,KAAK,EAAE,KAAK,CAAC,CAAA;SACzE;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,YAAY,CAClC,CAAA;IAC1B,CAAC;IAEO,kBAAkB,CACxB,IAAkB,EAClB,MAAc,EACd,MAAc;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtD,CAAA;IACH,CAAC;IAED,yBAAyB,CACvB,IAAkB,EAClB,mBAA2B;QAE3B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAAA;QACpD,OAAO,mBAAmB,IAAI,cAAc,CAAA;IAC9C,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,qBAAqB,CAAC,OAAO,CACjC,CAAA;IACtB,CAAC;IAED,UAAU,CAAC,MAAmB;QAC5B,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,SAAS,CAAA;SACjB;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,wBAAwB,CAAC,UAAU,EAAE;YACvD,OAAO,GAAG,yBAAyB,GAAG,MAAM,CAAC,EAAE,EAAE,CAAA;SAClD;QAED,OAAO,MAAM,CAAC,EAAE,CAAA;IAClB,CAAC;IAED,uBAAuB,CAAC,aAA8B;;QACpD,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,UAAU,CAAA;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAgB,SAAS,CAAC,CAAA;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAC7B,aAAa,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAC7C,CAAA;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CACjD,MAAA,aAAa,CAAC,SAAS,0CAAE,EAAE,CAC5B,CAAA;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,iCAC7B,YAAY,KACf,iBAAiB,IACjB,CAAA;QACF,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,GAAG,SAAS,GAAG,WAAW,EAAE,CAAA;IACnE,CAAC;IAEO,oBAAoB,CAAC,EAAW;QACtC,MAAM,YAAY,GAAG,EAAE;YACrB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAiC,EAAE,CAAC;YACtD,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,MAAK,wBAAwB,CAAC,UAAU,EAAE;YAC9D,OAAO,IAAI,CAAC,WAAW,CAAoB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,OAAO,CAAC;iBACtE,IAAI,CAAA;SACR;aAAM;YACL,OAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAA;SAC1B;IACH,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;QAC7D,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9B,CAAC;IAED,iBAAiB,CAAC,MAAc;QAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE;YAC/D,OAAO,MAAM,CAAA;SACd;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE;YACjE,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,yBAAyB,QAAQ,EAAE,CAAC,CAAA;YACjE,OAAO,QAAQ,CAAA;SAChB;QACD,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,2BAA2B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAChE,CAAA;IACH,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  export declare const FLOW_BUILDER_API_URL_PROD = "https://api.ent0.flowbuilder.prod.hubtype.com";
2
2
  export declare const SEPARATOR = "|";
3
3
  export declare const SOURCE_INFO_SEPARATOR: string;
4
- export declare const BOT_ACTION_PAYLOAD_SEPARATOR: string;
4
+ export declare const BOT_ACTION_PAYLOAD_PREFIX: string;
5
5
  export declare const VARIABLE_PATTERN: RegExp;
6
6
  export declare const ACCESS_TOKEN_VARIABLE_KEY = "_access_token";
7
7
  export declare const REG_EXP_PATTERN: RegExp;
@@ -1,7 +1,7 @@
1
1
  export const FLOW_BUILDER_API_URL_PROD = 'https://api.ent0.flowbuilder.prod.hubtype.com';
2
2
  export const SEPARATOR = '|';
3
3
  export const SOURCE_INFO_SEPARATOR = `${SEPARATOR}source_`;
4
- export const BOT_ACTION_PAYLOAD_SEPARATOR = `ba${SEPARATOR}`;
4
+ export const BOT_ACTION_PAYLOAD_PREFIX = `ba${SEPARATOR}`;
5
5
  export const VARIABLE_PATTERN = /{([^}]+)}/g;
6
6
  export const ACCESS_TOKEN_VARIABLE_KEY = '_access_token';
7
7
  export const REG_EXP_PATTERN = /^\/(.*)\/([gimyus]*)$/;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GACpC,+CAA+C,CAAA;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,SAAS,SAAS,CAAA;AAC1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,SAAS,EAAE,CAAA;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAA;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yBAAyB,GACpC,+CAA+C,CAAA;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,SAAS,SAAS,CAAA;AAC1D,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,SAAS,EAAE,CAAA;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAA;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAuB,CAAA"}
@@ -2,48 +2,36 @@ import { __awaiter } from "tslib";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { HandOffBuilder } from '@botonic/core';
4
4
  import { WebchatSettings } from '@botonic/react';
5
- import { getQueueAvailability } from '../functions/conditional-queue-status';
6
- import { EventName, trackEvent } from '../tracking';
7
5
  import { ContentFieldsBase } from './content-fields-base';
8
6
  export class FlowHandoff extends ContentFieldsBase {
9
7
  static fromHubtypeCMS(cmsHandoff, locale, cmsApi) {
10
8
  const newHandoff = new FlowHandoff(cmsHandoff.id);
11
9
  newHandoff.code = cmsHandoff.code;
12
10
  newHandoff.queue = this.getQueueByLocale(locale, cmsHandoff.content.queue);
13
- newHandoff.onFinishPayload = this.getOnFinishPayload(cmsHandoff, locale, cmsApi);
11
+ newHandoff.onFinishPayload = this.getOnFinishPayload(cmsHandoff, cmsApi);
14
12
  newHandoff.handoffAutoAssign = cmsHandoff.content.has_auto_assign;
15
13
  return newHandoff;
16
14
  }
17
- static getOnFinishPayload(cmsHandoff, locale, cmsApi) {
18
- var _a, _b;
15
+ static getOnFinishPayload(cmsHandoff, cmsApi) {
16
+ var _a;
19
17
  if ((_a = cmsHandoff.target) === null || _a === void 0 ? void 0 : _a.id) {
20
18
  return cmsApi.getPayload(cmsHandoff.target);
21
19
  }
22
- // OLD PAYLOAD
23
- const payloadId = (_b = cmsHandoff.content.payload.find(payload => payload.locale === locale)) === null || _b === void 0 ? void 0 : _b.id;
24
- if (payloadId) {
25
- return cmsApi.getNodeById(payloadId).content.payload;
26
- }
27
20
  return undefined;
28
21
  }
29
22
  doHandoff(request) {
30
23
  return __awaiter(this, void 0, void 0, function* () {
31
- // @ts-ignore
32
24
  const handOffBuilder = new HandOffBuilder(request.session);
33
25
  handOffBuilder.withAutoAssignOnWaiting(this.handoffAutoAssign);
34
26
  if (this.onFinishPayload) {
35
27
  handOffBuilder.withOnFinishPayload(this.onFinishPayload);
36
28
  }
37
29
  if (this.queue) {
38
- const availabilityData = yield getQueueAvailability(this.queue.id);
39
- const eventArgs = {
40
- queue_open: availabilityData.open,
41
- queue_id: this.queue.id,
42
- available_agents: availabilityData.available_agents > 0,
43
- threshold_reached: availabilityData.availability_threshold_waiting_cases > 0,
44
- };
45
- yield trackEvent(request, EventName.handoffSuccess, eventArgs);
46
30
  handOffBuilder.withQueue(this.queue.id);
31
+ handOffBuilder.withBotEvent({
32
+ language: request.session.user.extra_data.language,
33
+ country: request.session.user.extra_data.country,
34
+ });
47
35
  yield handOffBuilder.handOff();
48
36
  }
49
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAI/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAMhD,MAAM,CAAC,cAAc,CACnB,UAAyB,EACzB,MAAc,EACd,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACjD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QACjC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1E,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAClD,UAAU,EACV,MAAM,EACN,MAAM,CACP,CAAA;QACD,UAAU,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAA;QAEjE,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC/B,UAAyB,EACzB,MAAc,EACd,MAAsB;;QAEtB,IAAI,MAAA,UAAU,CAAC,MAAM,0CAAE,EAAE,EAAE;YACzB,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SAC5C;QAED,cAAc;QACd,MAAM,SAAS,GAAG,MAAA,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAC/C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACrC,0CAAE,EAAE,CAAA;QACL,IAAI,SAAS,EAAE;YACb,OAAO,MAAM,CAAC,WAAW,CAAgB,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAA;SACpE;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEK,SAAS,CAAC,OAAsB;;YACpC,aAAa;YACb,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1D,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAC9D,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aACzD;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAClE,MAAM,SAAS,GAAG;oBAChB,UAAU,EAAE,gBAAgB,CAAC,IAAI;oBACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;oBACvB,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,CAAC;oBACvD,iBAAiB,EACf,gBAAgB,CAAC,oCAAoC,GAAG,CAAC;iBAC5D,CAAA;gBACD,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;gBAE9D,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACvC,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;aAC/B;QACH,CAAC;KAAA;IAED,SAAS;QACP,OAAO,KAAC,eAAe,IAAC,eAAe,EAAE,IAAI,GAAI,CAAA;IACnD,CAAC;CACF"}
1
+ {"version":3,"file":"flow-handoff.js","sourceRoot":"","sources":["../../../src/content-fields/flow-handoff.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAiB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAI/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAMhD,MAAM,CAAC,cAAc,CACnB,UAAyB,EACzB,MAAc,EACd,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACjD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QACjC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1E,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACxE,UAAU,CAAC,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAA;QAEjE,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC/B,UAAyB,EACzB,MAAsB;;QAEtB,IAAI,MAAA,UAAU,CAAC,MAAM,0CAAE,EAAE,EAAE;YACzB,OAAO,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;SAC5C;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEK,SAAS,CAAC,OAAsB;;YACpC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC1D,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YAE9D,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;aACzD;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACvC,cAAc,CAAC,YAAY,CAAC;oBAC1B,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;oBAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;iBACjD,CAAC,CAAA;gBACF,MAAM,cAAc,CAAC,OAAO,EAAE,CAAA;aAC/B;QACH,CAAC;KAAA;IAED,SAAS;QACP,OAAO,KAAC,eAAe,IAAC,eAAe,EAAE,IAAI,GAAI,CAAA;IACnD,CAAC;CACF"}
@@ -10,4 +10,5 @@ export { FlowButton } from './flow-button';
10
10
  export { FlowElement } from './flow-element';
11
11
  export { FlowCarousel, FlowImage, FlowText, FlowVideo, FlowWhatsappButtonList };
12
12
  export { FlowHandoff } from './flow-handoff';
13
+ export { FlowWhatsappCtaUrlButtonNode } from './flow-whatsapp-cta-url-button';
13
14
  export type FlowContent = FlowCarousel | FlowImage | FlowText | FlowVideo | FlowWhatsappButtonList | FlowWhatsappCtaUrlButtonNode | FlowHandoff;
@@ -8,4 +8,5 @@ export { FlowButton } from './flow-button';
8
8
  export { FlowElement } from './flow-element';
9
9
  export { FlowCarousel, FlowImage, FlowText, FlowVideo, FlowWhatsappButtonList };
10
10
  export { FlowHandoff } from './flow-handoff';
11
+ export { FlowWhatsappCtaUrlButtonNode } from './flow-whatsapp-cta-url-button';
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content-fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAA;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content-fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAA;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAA;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA"}
@@ -11,7 +11,13 @@ declare enum QueueStatusResult {
11
11
  OPEN_WITHOUT_AGENTS = "open-without-agents"
12
12
  }
13
13
  export declare function conditionalQueueStatus({ queue_id, check_available_agents, }: ConditionalQueueStatusArgs): Promise<QueueStatusResult>;
14
- interface AvailabilityData {
14
+ export declare class HubtypeQueuesApi {
15
+ queueId: string;
16
+ checkAvailableAgents: boolean;
17
+ constructor(queueId: string, checkAvailableAgents?: boolean);
18
+ getAvailability(): Promise<AvailabilityData>;
19
+ }
20
+ export interface AvailabilityData {
15
21
  available: boolean;
16
22
  waiting_cases: number;
17
23
  availability_threshold_waiting_cases: number;
@@ -16,18 +16,30 @@ export function conditionalQueueStatus({ queue_id, check_available_agents, }) {
16
16
  return data.open ? QueueStatusResult.OPEN : QueueStatusResult.CLOSED;
17
17
  });
18
18
  }
19
+ export class HubtypeQueuesApi {
20
+ constructor(queueId, checkAvailableAgents) {
21
+ this.queueId = queueId;
22
+ this.checkAvailableAgents = checkAvailableAgents || false;
23
+ }
24
+ getAvailability() {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const response = yield axios.get(`${HUBTYPE_API_URL}/public/v1/queues/${this.queueId}/availability/`,
27
+ // TODO: Make it configurable in the future
28
+ {
29
+ params: {
30
+ check_queue_schedule: true,
31
+ check_waiting_cases: false,
32
+ check_available_agents: this.checkAvailableAgents,
33
+ },
34
+ });
35
+ return response.data;
36
+ });
37
+ }
38
+ }
19
39
  export function getQueueAvailability(queueId, checkAvailableAgents = false) {
20
40
  return __awaiter(this, void 0, void 0, function* () {
21
- const response = yield axios.get(`${HUBTYPE_API_URL}/public/v1/queues/${queueId}/availability/`,
22
- // TODO: Make it configurable in the future
23
- {
24
- params: {
25
- check_queue_schedule: true,
26
- check_waiting_cases: false,
27
- check_available_agents: checkAvailableAgents,
28
- },
29
- });
30
- return response.data;
41
+ const queuesApi = new HubtypeQueuesApi(queueId, checkAvailableAgents);
42
+ return yield queuesApi.getAvailability();
31
43
  });
32
44
  }
33
45
  //# sourceMappingURL=conditional-queue-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAShF,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IACpB,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,gEAA2C,CAAA;AAC7C,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAED,MAAM,UAAgB,sBAAsB,CAAC,EAC3C,QAAQ,EACR,sBAAsB,GACK;;QAC3B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAA;QACzE,IAAI,sBAAsB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YACtE,OAAO,iBAAiB,CAAC,mBAAmB,CAAA;SAC7C;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAA;IACtE,CAAC;CAAA;AAWD,MAAM,UAAgB,oBAAoB,CACxC,OAAe,EACf,oBAAoB,GAAG,KAAK;;QAE5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,eAAe,qBAAqB,OAAO,gBAAgB;QAC9D,2CAA2C;QAC3C;YACE,MAAM,EAAE;gBACN,oBAAoB,EAAE,IAAI;gBAC1B,mBAAmB,EAAE,KAAK;gBAC1B,sBAAsB,EAAE,oBAAoB;aAC7C;SACF,CACF,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CAAA"}
1
+ {"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAShF,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IACpB,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,gEAA2C,CAAA;AAC7C,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAED,MAAM,UAAgB,sBAAsB,CAAC,EAC3C,QAAQ,EACR,sBAAsB,GACK;;QAC3B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAA;QACzE,IAAI,sBAAsB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;YACtE,OAAO,iBAAiB,CAAC,mBAAmB,CAAA;SAC7C;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAA;IACtE,CAAC;CAAA;AAED,MAAM,OAAO,gBAAgB;IAI3B,YAAY,OAAe,EAAE,oBAA8B;QACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,KAAK,CAAA;IAC3D,CAAC;IAEK,eAAe;;YACnB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,eAAe,qBAAqB,IAAI,CAAC,OAAO,gBAAgB;YACnE,2CAA2C;YAC3C;gBACE,MAAM,EAAE;oBACN,oBAAoB,EAAE,IAAI;oBAC1B,mBAAmB,EAAE,KAAK;oBAC1B,sBAAsB,EAAE,IAAI,CAAC,oBAAoB;iBAClD;aACF,CACF,CAAA;YACD,OAAO,QAAQ,CAAC,IAAI,CAAA;QACtB,CAAC;KAAA;CACF;AAWD,MAAM,UAAgB,oBAAoB,CACxC,OAAe,EACf,oBAAoB,GAAG,KAAK;;QAE5B,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;QACrE,OAAO,MAAM,SAAS,CAAC,eAAe,EAAE,CAAA;IAC1C,CAAC;CAAA"}
@@ -4,6 +4,7 @@ import { FlowBuilderApi } from './api';
4
4
  import { FlowContent } from './content-fields';
5
5
  import { HtNodeWithContent } from './content-fields/hubtype-fields';
6
6
  import { BotonicPluginFlowBuilderOptions, KnowledgeBaseResponse, PayloadParamsBase } from './types';
7
+ import { SmartIntentsInferenceConfig } from './user-input/smart-intent';
7
8
  export default class BotonicPluginFlowBuilder implements Plugin {
8
9
  readonly options: BotonicPluginFlowBuilderOptions;
9
10
  cmsApi: FlowBuilderApi;
@@ -13,13 +14,14 @@ export default class BotonicPluginFlowBuilder implements Plugin {
13
14
  private currentRequest;
14
15
  private getAccessToken;
15
16
  getLocale: (session: Session) => string;
16
- trackEvent?: (request: ActionRequest, eventName: string, args?: Record<string, any>) => Promise<void>;
17
+ trackEvent?: (request: ActionRequest, eventAction: string, args?: Record<string, any>) => Promise<void>;
17
18
  getKnowledgeBaseResponse?: (request: ActionRequest) => Promise<KnowledgeBaseResponse>;
19
+ smartIntentsConfig: SmartIntentsInferenceConfig;
18
20
  constructor(options: BotonicPluginFlowBuilderOptions);
19
21
  pre(request: PluginPreRequest): Promise<void>;
20
22
  private updateRequestBeforeRoutes;
21
- private removeSourceSeparatorFromPayload;
22
- private updateBotActionPayload;
23
+ private removeSourceSufix;
24
+ private replacePayload;
23
25
  getContentsByContentID(contentID: string, locale: string, prevContents?: FlowContent[]): Promise<FlowContent[]>;
24
26
  getUUIDByContentID(contentID: string): string;
25
27
  private getContentsById;
@@ -29,6 +31,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
29
31
  private callFunction;
30
32
  private getArgumentsByLocale;
31
33
  getPayloadParams<T extends PayloadParamsBase>(payload: string): T;
34
+ getFlowName(flowId: string): string;
32
35
  }
33
36
  export * from './action';
34
37
  export * from './content-fields';
package/lib/esm/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import { __awaiter } from "tslib";
2
+ import { v4 as uuid } from 'uuid';
2
3
  import { FlowBuilderApi } from './api';
3
- import { BOT_ACTION_PAYLOAD_SEPARATOR, FLOW_BUILDER_API_URL_PROD, SEPARATOR, SOURCE_INFO_SEPARATOR, } from './constants';
4
+ import { BOT_ACTION_PAYLOAD_PREFIX, FLOW_BUILDER_API_URL_PROD, SEPARATOR, SOURCE_INFO_SEPARATOR, } from './constants';
4
5
  import { FlowCarousel, FlowHandoff, FlowImage, FlowText, FlowVideo, FlowWhatsappButtonList, } from './content-fields';
5
6
  import { FlowWhatsappCtaUrlButtonNode } from './content-fields/flow-whatsapp-cta-url-button';
6
7
  import { HtNodeWithContentType, } from './content-fields/hubtype-fields';
7
8
  import { DEFAULT_FUNCTIONS } from './functions';
9
+ import { trackFlowContent } from './tracking';
8
10
  import { FlowBuilderJSONVersion, } from './types';
9
11
  import { getNodeByUserInput } from './user-input';
10
12
  import { resolveGetAccessToken } from './utils';
@@ -19,6 +21,7 @@ export default class BotonicPluginFlowBuilder {
19
21
  this.getAccessToken = resolveGetAccessToken(options);
20
22
  this.trackEvent = options.trackEvent;
21
23
  this.getKnowledgeBaseResponse = options.getKnowledgeBaseResponse;
24
+ this.smartIntentsConfig = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.smartIntentsConfig), { useLatest: jsonVersion === FlowBuilderJSONVersion.LATEST });
22
25
  const customFunctions = options.customFunctions || {};
23
26
  this.functions = Object.assign(Object.assign({}, DEFAULT_FUNCTIONS), customFunctions);
24
27
  }
@@ -37,7 +40,7 @@ export default class BotonicPluginFlowBuilder {
37
40
  if (checkUserTextInput) {
38
41
  const locale = this.getLocale(request.session);
39
42
  const resolvedLocale = this.cmsApi.getResolvedLocale(locale);
40
- const nodeByUserInput = yield getNodeByUserInput(this.cmsApi, resolvedLocale, request);
43
+ const nodeByUserInput = yield getNodeByUserInput(this.cmsApi, resolvedLocale, request, this.smartIntentsConfig);
41
44
  request.input.payload = this.cmsApi.getPayload(nodeByUserInput === null || nodeByUserInput === void 0 ? void 0 : nodeByUserInput.target);
42
45
  }
43
46
  this.updateRequestBeforeRoutes(request);
@@ -45,20 +48,19 @@ export default class BotonicPluginFlowBuilder {
45
48
  }
46
49
  updateRequestBeforeRoutes(request) {
47
50
  if (request.input.payload) {
48
- request.input.payload = this.removeSourceSeparatorFromPayload(request.input.payload);
49
- request.input.payload = this.updateBotActionPayload(request.input.payload);
51
+ request.input.payload = this.removeSourceSufix(request.input.payload);
52
+ if (request.input.payload.startsWith(BOT_ACTION_PAYLOAD_PREFIX)) {
53
+ request.input.payload = this.replacePayload(request.input.payload);
54
+ }
50
55
  }
51
56
  }
52
- removeSourceSeparatorFromPayload(payload) {
53
- return payload === null || payload === void 0 ? void 0 : payload.split(SOURCE_INFO_SEPARATOR)[0];
57
+ removeSourceSufix(payload) {
58
+ return payload.split(SOURCE_INFO_SEPARATOR)[0];
54
59
  }
55
- updateBotActionPayload(payload) {
56
- if (payload.startsWith(BOT_ACTION_PAYLOAD_SEPARATOR)) {
57
- const botActionId = payload.split(SEPARATOR)[1];
58
- const botActionNode = this.cmsApi.getNodeById(botActionId);
59
- return this.cmsApi.createPayloadWithParams(botActionNode);
60
- }
61
- return payload;
60
+ replacePayload(payload) {
61
+ const botActionId = payload.split(SEPARATOR)[1];
62
+ const botActionNode = this.cmsApi.getNodeById(botActionId);
63
+ return this.cmsApi.createPayloadWithParams(botActionNode);
62
64
  }
63
65
  getContentsByContentID(contentID, locale, prevContents) {
64
66
  return __awaiter(this, void 0, void 0, function* () {
@@ -78,8 +80,12 @@ export default class BotonicPluginFlowBuilder {
78
80
  }
79
81
  getStartContents(locale) {
80
82
  return __awaiter(this, void 0, void 0, function* () {
83
+ const resolvedLocale = this.cmsApi.getResolvedLocale(locale);
81
84
  const startNode = this.cmsApi.getStartNode();
82
- return yield this.getContentsByNode(startNode, locale);
85
+ this.currentRequest.session.flow_thread_id = uuid();
86
+ const contents = yield this.getContentsByNode(startNode, resolvedLocale);
87
+ yield trackFlowContent(this.currentRequest, contents);
88
+ return contents;
83
89
  });
84
90
  }
85
91
  getContentsByNode(node, locale, prevContents) {
@@ -157,6 +163,9 @@ export default class BotonicPluginFlowBuilder {
157
163
  const payloadParams = JSON.parse(payload.split(SEPARATOR)[1] || '{}');
158
164
  return payloadParams;
159
165
  }
166
+ getFlowName(flowId) {
167
+ return this.cmsApi.getFlowName(flowId);
168
+ }
160
169
  }
161
170
  export * from './action';
162
171
  export * from './content-fields';