@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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,29 @@
1
1
  import { ActionRequest } from '@botonic/react';
2
- export declare function trackEvent(request: ActionRequest, eventName: EventName, args?: Record<string, any>): Promise<void>;
3
- export declare enum EventName {
4
- botAgentRating = "bot_agent_rating",
5
- botChannelRating = "bot_channel_rating",
6
- botFaqUseful = "bot_faq_useful",
7
- botRating = "bot_rating",
8
- botFaq = "bot_faq",
9
- botStart = "bot_start",
10
- botOpen = "bot_open",
11
- botAiModel = "bot_ai_model",
12
- botAiKnowledgeBase = "bot_ai_knowledge_base",
13
- botKeywordsModel = "bot_keywords_model",
14
- fallback = "fallback",
15
- handoffOption = "handoff_option",
16
- handoffSuccess = "handoff_success",
17
- handoffFail = "handoff_fail"
2
+ import { FlowContent } from './content-fields';
3
+ export declare enum EventAction {
4
+ FlowNode = "flow_node",
5
+ Keyword = "nlu_keyword",
6
+ Intent = "nlu_intent",
7
+ IntentSmart = "nlu_intent_smart",
8
+ Knowledgebase = "knowledgebase",
9
+ Fallback = "fallback"
18
10
  }
11
+ export declare enum KnowledgebaseFailReason {
12
+ NoKnowledge = "no_knowledge",
13
+ Hallucination = "hallucination"
14
+ }
15
+ export declare function trackEvent(request: ActionRequest, eventAction: EventAction, args?: Record<string, any>): Promise<void>;
16
+ export declare function trackFlowContent(request: ActionRequest, contents: FlowContent[]): Promise<void>;
17
+ export declare function getContentEventArgs(request: ActionRequest, contentInfo: {
18
+ code: string;
19
+ flowId: string;
20
+ flowName: string;
21
+ id: string;
22
+ }): {
23
+ flowThreadId: string | undefined;
24
+ flowId: string;
25
+ flowName: string;
26
+ flowNodeId: string;
27
+ flowNodeContentId: string;
28
+ flowNodeIsMeaningful: undefined;
29
+ };
@@ -1,33 +1,58 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventName = exports.trackEvent = void 0;
3
+ exports.getContentEventArgs = exports.trackFlowContent = exports.trackEvent = exports.KnowledgebaseFailReason = exports.EventAction = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const helpers_1 = require("./helpers");
6
- function trackEvent(request, eventName, args) {
6
+ var EventAction;
7
+ (function (EventAction) {
8
+ EventAction["FlowNode"] = "flow_node";
9
+ EventAction["Keyword"] = "nlu_keyword";
10
+ EventAction["Intent"] = "nlu_intent";
11
+ EventAction["IntentSmart"] = "nlu_intent_smart";
12
+ EventAction["Knowledgebase"] = "knowledgebase";
13
+ EventAction["Fallback"] = "fallback";
14
+ })(EventAction = exports.EventAction || (exports.EventAction = {}));
15
+ var KnowledgebaseFailReason;
16
+ (function (KnowledgebaseFailReason) {
17
+ KnowledgebaseFailReason["NoKnowledge"] = "no_knowledge";
18
+ KnowledgebaseFailReason["Hallucination"] = "hallucination";
19
+ })(KnowledgebaseFailReason = exports.KnowledgebaseFailReason || (exports.KnowledgebaseFailReason = {}));
20
+ function trackEvent(request, eventAction, args) {
7
21
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
22
  const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
9
23
  if (flowBuilderPlugin.trackEvent) {
10
- yield flowBuilderPlugin.trackEvent(request, eventName, args);
24
+ yield flowBuilderPlugin.trackEvent(request, eventAction, args);
11
25
  }
12
26
  return;
13
27
  });
14
28
  }
15
29
  exports.trackEvent = trackEvent;
