@botonic/plugin-flow-builder 0.31.0-alpha.6 → 0.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.
@@ -17,10 +17,11 @@ function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request, resolv
17
17
  return contents;
18
18
  }
19
19
  const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
20
+ const flowId = cmsApi.getNodeById(knowledgeBaseContent.id).flow_id;
20
21
  if (flowBuilderPlugin.getKnowledgeBaseResponse &&
21
22
  (0, utils_1.inputHasTextData)(request.input) &&
22
23
  sourceIds.length > 0) {
23
- const contentsWithKnowledgeResponse = yield getContentsWithKnowledgeResponse(flowBuilderPlugin.getKnowledgeBaseResponse, request, contents, sourceIds);
24
+ const contentsWithKnowledgeResponse = yield getContentsWithKnowledgeResponse(flowBuilderPlugin.getKnowledgeBaseResponse, request, contents, knowledgeBaseContent, flowId);
24
25
  if (contentsWithKnowledgeResponse) {
25
26
  return contentsWithKnowledgeResponse;
26
27
  }
@@ -29,10 +30,11 @@ function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request, resolv
29
30
  });
30
31
  }
31
32
  exports.getContentsByKnowledgeBase = getContentsByKnowledgeBase;
32
- function getContentsWithKnowledgeResponse(getKnowledgeBaseResponse, request, contents, sourceIds) {
33
+ function getContentsWithKnowledgeResponse(getKnowledgeBaseResponse, request, contents, knowledgeBaseContent, flowId) {
33
34
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
35
+ const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
34
36
  const knowledgeBaseResponse = yield getKnowledgeBaseResponse(request, request.input.data, sourceIds);
35
- yield trackKnowledgeBase(knowledgeBaseResponse, request, sourceIds);
37
+ yield trackKnowledgeBase(knowledgeBaseResponse, request, knowledgeBaseContent, flowId);
36
38
  if (!knowledgeBaseResponse.hasKnowledge ||
37
39
  !knowledgeBaseResponse.isFaithuful) {
38
40
  return undefined;
@@ -49,12 +51,15 @@ function updateContentsWithResponse(contents, response) {
49
51
  return content;
50
52
  });
51
53
  }
52
- function trackKnowledgeBase(response, request, sourceIds) {
54
+ function trackKnowledgeBase(response, request, knowledgeBaseContent, flowId) {
53
55
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
+ const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
54
57
  const knowledgebaseInferenceId = response.inferenceId;
55
58
  const knowledgebaseSourcesIds = sourceIds;
56
59
  const knowledgebaseChunksIds = response.chunkIds;
57
60
  const knowledgebaseMessageId = request.input.message_id;
61
+ const flowThreadId = request.session.flow_thread_id;
62
+ const flowNodeId = knowledgeBaseContent.id;
58
63
  let knowledgebaseFailReason;
59
64
  if (!response.isFaithuful) {
60
65
  knowledgebaseFailReason = tracking_1.KnowledgebaseFailReason.Hallucination;
@@ -69,6 +74,9 @@ function trackKnowledgeBase(response, request, sourceIds) {
69
74
  knowledgebaseChunksIds,
70
75
  knowledgebaseMessageId,
71
76
  userInput: request.input.data,
77
+ flowThreadId,
78
+ flowId,
79
+ flowNodeId,
72
80
  });
73
81
  });
74
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,9 @@ function trackIntentEvent(request, intentNode) {
24
24
  nluIntentThreshold: intentNode === null || intentNode === void 0 ? void 0 : intentNode.content.confidence,
25
25
  nluIntentMessageId: request.input.message_id,
26
26
  userInput: request.input.data,
27
+ flowThreadId: request.session.flow_thread_id,
28
+ flowId: intentNode.flow_id,
29
+ flowNodeId: intentNode.id,
27
30
  };
28
31
  yield (0, tracking_1.trackEvent)(request, tracking_1.EventAction.Intent, eventArgs);
29
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/user-input/intent.ts"],"names":[],"mappings":";;;;AAIA,0CAAqD;AAErD,SAAsB,oBAAoB,CACxC,MAAsB,EACtB,MAAc,EACd,OAAsB;;QAEtB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE9D,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE;YAClE,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAE3C,IAAI,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;gBAC9C,OAAO,UAAU,CAAA;aAClB;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA;AAhBD,oDAgBC;AAED,SAAe,gBAAgB,CAC7B,OAAsB,EACtB,UAAwB;;QAExB,MAAM,SAAS,GAAG;YAChB,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YACpC,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;YAC7C,kBAAkB,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,UAAU;YAClD,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;YAC5C,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;SAC9B,CAAA;QACD,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,sBAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC1D,CAAC;CAAA;AAED,SAAS,aAAa,CACpB,UAAwB,EACxB,OAAsB,EACtB,MAAsB;IAEtB,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,UAAU;QACxB,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CACvE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/user-input/intent.ts"],"names":[],"mappings":";;;;AAIA,0CAAqD;AAErD,SAAsB,oBAAoB,CACxC,MAAsB,EACtB,MAAc,EACd,OAAsB;;QAEtB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE9D,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE;YAClE,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAE3C,IAAI,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;gBAC9C,OAAO,UAAU,CAAA;aAClB;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA;AAhBD,oDAgBC;AAED,SAAe,gBAAgB,CAC7B,OAAsB,EACtB,UAAwB;;QAExB,MAAM,SAAS,GAAG;YAChB,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YACpC,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;YAC7C,kBAAkB,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,UAAU;YAClD,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;YAC5C,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YAC7B,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;YAC5C,MAAM,EAAE,UAAU,CAAC,OAAO;YAC1B,UAAU,EAAE,UAAU,CAAC,EAAE;SAC1B,CAAA;QACD,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,sBAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC1D,CAAC;CAAA;AAED,SAAS,aAAa,CACpB,UAAwB,EACxB,OAAsB,EACtB,MAAsB;IAEtB,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,UAAU;QACxB,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CACvE,CAAA;AACH,CAAC"}
@@ -13,6 +13,7 @@ export declare class KeywordMatcher {
13
13
  isRegExp: boolean;
14
14
  matchedKeyword?: string;
15
15
  keywordNodeId?: string;
16
+ flowId?: string;
16
17
  constructor({ cmsApi, locale, request }: KeywordProps);
17
18
  getNodeByInput(userInput: string): Promise<HtKeywordNode | undefined>;
18
19
  private getNodeByKeyword;
@@ -30,6 +30,7 @@ class KeywordMatcher {
30
30
  const result = node.content.keywords.find(keywords => {
31
31
  if (keywords.locale === this.locale) {
32
32
  this.keywordNodeId = node.id;
33
+ this.flowId = this.cmsApi.getNodeById(node.id).flow_id;
33
34
  return this.inputMatchesAnyKeyword(userInput, keywords.values);
34
35
  }
35
36
  return false;
@@ -59,11 +60,13 @@ class KeywordMatcher {
59
60
  trackKeywordEvent() {
60
61
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
62
  const eventArgs = {
62
- nluKeywordId: this.keywordNodeId,
63
63
  nluKeywordName: this.matchedKeyword,
64
64
  nluKeywordIsRegex: this.isRegExp,
65
65
  nluKeywordMessageId: this.request.input.message_id,
66
66
  userInput: this.request.input.data,
67
+ flowThreadId: this.request.session.flow_thread_id,
68
+ flowId: this.flowId,
69
+ flowNodeId: this.keywordNodeId,
67
70
  };
68
71
  yield (0, tracking_1.trackEvent)(this.request, tracking_1.EventAction.Keyword, eventArgs);
69
72
  });
@@ -1 +1 @@
1
- {"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":";;;;AAGA,4CAA8C;AAK9C,0CAAqD;AAOrD,MAAa,cAAc;IASzB,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAgB;QACnD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;IACvB,CAAC;IAEK,cAAc,CAAC,SAAiB;;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAA;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;YAClE,IAAI,CAAC,WAAW,EAAE;gBAChB,OAAO,SAAS,CAAA;aACjB;YACD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAA;YAC9B,OAAO,WAAW,CAAA;QACpB,CAAC;KAAA;IAEO,gBAAgB,CACtB,SAAiB,EACjB,YAA6B;QAE7B,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CACpC,CAAA;QAED,OAAO,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,EAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAA;IACpE,CAAC;IAEO,aAAa,CAAC,SAAiB,EAAE,IAAmB;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;gBACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAA;gBAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CACnC,IAAI,CAAC,EAAE,CACR,CAAC,OAAO,CAAA;gBACT,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;aAC/D;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IAEO,sBAAsB,CAC5B,SAAiB,EACjB,QAAkB;QAElB,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7B,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,2BAAe,CAAC,CAAA;YAEvD,IAAI,gBAAgB,EAAE;gBACpB,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAA;gBACrE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;gBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACpB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;aACnD;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;gBACrB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;aACxE;YAED,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,sBAAsB,CAAC,gBAAkC;QAC/D,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,gBAAgB,CAAA;QAC3C,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACnC,CAAC;IAEa,iBAAiB;;YAC7B,MAAM,SAAS,GAAG;gBAChB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,iBAAiB,EAAE,IAAI,CAAC,QAAQ;gBAChC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU;gBAClD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI;gBAClC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc;gBACjD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,aAAa;aAC/B,CAAA;YACD,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,sBAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAChE,CAAC;KAAA;CACF;AA3FD,wCA2FC"}
@@ -15,7 +15,8 @@ export declare class SmartIntentsApi {
15
15
  cmsApi: FlowBuilderApi;
16
16
  currentRequest: ActionRequest;
17
17
  smartIntentsConfig: SmartIntentsInferenceConfig;
18
- constructor(cmsApi: FlowBuilderApi, currentRequest: ActionRequest, smartIntentsConfig: SmartIntentsInferenceConfig);
18
+ flowId?: string | undefined;
19
+ constructor(cmsApi: FlowBuilderApi, currentRequest: ActionRequest, smartIntentsConfig: SmartIntentsInferenceConfig, flowId?: string | undefined);
19
20
  getNodeByInput(): Promise<HtSmartIntentNode | undefined>;
20
21
  private resolveUseLatest;
21
22
  private getInference;
@@ -6,10 +6,11 @@ const axios_1 = tslib_1.__importDefault(require("axios"));
6
6
  const helpers_1 = require("../helpers");
7
7
  const tracking_1 = require("../tracking");
8
8
  class SmartIntentsApi {
9
- constructor(cmsApi, currentRequest, smartIntentsConfig) {
9
+ constructor(cmsApi, currentRequest, smartIntentsConfig, flowId) {
10
10
  this.cmsApi = cmsApi;
11
11
  this.currentRequest = currentRequest;
12
12
  this.smartIntentsConfig = smartIntentsConfig;
13
+ this.flowId = flowId;
13
14
  }
14
15
  getNodeByInput() {
15
16
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -33,6 +34,9 @@ class SmartIntentsApi {
33
34
  nluIntentSmartNumUsed: response.data.smart_intents_used.length,
34
35
  nluIntentSmartMessageId: this.currentRequest.input.message_id,
35
36
  userInput: this.currentRequest.input.data,
37
+ flowThreadId: this.currentRequest.session.flow_thread_id,
38
+ flowId: smartIntentNode.flow_id,
39
+ flowNodeId: smartIntentNode.id,
36
40
  });
37
41
  return smartIntentNode;
38
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":";;;;AACA,0DAAyB;AAIzB,wCAAiD;AACjD,0CAAqD;AAerD,MAAa,eAAe;IAC1B,YACS,MAAsB,EACtB,cAA6B,EAC7B,kBAA+C;QAF/C,WAAM,GAAN,MAAM,CAAgB;QACtB,mBAAc,GAAd,cAAc,CAAe;QAC7B,uBAAkB,GAAlB,kBAAkB,CAA6B;IACrD,CAAC;IAEE,cAAc;;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAA;YACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAA;YAC1D,IAAI,CAAC,gBAAgB,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAA;YAE9C,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI;gBACpC,wBAAwB,EAAE,IAAI,CAAC,kBAAkB,CAAC,oBAAoB;gBACtE,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE;aACpC,CAAA;YAED,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBAChD,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAC3C,eAAe,CAAC,EAAE,CAChB,eAAe,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CACrE,CAAA;gBACD,IAAI,eAAe,EAAE;oBACnB,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,cAAc,EAAE,sBAAW,CAAC,WAAW,EAAE;wBAC7D,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB;wBACrD,qBAAqB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM;wBAC9D,uBAAuB,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU;wBAC7D,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI;qBAC1C,CAAC,CAAA;oBACF,OAAO,eAAe,CAAA;iBACvB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;aACjB;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;KAAA;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB;YAAE,OAAO,KAAK,CAAA;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAA;IAC1C,CAAC;IAEa,YAAY,CACxB,eAA4C;;YAE5C,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YAC3E,MAAM,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YAE3E,OAAO,MAAM,IAAA,eAAK,EAAC;gBACjB,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,0CAA0C;gBAC7E,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AA9DD,0CA8DC"}
1
+ {"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,11 @@ export function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request,
14
14
  return contents;
15
15
  }
16
16
  const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
17
+ const flowId = cmsApi.getNodeById(knowledgeBaseContent.id).flow_id;
17
18
  if (flowBuilderPlugin.getKnowledgeBaseResponse &&
18
19
  inputHasTextData(request.input) &&
19
20
  sourceIds.length > 0) {
20
- const contentsWithKnowledgeResponse = yield getContentsWithKnowledgeResponse(flowBuilderPlugin.getKnowledgeBaseResponse, request, contents, sourceIds);
21
+ const contentsWithKnowledgeResponse = yield getContentsWithKnowledgeResponse(flowBuilderPlugin.getKnowledgeBaseResponse, request, contents, knowledgeBaseContent, flowId);
21
22
  if (contentsWithKnowledgeResponse) {
22
23
  return contentsWithKnowledgeResponse;
23
24
  }
@@ -25,10 +26,11 @@ export function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request,
25
26
  return [];
26
27
  });
27
28
  }
28
- function getContentsWithKnowledgeResponse(getKnowledgeBaseResponse, request, contents, sourceIds) {
29
+ function getContentsWithKnowledgeResponse(getKnowledgeBaseResponse, request, contents, knowledgeBaseContent, flowId) {
29
30
  return __awaiter(this, void 0, void 0, function* () {
31
+ const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
30
32
  const knowledgeBaseResponse = yield getKnowledgeBaseResponse(request, request.input.data, sourceIds);
31
- yield trackKnowledgeBase(knowledgeBaseResponse, request, sourceIds);
33
+ yield trackKnowledgeBase(knowledgeBaseResponse, request, knowledgeBaseContent, flowId);
32
34
  if (!knowledgeBaseResponse.hasKnowledge ||
33
35
  !knowledgeBaseResponse.isFaithuful) {
34
36
  return undefined;
@@ -45,12 +47,15 @@ function updateContentsWithResponse(contents, response) {
45
47
  return content;
46
48
  });
47
49
  }
48
- function trackKnowledgeBase(response, request, sourceIds) {
50
+ function trackKnowledgeBase(response, request, knowledgeBaseContent, flowId) {
49
51
  return __awaiter(this, void 0, void 0, function* () {
52
+ const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
50
53
  const knowledgebaseInferenceId = response.inferenceId;
51
54
  const knowledgebaseSourcesIds = sourceIds;
52
55
  const knowledgebaseChunksIds = response.chunkIds;
53
56
  const knowledgebaseMessageId = request.input.message_id;
57
+ const flowThreadId = request.session.flow_thread_id;
58
+ const flowNodeId = knowledgeBaseContent.id;
54
59
  let knowledgebaseFailReason;
55
60
  if (!response.isFaithuful) {
56
61
  knowledgebaseFailReason = KnowledgebaseFailReason.Hallucination;
@@ -65,6 +70,9 @@ function trackKnowledgeBase(response, request, sourceIds) {
65
70
  knowledgebaseChunksIds,
66
71
  knowledgebaseMessageId,
67
72
  userInput: request.input.data,
73
+ flowThreadId,
74
+ flowId,
75
+ flowNodeId,
68
76
  });
69
77
  });
70
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,9 @@ function trackIntentEvent(request, intentNode) {
20
20
  nluIntentThreshold: intentNode === null || intentNode === void 0 ? void 0 : intentNode.content.confidence,
21
21
  nluIntentMessageId: request.input.message_id,
22
22
  userInput: request.input.data,
23
+ flowThreadId: request.session.flow_thread_id,
24
+ flowId: intentNode.flow_id,
25
+ flowNodeId: intentNode.id,
23
26
  };
24
27
  yield trackEvent(request, EventAction.Intent, eventArgs);
25
28
  });
@@ -1 +1 @@
1
- {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/user-input/intent.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,UAAgB,oBAAoB,CACxC,MAAsB,EACtB,MAAc,EACd,OAAsB;;QAEtB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE9D,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE;YAClE,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAE3C,IAAI,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;gBAC9C,OAAO,UAAU,CAAA;aAClB;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA;AAED,SAAe,gBAAgB,CAC7B,OAAsB,EACtB,UAAwB;;QAExB,MAAM,SAAS,GAAG;YAChB,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YACpC,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;YAC7C,kBAAkB,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,UAAU;YAClD,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;YAC5C,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;SAC9B,CAAA;QACD,MAAM,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC1D,CAAC;CAAA;AAED,SAAS,aAAa,CACpB,UAAwB,EACxB,OAAsB,EACtB,MAAsB;IAEtB,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,UAAU;QACxB,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CACvE,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/user-input/intent.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,UAAgB,oBAAoB,CACxC,MAAsB,EACtB,MAAc,EACd,OAAsB;;QAEtB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAE9D,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE;YAClE,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAE3C,IAAI,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;gBAC9C,OAAO,UAAU,CAAA;aAClB;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA;AAED,SAAe,gBAAgB,CAC7B,OAAsB,EACtB,UAAwB;;QAExB,MAAM,SAAS,GAAG;YAChB,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;YACpC,mBAAmB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;YAC7C,kBAAkB,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,UAAU;YAClD,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;YAC5C,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;YAC7B,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;YAC5C,MAAM,EAAE,UAAU,CAAC,OAAO;YAC1B,UAAU,EAAE,UAAU,CAAC,EAAE;SAC1B,CAAA;QACD,MAAM,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC1D,CAAC;CAAA;AAED,SAAS,aAAa,CACpB,UAAwB,EACxB,OAAsB,EACtB,MAAsB;IAEtB,OAAO,CACL,OAAO,CAAC,KAAK,CAAC,UAAU;QACxB,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CACvE,CAAA;AACH,CAAC"}
@@ -13,6 +13,7 @@ export declare class KeywordMatcher {
13
13
  isRegExp: boolean;
14
14
  matchedKeyword?: string;
15
15
  keywordNodeId?: string;
16
+ flowId?: string;
16
17
  constructor({ cmsApi, locale, request }: KeywordProps);
17
18
  getNodeByInput(userInput: string): Promise<HtKeywordNode | undefined>;
18
19
  private getNodeByKeyword;
@@ -27,6 +27,7 @@ export class KeywordMatcher {
27
27
  const result = node.content.keywords.find(keywords => {
28
28
  if (keywords.locale === this.locale) {
29
29
  this.keywordNodeId = node.id;
30
+ this.flowId = this.cmsApi.getNodeById(node.id).flow_id;
30
31
  return this.inputMatchesAnyKeyword(userInput, keywords.values);
31
32
  }
32
33
  return false;
@@ -56,11 +57,13 @@ export class KeywordMatcher {
56
57
  trackKeywordEvent() {
57
58
  return __awaiter(this, void 0, void 0, function* () {
58
59
  const eventArgs = {
59
- nluKeywordId: this.keywordNodeId,
60
60
  nluKeywordName: this.matchedKeyword,
61
61
  nluKeywordIsRegex: this.isRegExp,
62
62
  nluKeywordMessageId: this.request.input.message_id,
63
63
  userInput: this.request.input.data,
64
+ flowThreadId: this.request.session.flow_thread_id,
65
+ flowId: this.flowId,
66
+ flowNodeId: this.keywordNodeId,
64
67
  };
65
68
  yield trackEvent(this.request, EventAction.Keyword, eventArgs);
66
69
  });
@@ -1 +1 @@
1
- {"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,8 @@ export declare class SmartIntentsApi {
15
15
  cmsApi: FlowBuilderApi;
16
16
  currentRequest: ActionRequest;
17
17
  smartIntentsConfig: SmartIntentsInferenceConfig;
18
- constructor(cmsApi: FlowBuilderApi, currentRequest: ActionRequest, smartIntentsConfig: SmartIntentsInferenceConfig);
18
+ flowId?: string | undefined;
19
+ constructor(cmsApi: FlowBuilderApi, currentRequest: ActionRequest, smartIntentsConfig: SmartIntentsInferenceConfig, flowId?: string | undefined);
19
20
  getNodeByInput(): Promise<HtSmartIntentNode | undefined>;
20
21
  private resolveUseLatest;
21
22
  private getInference;
@@ -3,10 +3,11 @@ import axios from 'axios';
3
3
  import { getFlowBuilderPlugin } from '../helpers';
4
4
  import { EventAction, trackEvent } from '../tracking';
5
5
  export class SmartIntentsApi {
6
- constructor(cmsApi, currentRequest, smartIntentsConfig) {
6
+ constructor(cmsApi, currentRequest, smartIntentsConfig, flowId) {
7
7
  this.cmsApi = cmsApi;
8
8
  this.currentRequest = currentRequest;
9
9
  this.smartIntentsConfig = smartIntentsConfig;
10
+ this.flowId = flowId;
10
11
  }
11
12
  getNodeByInput() {
12
13
  return __awaiter(this, void 0, void 0, function* () {
@@ -30,6 +31,9 @@ export class SmartIntentsApi {
30
31
  nluIntentSmartNumUsed: response.data.smart_intents_used.length,
31
32
  nluIntentSmartMessageId: this.currentRequest.input.message_id,
32
33
  userInput: this.currentRequest.input.data,
34
+ flowThreadId: this.currentRequest.session.flow_thread_id,
35
+ flowId: smartIntentNode.flow_id,
36
+ flowNodeId: smartIntentNode.id,
33
37
  });
34
38
  return smartIntentNode;
35
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAerD,MAAM,OAAO,eAAe;IAC1B,YACS,MAAsB,EACtB,cAA6B,EAC7B,kBAA+C;QAF/C,WAAM,GAAN,MAAM,CAAgB;QACtB,mBAAc,GAAd,cAAc,CAAe;QAC7B,uBAAkB,GAAlB,kBAAkB,CAA6B;IACrD,CAAC;IAEE,cAAc;;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAA;YACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAA;YAC1D,IAAI,CAAC,gBAAgB,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAA;YAE9C,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC1C,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI;gBACpC,wBAAwB,EAAE,IAAI,CAAC,kBAAkB,CAAC,oBAAoB;gBACtE,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE;aACpC,CAAA;YAED,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBAChD,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAC3C,eAAe,CAAC,EAAE,CAChB,eAAe,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CACrE,CAAA;gBACD,IAAI,eAAe,EAAE;oBACnB,MAAM,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,WAAW,EAAE;wBAC7D,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB;wBACrD,qBAAqB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM;wBAC9D,uBAAuB,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU;wBAC7D,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI;qBAC1C,CAAC,CAAA;oBACF,OAAO,eAAe,CAAA;iBACvB;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;aACjB;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;KAAA;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB;YAAE,OAAO,KAAK,CAAA;QACjE,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAA;IAC1C,CAAC;IAEa,YAAY,CACxB,eAA4C;;YAE5C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YAC3E,MAAM,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;YAE3E,OAAO,MAAM,KAAK,CAAC;gBACjB,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,0CAA0C;gBAC7E,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;QACJ,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.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.31.0-alpha.6",
3
+ "version": "0.31.0",
4
4
  "main": "./lib/cjs/index.js",
5
5
  "module": "./lib/esm/index.js",
6
6
  "description": "Use Flow Builder to show your contents",
@@ -14,8 +14,8 @@
14
14
  "lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'"
15
15
  },
16
16
  "dependencies": {
17
- "@botonic/react": "0.31.0-alpha.6",
18
- "axios": "^1.7.2",
17
+ "@botonic/react": "^0.31.0",
18
+ "axios": "^1.7.9",
19
19
  "uuid": "^10.0.0"
20
20
  },
21
21
  "repository": {
@@ -32,7 +32,8 @@
32
32
  "README.md"
33
33
  ],
34
34
  "engines": {
35
- "node": ">=20.0.0"
35
+ "node": ">=20.0.0",
36
+ "npm": ">=10.0.0"
36
37
  },
37
38
  "keywords": [
38
39
  "bot-framework",
@@ -1,6 +1,7 @@
1
1
  import { ActionRequest } from '@botonic/react'
2
2
 
3
3
  import { FlowContent, FlowKnowledgeBase } from '../content-fields'
4
+ import { HtNodeWithContent } from '../content-fields/hubtype-fields/nodes'
4
5
  import { EventAction, KnowledgebaseFailReason, trackEvent } from '../tracking'
5
6
  import { KnowledgeBaseFunction, KnowledgeBaseResponse } from '../types'
6
7
  import { inputHasTextData } from '../utils'
@@ -32,6 +33,9 @@ export async function getContentsByKnowledgeBase({
32
33
  }
33
34
 
34
35
  const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id)
36
+ const flowId = cmsApi.getNodeById<HtNodeWithContent>(
37
+ knowledgeBaseContent.id
38
+ ).flow_id
35
39
 
36
40
  if (
37
41
  flowBuilderPlugin.getKnowledgeBaseResponse &&
@@ -43,7 +47,8 @@ export async function getContentsByKnowledgeBase({
43
47
  flowBuilderPlugin.getKnowledgeBaseResponse,
44
48
  request,
45
49
  contents,
46
- sourceIds
50
+ knowledgeBaseContent,
51
+ flowId
47
52
  )
48
53
 
49
54
  if (contentsWithKnowledgeResponse) {
@@ -58,14 +63,21 @@ async function getContentsWithKnowledgeResponse(
58
63
  getKnowledgeBaseResponse: KnowledgeBaseFunction,
59
64
  request: ActionRequest,
60
65
  contents: FlowContent[],
61
- sourceIds: string[]
66
+ knowledgeBaseContent: FlowKnowledgeBase,
67
+ flowId: string
62
68
  ): Promise<FlowContent[] | undefined> {
69
+ const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id)
63
70
  const knowledgeBaseResponse = await getKnowledgeBaseResponse(
64
71
  request,
65
72
  request.input.data!,
66
73
  sourceIds
67
74
  )
68
- await trackKnowledgeBase(knowledgeBaseResponse, request, sourceIds)
75
+ await trackKnowledgeBase(
76
+ knowledgeBaseResponse,
77
+ request,
78
+ knowledgeBaseContent,
79
+ flowId
80
+ )
69
81
 
70
82
  if (
71
83
  !knowledgeBaseResponse.hasKnowledge ||
@@ -94,12 +106,16 @@ function updateContentsWithResponse(
94
106
  async function trackKnowledgeBase(
95
107
  response: KnowledgeBaseResponse,
96
108
  request: ActionRequest,
97
- sourceIds: string[]
109
+ knowledgeBaseContent: FlowKnowledgeBase,
110
+ flowId: string
98
111
  ) {
112
+ const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id)
99
113
  const knowledgebaseInferenceId = response.inferenceId
100
114
  const knowledgebaseSourcesIds = sourceIds
101
115
  const knowledgebaseChunksIds = response.chunkIds
102
116
  const knowledgebaseMessageId = request.input.message_id
117
+ const flowThreadId = request.session.flow_thread_id
118
+ const flowNodeId = knowledgeBaseContent.id
103
119
 
104
120
  let knowledgebaseFailReason: KnowledgebaseFailReason | undefined
105
121
 
@@ -118,5 +134,8 @@ async function trackKnowledgeBase(
118
134
  knowledgebaseChunksIds,
119
135
  knowledgebaseMessageId,
120
136
  userInput: request.input.data,
137
+ flowThreadId,
138
+ flowId,
139
+ flowNodeId,
121
140
  })
122
141
  }
@@ -32,6 +32,9 @@ async function trackIntentEvent(
32
32
  nluIntentThreshold: intentNode?.content.confidence,
33
33
  nluIntentMessageId: request.input.message_id,
34
34
  userInput: request.input.data,
35
+ flowThreadId: request.session.flow_thread_id,
36
+ flowId: intentNode.flow_id,
37
+ flowNodeId: intentNode.id,
35
38
  }
36
39
  await trackEvent(request, EventAction.Intent, eventArgs)
37
40
  }
@@ -2,7 +2,10 @@ import { ActionRequest } from '@botonic/react'
2
2
 
3
3
  import { FlowBuilderApi } from '../api'
4
4
  import { REG_EXP_PATTERN } from '../constants'
5
- import { HtKeywordNode } from '../content-fields/hubtype-fields'
5
+ import {
6
+ HtKeywordNode,
7
+ HtNodeWithContent,
8
+ } from '../content-fields/hubtype-fields'
6
9
  import { EventAction, trackEvent } from '../tracking'
7
10
 
8
11
  interface KeywordProps {
@@ -17,6 +20,7 @@ export class KeywordMatcher {
17
20
  public isRegExp: boolean
18
21
  public matchedKeyword?: string
19
22
  public keywordNodeId?: string
23
+ public flowId?: string
20
24
 
21
25
  constructor({ cmsApi, locale, request }: KeywordProps) {
22
26
  this.cmsApi = cmsApi
@@ -50,6 +54,9 @@ export class KeywordMatcher {
50
54
  const result = node.content.keywords.find(keywords => {
51
55
  if (keywords.locale === this.locale) {
52
56
  this.keywordNodeId = node.id
57
+ this.flowId = this.cmsApi.getNodeById<HtNodeWithContent>(
58
+ node.id
59
+ ).flow_id
53
60
  return this.inputMatchesAnyKeyword(userInput, keywords.values)
54
61
  }
55
62
 
@@ -87,11 +94,13 @@ export class KeywordMatcher {
87
94
 
88
95
  private async trackKeywordEvent() {
89
96
  const eventArgs = {
90
- nluKeywordId: this.keywordNodeId,
91
97
  nluKeywordName: this.matchedKeyword,
92
98
  nluKeywordIsRegex: this.isRegExp,
93
99
  nluKeywordMessageId: this.request.input.message_id,
94
100
  userInput: this.request.input.data,
101
+ flowThreadId: this.request.session.flow_thread_id,
102
+ flowId: this.flowId,
103
+ flowNodeId: this.keywordNodeId,
95
104
  }
96
105
  await trackEvent(this.request, EventAction.Keyword, eventArgs)
97
106
  }
@@ -23,7 +23,8 @@ export class SmartIntentsApi {
23
23
  constructor(
24
24
  public cmsApi: FlowBuilderApi,
25
25
  public currentRequest: ActionRequest,
26
- public smartIntentsConfig: SmartIntentsInferenceConfig
26
+ public smartIntentsConfig: SmartIntentsInferenceConfig,
27
+ public flowId?: string
27
28
  ) {}
28
29
 
29
30
  async getNodeByInput(): Promise<HtSmartIntentNode | undefined> {
@@ -50,6 +51,9 @@ export class SmartIntentsApi {
50
51
  nluIntentSmartNumUsed: response.data.smart_intents_used.length,
51
52
  nluIntentSmartMessageId: this.currentRequest.input.message_id,
52
53
  userInput: this.currentRequest.input.data,
54
+ flowThreadId: this.currentRequest.session.flow_thread_id,
55
+ flowId: smartIntentNode.flow_id,
56
+ flowNodeId: smartIntentNode.id,
53
57
  })
54
58
  return smartIntentNode
55
59
  }