16
- var EventName;
17
- (function (EventName) {
18
- EventName["botAgentRating"] = "bot_agent_rating";
19
- EventName["botChannelRating"] = "bot_channel_rating";
20
- EventName["botFaqUseful"] = "bot_faq_useful";
21
- EventName["botRating"] = "bot_rating";
22
- EventName["botFaq"] = "bot_faq";
23
- EventName["botStart"] = "bot_start";
24
- EventName["botOpen"] = "bot_open";
25
- EventName["botAiModel"] = "bot_ai_model";
26
- EventName["botAiKnowledgeBase"] = "bot_ai_knowledge_base";
27
- EventName["botKeywordsModel"] = "bot_keywords_model";
28
- EventName["fallback"] = "fallback";
29
- EventName["handoffOption"] = "handoff_option";
30
- EventName["handoffSuccess"] = "handoff_success";
31
- EventName["handoffFail"] = "handoff_fail";
32
- })(EventName = exports.EventName || (exports.EventName = {}));
30
+ function trackFlowContent(request, contents) {
31
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
32
+ const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
33
+ const cmsApi = flowBuilderPlugin.cmsApi;
34
+ const firstNodeContent = cmsApi.getNodeById(contents[0].id);
35
+ const flowName = flowBuilderPlugin.getFlowName(firstNodeContent.flow_id);
36
+ const eventArgs = getContentEventArgs(request, {
37
+ code: firstNodeContent.code,
38
+ flowId: firstNodeContent.flow_id,
39
+ flowName,
40
+ id: firstNodeContent.id,
41
+ });
42
+ yield trackEvent(request, EventAction.FlowNode, eventArgs);
43
+ });
44
+ }
45
+ exports.trackFlowContent = trackFlowContent;
46
+ function getContentEventArgs(request, contentInfo) {
47
+ const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
48
+ return {
49
+ flowThreadId: request.session.flow_thread_id,
50
+ flowId: contentInfo.flowId,
51
+ flowName: flowBuilderPlugin.getFlowName(contentInfo.flowId),
52
+ flowNodeId: contentInfo.id,
53
+ flowNodeContentId: contentInfo.code,
54
+ flowNodeIsMeaningful: undefined, //node?.isMeaningful,
55
+ };
56
+ }
57
+ exports.getContentEventArgs = getContentEventArgs;
33
58
  //# sourceMappingURL=tracking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":";;;;AAEA,uCAAgD;AAEhD,SAAsB,UAAU,CAC9B,OAAsB,EACtB,SAAoB,EACpB,IAA0B;;QAE1B,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,IAAI,iBAAiB,CAAC,UAAU,EAAE;YAChC,MAAM,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;SAC7D;QACD,OAAM;IACR,CAAC;CAAA;AAVD,gCAUC;AAED,IAAY,SAeX;AAfD,WAAY,SAAS;IACnB,gDAAmC,CAAA;IACnC,oDAAuC,CAAA;IACvC,4CAA+B,CAAA;IAC/B,qCAAwB,CAAA;IACxB,+BAAkB,CAAA;IAClB,mCAAsB,CAAA;IACtB,iCAAoB,CAAA;IACpB,wCAA2B,CAAA;IAC3B,yDAA4C,CAAA;IAC5C,oDAAuC,CAAA;IACvC,kCAAqB,CAAA;IACrB,6CAAgC,CAAA;IAChC,+CAAkC,CAAA;IAClC,yCAA4B,CAAA;AAC9B,CAAC,EAfW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAepB"}
1
+ {"version":3,"file":"tracking.js","sourceRoot":"","sources":["../../src/tracking.ts"],"names":[],"mappings":";;;;AAIA,uCAAgD;AAEhD,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,qCAAsB,CAAA;IACtB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,+CAAgC,CAAA;IAChC,8CAA+B,CAAA;IAC/B,oCAAqB,CAAA;AACvB,CAAC,EAPW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAOtB;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,uDAA4B,CAAA;IAC5B,0DAA+B,CAAA;AACjC,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC;AAED,SAAsB,UAAU,CAC9B,OAAsB,EACtB,WAAwB,EACxB,IAA0B;;QAE1B,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,IAAI,iBAAiB,CAAC,UAAU,EAAE;YAChC,MAAM,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;SAC/D;QACD,OAAM;IACR,CAAC;CAAA;AAVD,gCAUC;AAED,SAAsB,gBAAgB,CACpC,OAAsB,EACtB,QAAuB;;QAEvB,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;QACvC,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAoB,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAC9E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACxE,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,EAAE;YAC7C,IAAI,EAAE,gBAAgB,CAAC,IAAI;YAC3B,MAAM,EAAE,gBAAgB,CAAC,OAAO;YAChC,QAAQ;YACR,EAAE,EAAE,gBAAgB,CAAC,EAAE;SACxB,CAAC,CAAA;QACF,MAAM,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC5D,CAAC;CAAA;AAfD,4CAeC;AAED,SAAgB,mBAAmB,CACjC,OAAsB,EACtB,WAKC;IAED,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc;QAC5C,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,QAAQ,EAAE,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC;QAC3D,UAAU,EAAE,WAAW,CAAC,EAAE;QAC1B,iBAAiB,EAAE,WAAW,CAAC,IAAI;QACnC,oBAAoB,EAAE,SAAS,EAAE,qBAAqB;KACvD,CAAA;AACH,CAAC;AAlBD,kDAkBC"}
@@ -8,8 +8,11 @@ export interface BotonicPluginFlowBuilderOptions {
8
8
  customFunctions?: Record<any, any>;
9
9
  getLocale: (session: Session) => string;
10
10
  getAccessToken: () => string;
11
- trackEvent?: (request: ActionRequest, eventName: string, args?: Record<string, any>) => Promise<void>;
11
+ trackEvent?: (request: ActionRequest, eventAction: string, args?: Record<string, any>) => Promise<void>;
12
12
  getKnowledgeBaseResponse?: (request: ActionRequest) => Promise<KnowledgeBaseResponse>;
13
+ smartIntentsConfig?: {
14
+ numSmartIntentsToUse: number;
15
+ };
13
16
  }
14
17
  export interface FlowBuilderApiOptions {
15
18
  url: string;
@@ -26,13 +29,27 @@ export declare enum FlowBuilderJSONVersion {
26
29
  LATEST = "latest"
27
30
  }
28
31
  export interface KnowledgeBaseResponse {
32
+ inferenceId: string;
33
+ question: string;
29
34
  answer: string;
30
35
  hasKnowledge: boolean;
36
+ isFaithuful: boolean;
31
37
  sources: {
38
+ knowledgeBaseId: string;
32
39
  knowledgeSourceId: string;
33
- page?: number;
40
+ knowledgeChunkId: string;
34
41
  }[];
35
42
  }
43
+ export interface SmartIntentResponse {
44
+ data: {
45
+ smart_intent_title: string;
46
+ text: string;
47
+ smart_intents_used: {
48
+ title: string;
49
+ description: string;
50
+ }[];
51
+ };
52
+ }
36
53
  export interface PayloadParamsBase {
37
54
  followUpContentID?: string;
38
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA6BA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B;AAED,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,2CAAiB,CAAA;AACnB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA8BA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B;AAED,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,yCAAe,CAAA;IACf,2CAAiB,CAAA;AACnB,CAAC,EAHW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAGjC"}
@@ -1,4 +1,5 @@
1
1
  import { ActionRequest } from '@botonic/react';
2
2
  import { FlowBuilderApi } from '../api';
3
3
  import { HtIntentNode, HtKeywordNode, HtSmartIntentNode } from '../content-fields/hubtype-fields';
4
- export declare function getNodeByUserInput(cmsApi: FlowBuilderApi, locale: string, request: ActionRequest): Promise<HtSmartIntentNode | HtIntentNode | HtKeywordNode | undefined>;
4
+ import { SmartIntentsInferenceConfig } from './smart-intent';
5
+ export declare function getNodeByUserInput(cmsApi: FlowBuilderApi, locale: string, request: ActionRequest, smartIntentsConfig: SmartIntentsInferenceConfig): Promise<HtSmartIntentNode | HtIntentNode | HtKeywordNode | undefined>;
@@ -5,13 +5,19 @@ const tslib_1 = require("tslib");
5
5
  const intent_1 = require("./intent");
6
6
  const keyword_1 = require("./keyword");
7
7
  const smart_intent_1 = require("./smart-intent");
8
- function getNodeByUserInput(cmsApi, locale, request) {
8
+ function getNodeByUserInput(cmsApi, locale, request, smartIntentsConfig) {
9
9
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
10
  if (request.input.data) {
11
- const keywordNode = yield (0, keyword_1.getKeywordNodeByInput)(cmsApi, locale, request, request.input.data);
11
+ const keywordMatcher = new keyword_1.KeywordMatcher({
12
+ cmsApi,
13
+ locale,
14
+ request,
15
+ });
16
+ const keywordNode = yield keywordMatcher.getNodeByInput(request.input.data);
12
17
  if (keywordNode)
13
18
  return keywordNode;
14
- const smartIntentNode = yield (0, smart_intent_1.getSmartIntentNodeByInput)(cmsApi, request);
19
+ const smartIntentsApi = new smart_intent_1.SmartIntentsApi(cmsApi, request, smartIntentsConfig);
20
+ const smartIntentNode = yield smartIntentsApi.getNodeByInput();
15
21
  if (smartIntentNode)
16
22
  return smartIntentNode;
17
23
  const intentNode = yield (0, intent_1.getIntentNodeByInput)(cmsApi, locale, request);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/user-input/index.ts"],"names":[],"mappings":";;;;AAQA,qCAA+C;AAC/C,uCAAiD;AACjD,iDAA0D;AAE1D,SAAsB,kBAAkB,CACtC,MAAsB,EACtB,MAAc,EACd,OAAsB;;QAEtB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACtB,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAqB,EAC7C,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,IAAI,CACnB,CAAA;YACD,IAAI,WAAW;gBAAE,OAAO,WAAW,CAAA;YAEnC,MAAM,eAAe,GAAG,MAAM,IAAA,wCAAyB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YACxE,IAAI,eAAe;gBAAE,OAAO,eAAe,CAAA;YAE3C,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAoB,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACtE,IAAI,UAAU;gBAAE,OAAO,UAAU,CAAA;SAClC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA;AArBD,gDAqBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/user-input/index.ts"],"names":[],"mappings":";;;;AAQA,qCAA+C;AAC/C,uCAA0C;AAC1C,iDAA6E;AAE7E,SAAsB,kBAAkB,CACtC,MAAsB,EACtB,MAAc,EACd,OAAsB,EACtB,kBAA+C;;QAE/C,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACtB,MAAM,cAAc,GAAG,IAAI,wBAAc,CAAC;gBACxC,MAAM;gBACN,MAAM;gBACN,OAAO;aACR,CAAC,CAAA;YACF,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC3E,IAAI,WAAW;gBAAE,OAAO,WAAW,CAAA;YAEnC,MAAM,eAAe,GAAG,IAAI,8BAAe,CACzC,MAAM,EACN,OAAO,EACP,kBAAkB,CACnB,CAAA;YACD,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,CAAA;YAC9D,IAAI,eAAe;gBAAE,OAAO,eAAe,CAAA;YAE3C,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAoB,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACtE,IAAI,UAAU;gBAAE,OAAO,UAAU,CAAA;SAClC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA;AA3BD,gDA2BC"}
@@ -6,23 +6,27 @@ const tracking_1 = require("../tracking");
6
6
  function getIntentNodeByInput(cmsApi, locale, request) {
7
7
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
8
  const intentNode = cmsApi.getIntentNode(request.input, locale);
9
- const eventArgs = {
10
- intent: request.input.intent,
11
- confidence: request.input.confidence,
12
- confidence_successful: true,
13
- };
14
9
  if (request.input.confidence && request.input.intent && intentNode) {
10
+ yield trackIntentEvent(request, intentNode);
15
11
  if (isIntentValid(intentNode, request, cmsApi)) {
16
- yield (0, tracking_1.trackEvent)(request, tracking_1.EventName.botAiModel, eventArgs);
17
12
  return intentNode;
18
13
  }
19
- eventArgs.confidence_successful = false;
20
- yield (0, tracking_1.trackEvent)(request, tracking_1.EventName.botAiModel, eventArgs);
21
14
  }
22
15
  return undefined;
23
16
  });
24
17
  }
25
18
  exports.getIntentNodeByInput = getIntentNodeByInput;
19
+ function trackIntentEvent(request, intentNode) {
20
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
21
+ const eventArgs = {
22
+ nluIntentLabel: request.input.intent,
23
+ nluIntentConfidence: request.input.confidence,
24
+ nluIntentThreshold: intentNode === null || intentNode === void 0 ? void 0 : intentNode.content.confidence,
25
+ nluIntentMessageId: request.input.message_id,
26
+ };
27
+ yield (0, tracking_1.trackEvent)(request, tracking_1.EventAction.Intent, eventArgs);
28
+ });
29
+ }
26
30
  function isIntentValid(intentNode, request, cmsApi) {
27
31
  return (request.input.confidence &&
28
32
  cmsApi.hasMetConfidenceThreshold(intentNode, request.input.confidence));
@@ -1 +1 @@
1
- {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../../src/user-input/intent.ts"],"names":[],"mappings":";;;;AAIA,0CAAmD;AAEnD,SAAsB,oBAAoB,CACxC,MAAsB,EACtB,MAAc,EACd,OAAsB;;QAEtB,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC9D,MAAM,SAAS,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAgB;YACtC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAoB;YAC9C,qBAAqB,EAAE,IAAI;SAC5B,CAAA;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE;YAClE,IAAI,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;gBAC9C,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,oBAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;gBAC1D,OAAO,UAAU,CAAA;aAClB;YAED,SAAS,CAAC,qBAAqB,GAAG,KAAK,CAAA;YACvC,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,oBAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;SAC3D;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CAAA;AAtBD,oDAsBC;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;SAC7C,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,4 +1,24 @@
1
1
  import { ActionRequest } from '@botonic/react';
2
2
  import { FlowBuilderApi } from '../api';
3
3
  import { HtKeywordNode } from '../content-fields/hubtype-fields';
4
- export declare function getKeywordNodeByInput(cmsApi: FlowBuilderApi, locale: string, request: ActionRequest, userInput: string): Promise<HtKeywordNode | undefined>;
4
+ interface KeywordProps {
5
+ cmsApi: FlowBuilderApi;
6
+ locale: string;
7
+ request: ActionRequest;
8
+ }
9
+ export declare class KeywordMatcher {
10
+ cmsApi: FlowBuilderApi;
11
+ locale: string;
12
+ request: ActionRequest;
13
+ isRegExp: boolean;
14
+ matchedKeyword?: string;
15
+ keywordNodeId?: string;
16
+ constructor({ cmsApi, locale, request }: KeywordProps);
17
+ getNodeByInput(userInput: string): Promise<HtKeywordNode | undefined>;
18
+ private getNodeByKeyword;
19
+ private matchKeywords;
20
+ private inputMatchesAnyKeyword;
21
+ private resolveKeywordAsRegExp;
22
+ private trackKeywordEvent;
23
+ }
24
+ export {};
@@ -1,20 +1,72 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getKeywordNodeByInput = void 0;
3
+ exports.KeywordMatcher = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const constants_1 = require("../constants");
5
6
  const tracking_1 = require("../tracking");
6
- function getKeywordNodeByInput(cmsApi, locale, request, userInput) {
7
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
- const keywordNode = cmsApi.getNodeByKeyword(userInput, locale);
9
- if (!keywordNode) {
10
- return undefined;
11
- }
12
- const eventArgs = {
13
- confidence_successful: true,
14
- };
15
- yield (0, tracking_1.trackEvent)(request, tracking_1.EventName.botKeywordsModel, eventArgs);
16
- return keywordNode;
17
- });
7
+ class KeywordMatcher {
8
+ constructor({ cmsApi, locale, request }) {
9
+ this.cmsApi = cmsApi;
10
+ this.locale = locale;
11
+ this.request = request;
12
+ this.isRegExp = false;
13
+ }
14
+ getNodeByInput(userInput) {
15
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
+ const keywordNodes = this.cmsApi.getKeywordNodes();
17
+ const keywordNode = this.getNodeByKeyword(userInput, keywordNodes);
18
+ if (!keywordNode) {
19
+ return undefined;
20
+ }
21
+ this.trackKeywordEvent();
22
+ return keywordNode;
23
+ });
24
+ }
25
+ getNodeByKeyword(userInput, keywordNodes) {
26
+ const matchedKeywordNode = keywordNodes.find(node => this.matchKeywords(userInput, node));
27
+ return (matchedKeywordNode === null || matchedKeywordNode === void 0 ? void 0 : matchedKeywordNode.target) ? matchedKeywordNode : undefined;
28
+ }
29
+ matchKeywords(userInput, node) {
30
+ const result = node.content.keywords.find(keywords => {
31
+ if (keywords.locale === this.locale) {
32
+ this.keywordNodeId = node.id;
33
+ return this.inputMatchesAnyKeyword(userInput, keywords.values);
34
+ }
35
+ return false;
36
+ });
37
+ return Boolean(result);
38
+ }
39
+ inputMatchesAnyKeyword(userInput, keywords) {
40
+ return keywords.some(keyword => {
41
+ const regExpMatchArray = keyword.match(constants_1.REG_EXP_PATTERN);
42
+ if (regExpMatchArray) {
43
+ const keywordAsRegExp = this.resolveKeywordAsRegExp(regExpMatchArray);
44
+ const match = userInput.match(keywordAsRegExp);
45
+ this.isRegExp = true;
46
+ this.matchedKeyword = match ? match[0] : undefined;
47
+ }
48
+ else {
49
+ this.isRegExp = false;
50
+ this.matchedKeyword = userInput.includes(keyword) ? keyword : undefined;
51
+ }
52
+ return this.matchedKeyword !== undefined;
53
+ });
54
+ }
55
+ resolveKeywordAsRegExp(regExpMatchArray) {
56
+ const [, pattern, flags] = regExpMatchArray;
57
+ return new RegExp(pattern, flags);
58
+ }
59
+ trackKeywordEvent() {
60
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
61
+ const eventArgs = {
62
+ nluKeywordId: this.keywordNodeId,
63
+ nluKeywordName: this.matchedKeyword,
64
+ nluKeywordIsRegex: this.isRegExp,
65
+ nluKeywordMessageId: this.request.input.message_id,
66
+ };
67
+ yield (0, tracking_1.trackEvent)(this.request, tracking_1.EventAction.Keyword, eventArgs);
68
+ });
69
+ }
18
70
  }
19
- exports.getKeywordNodeByInput = getKeywordNodeByInput;
71
+ exports.KeywordMatcher = KeywordMatcher;
20
72
  //# sourceMappingURL=keyword.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":";;;;AAIA,0CAAmD;AAEnD,SAAsB,qBAAqB,CACzC,MAAsB,EACtB,MAAc,EACd,OAAsB,EACtB,SAAiB;;QAEjB,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAC9D,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,SAAS,CAAA;SACjB;QACD,MAAM,SAAS,GAAG;YAChB,qBAAqB,EAAE,IAAI;SAC5B,CAAA;QACD,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,oBAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAA;QAChE,OAAO,WAAW,CAAA;IACpB,CAAC;CAAA;AAfD,sDAeC"}
1
+ {"version":3,"file":"keyword.js","sourceRoot":"","sources":["../../../src/user-input/keyword.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,21 @@
1
1
  import { ActionRequest } from '@botonic/react';
2
2
  import { FlowBuilderApi } from '../api';
3
3
  import { HtSmartIntentNode } from '../content-fields/hubtype-fields/smart-intent';
4
- export declare function getSmartIntentNodeByInput(cmsApi: FlowBuilderApi, request: ActionRequest): Promise<HtSmartIntentNode | undefined>;
4
+ export interface SmartIntentsInferenceParams {
5
+ bot_id: string;
6
+ text: string;
7
+ num_smart_intents_to_use?: number;
8
+ use_latest: boolean;
9
+ }
10
+ export interface SmartIntentsInferenceConfig {
11
+ useLatest: boolean;
12
+ numSmartIntentsToUse?: number;
13
+ }
14
+ export declare class SmartIntentsApi {
15
+ cmsApi: FlowBuilderApi;
16
+ currentRequest: ActionRequest;
17
+ smartIntentsConfig: SmartIntentsInferenceConfig;
18
+ constructor(cmsApi: FlowBuilderApi, currentRequest: ActionRequest, smartIntentsConfig: SmartIntentsInferenceConfig);
19
+ getNodeByInput(): Promise<HtSmartIntentNode | undefined>;
20
+ private getInference;
21
+ }
@@ -1,42 +1,60 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSmartIntentNodeByInput = void 0;
3
+ exports.SmartIntentsApi = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const axios_1 = tslib_1.__importDefault(require("axios"));
6
- function getSmartIntentNodeByInput(cmsApi, request) {
7
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
8
- const smartIntentNodes = cmsApi.getSmartIntentNodes();
9
- if (smartIntentNodes.length === 0) {
10
- return undefined;
11
- }
12
- const intentsInferenceParams = smartIntentNodes.map(smartIntentNode => {
13
- return {
14
- name: smartIntentNode.content.title,
15
- definition: smartIntentNode.content.description,
6
+ const tracking_1 = require("../tracking");
7
+ class SmartIntentsApi {
8
+ constructor(cmsApi, currentRequest, smartIntentsConfig) {
9
+ this.cmsApi = cmsApi;
10
+ this.currentRequest = currentRequest;
11
+ this.smartIntentsConfig = smartIntentsConfig;
12
+ }
13
+ getNodeByInput() {
14
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
15
+ if (!this.currentRequest.input.data)
16
+ return undefined;
17
+ const smartIntentNodes = this.cmsApi.getSmartIntentNodes();
18
+ if (!smartIntentNodes.length)
19
+ return undefined;
20
+ const params = {
21
+ bot_id: this.currentRequest.session.bot.id,
22
+ text: this.currentRequest.input.data,
23
+ num_smart_intents_to_use: this.smartIntentsConfig.numSmartIntentsToUse,
24
+ use_latest: this.smartIntentsConfig.useLatest,
16
25
  };
26
+ try {
27
+ const response = yield this.getInference(params);
28
+ const smartIntentNode = smartIntentNodes.find(smartIntentNode => smartIntentNode.content.title === response.data.smart_intent_title);
29
+ if (smartIntentNode) {
30
+ (0, tracking_1.trackEvent)(this.currentRequest, tracking_1.EventAction.IntentSmart, {
31
+ nluIntentSmartTitle: response.data.smart_intent_title,
32
+ nluIntentSmartNumUsed: response.data.smart_intents_used.length,
33
+ nluIntentSmartMessageId: this.currentRequest.input.message_id,
34
+ });
35
+ return smartIntentNode;
36
+ }
37
+ }
38
+ catch (e) {
39
+ console.error(e);
40
+ }
41
+ return undefined;
17
42
  });
18
- intentsInferenceParams.push({
19
- name: 'Other',
20
- definition: 'The text does not belong to any other intent.',
21
- });
22
- try {
23
- const response = yield (0, axios_1.default)({
43
+ }
44
+ getInference(inferenceParams) {
45
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
46
+ return yield (0, axios_1.default)({
24
47
  method: 'POST',
25
- url: `${process.env.HUBTYPE_API_URL}/external/v1/ai/smart_intents/inference/`,
48
+ url: `${process.env.HUBTYPE_API_URL}/external/v2/ai/smart_intents/inference/`,
26
49
  headers: {
27
- Authorization: `Bearer ${request.session._access_token}`,
50
+ Authorization: `Bearer ${this.currentRequest.session._access_token}`,
28
51
  'Content-Type': 'application/json',
29
52
  },
30
- data: { text: request.input.data, intents: intentsInferenceParams },
53
+ data: inferenceParams,
31
54
  timeout: 10000,
32
55
  });
33
- return smartIntentNodes.find(smartIntentNode => smartIntentNode.content.title === response.data.intent_name);
34
- }
35
- catch (e) {
36
- console.error(e);
37
- return undefined;
38
- }
39
- });
56
+ });
57
+ }
40
58
  }
41
- exports.getSmartIntentNodeByInput = getSmartIntentNodeByInput;
59
+ exports.SmartIntentsApi = SmartIntentsApi;
42
60
  //# sourceMappingURL=smart-intent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":";;;;AACA,0DAAyB;AAKzB,SAAsB,yBAAyB,CAC7C,MAAsB,EACtB,OAAsB;;QAEtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAA;QACrD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,OAAO,SAAS,CAAA;SACjB;QAED,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACpE,OAAO;gBACL,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK;gBACnC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,WAAW;aAChD,CAAA;QACH,CAAC,CAAC,CAAA;QACF,sBAAsB,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,+CAA+C;SAC5D,CAAC,CAAA;QAEF,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC;gBAC3B,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,0CAA0C;gBAC7E,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;oBACxD,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE;gBACnE,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;YACF,OAAO,gBAAgB,CAAC,IAAI,CAC1B,eAAe,CAAC,EAAE,CAChB,eAAe,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,WAAW,CAC9D,CAAA;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAChB,OAAO,SAAS,CAAA;SACjB;IACH,CAAC;CAAA;AAvCD,8DAuCC"}
1
+ {"version":3,"file":"smart-intent.js","sourceRoot":"","sources":["../../../src/user-input/smart-intent.ts"],"names":[],"mappings":";;;;AACA,0DAAyB;AAIzB,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,kBAAkB,CAAC,SAAS;aAC9C,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,IAAA,qBAAU,EAAC,IAAI,CAAC,cAAc,EAAE,sBAAW,CAAC,WAAW,EAAE;wBACvD,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;qBAC9D,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;IAEa,YAAY,CACxB,eAA4C;;YAE5C,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,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE;oBACpE,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,KAAK;aACf,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AArDD,0CAqDC"}