@botonic/plugin-hubtype-analytics 0.22.0-alpha.3 → 0.22.0-alpha.5

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 (91) hide show
  1. package/README.md +9 -4
  2. package/lib/cjs/event-models/ht-event-agent-rating.d.ts +6 -0
  3. package/lib/cjs/event-models/ht-event-agent-rating.js +12 -0
  4. package/lib/cjs/event-models/ht-event-agent-rating.js.map +1 -0
  5. package/lib/cjs/event-models/ht-event-bot-ai-model.d.ts +6 -0
  6. package/lib/cjs/event-models/ht-event-bot-ai-model.js +15 -0
  7. package/lib/cjs/event-models/ht-event-bot-ai-model.js.map +1 -0
  8. package/lib/cjs/event-models/ht-event-bot-faq.d.ts +6 -0
  9. package/lib/cjs/event-models/ht-event-bot-faq.js +12 -0
  10. package/lib/cjs/event-models/ht-event-bot-faq.js.map +1 -0
  11. package/lib/cjs/event-models/ht-event-bot-keyword-model.d.ts +6 -0
  12. package/lib/cjs/event-models/ht-event-bot-keyword-model.js +13 -0
  13. package/lib/cjs/event-models/ht-event-bot-keyword-model.js.map +1 -0
  14. package/lib/cjs/event-models/ht-event-bot-rating.d.ts +6 -0
  15. package/lib/cjs/event-models/ht-event-bot-rating.js +14 -0
  16. package/lib/cjs/event-models/ht-event-bot-rating.js.map +1 -0
  17. package/lib/cjs/event-models/ht-event-channel-rating.d.ts +6 -0
  18. package/lib/cjs/event-models/ht-event-channel-rating.js +12 -0
  19. package/lib/cjs/event-models/ht-event-channel-rating.js.map +1 -0
  20. package/lib/cjs/event-models/ht-event-faq-useful.d.ts +6 -0
  21. package/lib/cjs/event-models/ht-event-faq-useful.js +13 -0
  22. package/lib/cjs/event-models/ht-event-faq-useful.js.map +1 -0
  23. package/lib/cjs/event-models/ht-event-handoff-fail.d.ts +6 -0
  24. package/lib/cjs/event-models/ht-event-handoff-fail.js +14 -0
  25. package/lib/cjs/event-models/ht-event-handoff-fail.js.map +1 -0
  26. package/lib/cjs/event-models/ht-event-handoff-success.d.ts +6 -0
  27. package/lib/cjs/event-models/ht-event-handoff-success.js +14 -0
  28. package/lib/cjs/event-models/ht-event-handoff-success.js.map +1 -0
  29. package/lib/cjs/event-models/ht-event.d.ts +7 -0
  30. package/lib/cjs/event-models/ht-event.js +19 -0
  31. package/lib/cjs/event-models/ht-event.js.map +1 -0
  32. package/lib/cjs/index.d.ts +7 -4
  33. package/lib/cjs/index.js +22 -11
  34. package/lib/cjs/index.js.map +1 -1
  35. package/lib/cjs/types.d.ts +70 -59
  36. package/lib/cjs/types.js.map +1 -1
  37. package/lib/cjs/utils.d.ts +3 -0
  38. package/lib/cjs/utils.js +46 -0
  39. package/lib/cjs/utils.js.map +1 -0
  40. package/lib/esm/event-models/ht-event-agent-rating.d.ts +6 -0
  41. package/lib/esm/event-models/ht-event-agent-rating.js +8 -0
  42. package/lib/esm/event-models/ht-event-agent-rating.js.map +1 -0
  43. package/lib/esm/event-models/ht-event-bot-ai-model.d.ts +6 -0
  44. package/lib/esm/event-models/ht-event-bot-ai-model.js +11 -0
  45. package/lib/esm/event-models/ht-event-bot-ai-model.js.map +1 -0
  46. package/lib/esm/event-models/ht-event-bot-faq.d.ts +6 -0
  47. package/lib/esm/event-models/ht-event-bot-faq.js +8 -0
  48. package/lib/esm/event-models/ht-event-bot-faq.js.map +1 -0
  49. package/lib/esm/event-models/ht-event-bot-keyword-model.d.ts +6 -0
  50. package/lib/esm/event-models/ht-event-bot-keyword-model.js +9 -0
  51. package/lib/esm/event-models/ht-event-bot-keyword-model.js.map +1 -0
  52. package/lib/esm/event-models/ht-event-bot-rating.d.ts +6 -0
  53. package/lib/esm/event-models/ht-event-bot-rating.js +10 -0
  54. package/lib/esm/event-models/ht-event-bot-rating.js.map +1 -0
  55. package/lib/esm/event-models/ht-event-channel-rating.d.ts +6 -0
  56. package/lib/esm/event-models/ht-event-channel-rating.js +8 -0
  57. package/lib/esm/event-models/ht-event-channel-rating.js.map +1 -0
  58. package/lib/esm/event-models/ht-event-faq-useful.d.ts +6 -0
  59. package/lib/esm/event-models/ht-event-faq-useful.js +9 -0
  60. package/lib/esm/event-models/ht-event-faq-useful.js.map +1 -0
  61. package/lib/esm/event-models/ht-event-handoff-fail.d.ts +6 -0
  62. package/lib/esm/event-models/ht-event-handoff-fail.js +10 -0
  63. package/lib/esm/event-models/ht-event-handoff-fail.js.map +1 -0
  64. package/lib/esm/event-models/ht-event-handoff-success.d.ts +6 -0
  65. package/lib/esm/event-models/ht-event-handoff-success.js +10 -0
  66. package/lib/esm/event-models/ht-event-handoff-success.js.map +1 -0
  67. package/lib/esm/event-models/ht-event.d.ts +7 -0
  68. package/lib/esm/event-models/ht-event.js +15 -0
  69. package/lib/esm/event-models/ht-event.js.map +1 -0
  70. package/lib/esm/index.d.ts +7 -4
  71. package/lib/esm/index.js +22 -11
  72. package/lib/esm/index.js.map +1 -1
  73. package/lib/esm/types.d.ts +70 -59
  74. package/lib/esm/types.js.map +1 -1
  75. package/lib/esm/utils.d.ts +3 -0
  76. package/lib/esm/utils.js +42 -0
  77. package/lib/esm/utils.js.map +1 -0
  78. package/package.json +2 -2
  79. package/src/event-models/ht-event-agent-rating.ts +16 -0
  80. package/src/event-models/ht-event-bot-ai-model.ts +19 -0
  81. package/src/event-models/ht-event-bot-faq.ts +16 -0
  82. package/src/event-models/ht-event-bot-keyword-model.ts +17 -0
  83. package/src/event-models/ht-event-bot-rating.ts +18 -0
  84. package/src/event-models/ht-event-channel-rating.ts +16 -0
  85. package/src/event-models/ht-event-faq-useful.ts +17 -0
  86. package/src/event-models/ht-event-handoff-fail.ts +18 -0
  87. package/src/event-models/ht-event-handoff-success.ts +18 -0
  88. package/src/event-models/ht-event.ts +20 -0
  89. package/src/index.ts +30 -18
  90. package/src/types.ts +76 -49
  91. package/src/utils.ts +46 -0
@@ -0,0 +1,6 @@
1
+ import { BaseEventData, EventAgentRating, EventDataRating, RequestData } from '../types';
2
+ import { HtEvent } from './ht-event';
3
+ export declare class HtEventAgentRating extends HtEvent {
4
+ event_data: BaseEventData & EventDataRating;
5
+ constructor(event: EventAgentRating, requestData: RequestData);
6
+ }
@@ -0,0 +1,8 @@
1
+ import { HtEvent } from './ht-event';
2
+ export class HtEventAgentRating extends HtEvent {
3
+ constructor(event, requestData) {
4
+ super(event, requestData);
5
+ this.event_data.rating = event.event_data.rating;
6
+ }
7
+ }
8
+ //# sourceMappingURL=ht-event-agent-rating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event-agent-rating.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-agent-rating.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,kBAAmB,SAAQ,OAAO;IAG7C,YAAY,KAAuB,EAAE,WAAwB;QAC3D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IAClD,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { BaseEventData, EventBotAiModel, EventDataBotAiModel, RequestData } from '../types';
2
+ import { HtEvent } from './ht-event';
3
+ export declare class HtEventBotAiModel extends HtEvent {
4
+ event_data: BaseEventData & EventDataBotAiModel;
5
+ constructor(event: EventBotAiModel, requestData: RequestData);
6
+ }
@@ -0,0 +1,11 @@
1
+ import { HtEvent } from './ht-event';
2
+ export class HtEventBotAiModel extends HtEvent {
3
+ constructor(event, requestData) {
4
+ super(event, requestData);
5
+ this.event_data.intent = event.event_data.intent;
6
+ this.event_data.confidence = event.event_data.confidence;
7
+ this.event_data.confidence_successful =
8
+ event.event_data.confidence_successful;
9
+ }
10
+ }
11
+ //# sourceMappingURL=ht-event-bot-ai-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event-bot-ai-model.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-ai-model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,iBAAkB,SAAQ,OAAO;IAG5C,YAAY,KAAsB,EAAE,WAAwB;QAC1D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;QAChD,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAA;QACxD,IAAI,CAAC,UAAU,CAAC,qBAAqB;YACnC,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAA;IAC1C,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { BaseEventData, EventBotFaq, EventDataBotFaq, RequestData } from '../types';
2
+ import { HtEvent } from './ht-event';
3
+ export declare class HtEventBotFaq extends HtEvent {
4
+ event_data: BaseEventData & EventDataBotFaq;
5
+ constructor(event: EventBotFaq, requestData: RequestData);
6
+ }
@@ -0,0 +1,8 @@
1
+ import { HtEvent } from './ht-event';
2
+ export class HtEventBotFaq extends HtEvent {
3
+ constructor(event, requestData) {
4
+ super(event, requestData);
5
+ this.event_data.faq_name = event.event_data.faq_name;
6
+ }
7
+ }
8
+ //# sourceMappingURL=ht-event-bot-faq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event-bot-faq.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-faq.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,aAAc,SAAQ,OAAO;IAGxC,YAAY,KAAkB,EAAE,WAAwB;QACtD,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAA;IACtD,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { BaseEventData, EventBotKeywordModel, EventDataBotKeywordModel, RequestData } from '../types';
2
+ import { HtEvent } from './ht-event';
3
+ export declare class HtEventBotKeywordModel extends HtEvent {
4
+ event_data: BaseEventData & EventDataBotKeywordModel;
5
+ constructor(event: EventBotKeywordModel, requestData: RequestData);
6
+ }
@@ -0,0 +1,9 @@
1
+ import { HtEvent } from './ht-event';
2
+ export class HtEventBotKeywordModel extends HtEvent {
3
+ constructor(event, requestData) {
4
+ super(event, requestData);
5
+ this.event_data.confidence_successful =
6
+ event.event_data.confidence_successful;
7
+ }
8
+ }
9
+ //# sourceMappingURL=ht-event-bot-keyword-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event-bot-keyword-model.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-keyword-model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,sBAAuB,SAAQ,OAAO;IAGjD,YAAY,KAA2B,EAAE,WAAwB;QAC/D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,qBAAqB;YACnC,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAA;IAC1C,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { BaseEventData, EventBotRating, EventDataBotRating, RequestData } from '../types';
2
+ import { HtEvent } from './ht-event';
3
+ export declare class HtEventBotRating extends HtEvent {
4
+ event_data: BaseEventData & EventDataBotRating;
5
+ constructor(event: EventBotRating, requestData: RequestData);
6
+ }
@@ -0,0 +1,10 @@
1
+ import { HtEvent } from './ht-event';
2
+ export class HtEventBotRating extends HtEvent {
3
+ constructor(event, requestData) {
4
+ super(event, requestData);
5
+ this.event_data.rating = event.event_data.rating;
6
+ this.event_data.free_comment = event.event_data.free_comment;
7
+ this.event_data.selected_options = event.event_data.selected_options;
8
+ }
9
+ }
10
+ //# sourceMappingURL=ht-event-bot-rating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event-bot-rating.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-rating.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IAG3C,YAAY,KAAqB,EAAE,WAAwB;QACzD,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;QAChD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAA;QAC5D,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAA;IACtE,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { BaseEventData, EventChannelRating, EventDataRating, RequestData } from '../types';
2
+ import { HtEvent } from './ht-event';
3
+ export declare class HtEventChannelRating extends HtEvent {
4
+ event_data: BaseEventData & EventDataRating;
5
+ constructor(event: EventChannelRating, requestData: RequestData);
6
+ }
@@ -0,0 +1,8 @@
1
+ import { HtEvent } from './ht-event';
2
+ export class HtEventChannelRating extends HtEvent {
3
+ constructor(event, requestData) {
4
+ super(event, requestData);
5
+ this.event_data.rating = event.event_data.rating;
6
+ }
7
+ }
8
+ //# sourceMappingURL=ht-event-channel-rating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event-channel-rating.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-channel-rating.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IAG/C,YAAY,KAAyB,EAAE,WAAwB;QAC7D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IAClD,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { BaseEventData, EventDataUseful, EventFaqUseful, RequestData } from '../types';
2
+ import { HtEvent } from './ht-event';
3
+ export declare class HtEventFaqUseful extends HtEvent {
4
+ event_data: BaseEventData & EventDataUseful;
5
+ constructor(event: EventFaqUseful, requestData: RequestData);
6
+ }
@@ -0,0 +1,9 @@
1
+ import { HtEvent } from './ht-event';
2
+ export class HtEventFaqUseful extends HtEvent {
3
+ constructor(event, requestData) {
4
+ super(event, requestData);
5
+ this.event_data.faq_name = event.event_data.faq_name;
6
+ this.event_data.useful = event.event_data.useful;
7
+ }
8
+ }
9
+ //# sourceMappingURL=ht-event-faq-useful.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event-faq-useful.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-faq-useful.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IAG3C,YAAY,KAAqB,EAAE,WAAwB;QACzD,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAA;QACpD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IAClD,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { BaseEventData, EventDataHandoff, EventHandoffFail, RequestData } from '../types';
2
+ import { HtEvent } from './ht-event';
3
+ export declare class HtEventHandoffFail extends HtEvent {
4
+ event_data: BaseEventData & EventDataHandoff;
5
+ constructor(event: EventHandoffFail, requestData: RequestData);
6
+ }
@@ -0,0 +1,10 @@
1
+ import { HtEvent } from './ht-event';
2
+ export class HtEventHandoffFail extends HtEvent {
3
+ constructor(event, requestData) {
4
+ super(event, requestData);
5
+ this.event_data.queue_open = event.event_data.queue_open;
6
+ this.event_data.available_agents = event.event_data.available_agents;
7
+ this.event_data.threshold_reached = event.event_data.threshold_reached;
8
+ }
9
+ }
10
+ //# sourceMappingURL=ht-event-handoff-fail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event-handoff-fail.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-handoff-fail.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,kBAAmB,SAAQ,OAAO;IAG7C,YAAY,KAAuB,EAAE,WAAwB;QAC3D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAA;QACxD,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAA;QACpE,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAA;IACxE,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ import { BaseEventData, EventDataHandoff, EventHandoffSuccess, RequestData } from '../types';
2
+ import { HtEvent } from './ht-event';
3
+ export declare class HtEventHandoffSuccess extends HtEvent {
4
+ event_data: BaseEventData & EventDataHandoff;
5
+ constructor(event: EventHandoffSuccess, requestData: RequestData);
6
+ }
@@ -0,0 +1,10 @@
1
+ import { HtEvent } from './ht-event';
2
+ export class HtEventHandoffSuccess extends HtEvent {
3
+ constructor(event, requestData) {
4
+ super(event, requestData);
5
+ this.event_data.queue_open = event.event_data.queue_open;
6
+ this.event_data.available_agents = event.event_data.available_agents;
7
+ this.event_data.threshold_reached = event.event_data.threshold_reached;
8
+ }
9
+ }
10
+ //# sourceMappingURL=ht-event-handoff-success.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event-handoff-success.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-handoff-success.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,qBAAsB,SAAQ,OAAO;IAGhD,YAAY,KAA0B,EAAE,WAAwB;QAC9D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAA;QACxD,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAA;QACpE,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAA;IACxE,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ import { BaseEventData, EventName, HtEventProps, RequestData } from '../types';
2
+ export declare class HtEvent {
3
+ chat: string;
4
+ event_type: EventName;
5
+ event_data: BaseEventData;
6
+ constructor(event: HtEventProps, requestData: RequestData);
7
+ }
@@ -0,0 +1,15 @@
1
+ export class HtEvent {
2
+ constructor(event, requestData) {
3
+ this.chat = requestData.userId;
4
+ this.event_type = event.event_type;
5
+ this.event_data = {
6
+ channel: requestData.provider,
7
+ event_datetime: new Date().toISOString(),
8
+ enduser_language: requestData.language,
9
+ enduser_country: requestData.country,
10
+ format_version: 1,
11
+ // flow_version?: string
12
+ };
13
+ }
14
+ }
15
+ //# sourceMappingURL=ht-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ht-event.js","sourceRoot":"","sources":["../../../src/event-models/ht-event.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,OAAO;IAKlB,YAAY,KAAmB,EAAE,WAAwB;QACvD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAA;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;QAClC,IAAI,CAAC,UAAU,GAAG;YAChB,OAAO,EAAE,WAAW,CAAC,QAAQ;YAC7B,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxC,gBAAgB,EAAE,WAAW,CAAC,QAAQ;YACtC,eAAe,EAAE,WAAW,CAAC,OAAO;YACpC,cAAc,EAAE,CAAC;YACjB,wBAAwB;SACzB,CAAA;IACH,CAAC;CACF"}
@@ -1,13 +1,16 @@
1
1
  import { BotRequest, Plugin } from '@botonic/core';
2
- import { HtEvent } from './types';
2
+ import { HtEventProps, RequestData } from './types';
3
3
  export interface HubtypeAnalyticsOptions {
4
- baseUrl: string;
4
+ getLaguange?: (request: BotRequest) => string;
5
+ getCountry?: (request: BotRequest) => string;
5
6
  }
6
7
  export default class BotonicPluginHubtypeAnalytics implements Plugin {
7
8
  baseUrl: string;
9
+ getLaguange: (request: BotRequest) => string;
10
+ getCountry: (request: BotRequest) => string;
8
11
  constructor(options: HubtypeAnalyticsOptions);
9
- pre(): void;
10
12
  post(): void;
11
13
  getUrl(request: BotRequest): string;
12
- trackEvent(request: BotRequest, event: HtEvent): Promise<import("axios").AxiosResponse<any, any>>;
14
+ getRequestData(request: BotRequest): RequestData;
15
+ trackEvent(request: BotRequest, htEventProps: HtEventProps): Promise<import("axios").AxiosResponse<any, any>>;
13
16
  }
package/lib/esm/index.js CHANGED
@@ -1,10 +1,16 @@
1
1
  import axios from 'axios';
2
+ import { createHtEvent } from './utils';
3
+ function getDefaultLanguage(request) {
4
+ return request.session.user.extra_data.language;
5
+ }
6
+ function getDefaultCountry(request) {
7
+ return request.session.user.extra_data.country;
8
+ }
2
9
  export default class BotonicPluginHubtypeAnalytics {
3
10
  constructor(options) {
4
- this.baseUrl = options.baseUrl;
5
- }
6
- pre() {
7
- return;
11
+ this.baseUrl = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
12
+ this.getLaguange = options.getLaguange || getDefaultLanguage;
13
+ this.getCountry = options.getCountry || getDefaultCountry;
8
14
  }
9
15
  post() {
10
16
  return;
@@ -12,16 +18,21 @@ export default class BotonicPluginHubtypeAnalytics {
12
18
  getUrl(request) {
13
19
  return `${this.baseUrl}/external/v1/conversational_apps/${request.session.bot.id}/bot_event/`;
14
20
  }
15
- async trackEvent(request, event) {
16
- const url = this.getUrl(request);
17
- const data = {
18
- chat: request.session.user.id,
19
- event_type: event.event_type,
20
- event_data: Object.assign(Object.assign({}, event.event_data), { event_datetime: new Date().toISOString(), channel: request.session.user.provider }),
21
+ getRequestData(request) {
22
+ return {
23
+ language: this.getLaguange(request),
24
+ country: this.getCountry(request),
25
+ provider: request.session.user.provider,
26
+ userId: request.session.user.id,
21
27
  };
28
+ }
29
+ async trackEvent(request, htEventProps) {
30
+ const url = this.getUrl(request);
31
+ const requestData = this.getRequestData(request);
32
+ const event = createHtEvent(requestData, htEventProps);
22
33
  const headers = { Authorization: `Bearer ${request.session._access_token}` };
23
34
  const config = { headers };
24
- return axios.post(url, data, config);
35
+ return axios.post(url, event, config);
25
36
  }
26
37
  }
27
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,CAAC,OAAO,OAAO,6BAA6B;IAEhD,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;IAChC,CAAC;IAED,GAAG;QACD,OAAM;IACR,CAAC;IAED,IAAI;QACF,OAAM;IACR,CAAC;IAED,MAAM,CAAC,OAAmB;QACxB,OAAO,GAAG,IAAI,CAAC,OAAO,oCAAoC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,CAAA;IAC/F,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAmB,EAAE,KAAc;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAChC,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,kCACL,KAAK,CAAC,UAAU,KACnB,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACxC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GACvC;SACF,CAAA;QACD,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAA;QAC5E,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAA;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAOvC,SAAS,kBAAkB,CAAC,OAAmB;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAA;AACjD,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAmB;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,6BAA6B;IAIhD,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;QACvE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAA;QAC5D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAA;IAC3D,CAAC;IAED,IAAI;QACF,OAAM;IACR,CAAC;IAED,MAAM,CAAC,OAAmB;QACxB,OAAO,GAAG,IAAI,CAAC,OAAO,oCAAoC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,CAAA;IAC/F,CAAC;IAED,cAAc,CAAC,OAAmB;QAChC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACjC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ;YACvC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;SAChC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAmB,EAAE,YAA0B;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACtD,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAA;QAC5E,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAA;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;CACF"}
@@ -1,3 +1,9 @@
1
+ import { PROVIDER } from '@botonic/core';
2
+ export interface Event {
3
+ chat: string;
4
+ event_type: EventName;
5
+ event_data: BaseEventData;
6
+ }
1
7
  export declare enum EventName {
2
8
  botAgentRating = "bot_agent_rating",
3
9
  botChannelRating = "bot_channel_rating",
@@ -13,93 +19,98 @@ export declare enum EventName {
13
19
  handoffSuccess = "handoff_success",
14
20
  handoffFail = "handoff_fail"
15
21
  }
16
- interface EventData {
17
- enduser_country?: string;
22
+ export interface BaseEventData {
23
+ channel: string;
24
+ event_datetime: string;
18
25
  enduser_language: string;
26
+ enduser_country?: string;
19
27
  format_version?: number;
20
28
  bot_version?: string;
21
29
  flow_version?: string;
22
30
  }
23
- export interface EventAgentRating {
31
+ export interface HtBaseEventProps {
32
+ event_type: EventName;
33
+ }
34
+ export interface EventAgentRating extends HtBaseEventProps {
24
35
  event_type: EventName.botAgentRating;
25
- event_data: EventData & {
26
- rating: number;
27
- };
36
+ event_data: EventDataRating;
28
37
  }
29
- export interface EventChannelRating {
38
+ export interface EventChannelRating extends HtBaseEventProps {
30
39
  event_type: EventName.botChannelRating;
31
- event_data: EventData & {
32
- rating: number;
33
- };
40
+ event_data: EventDataRating;
34
41
  }
35
- export interface EventFaqUseful {
42
+ export interface EventDataRating {
43
+ rating: number;
44
+ }
45
+ export interface EventFaqUseful extends HtBaseEventProps {
36
46
  event_type: EventName.botFaqUseful;
37
- event_data: EventData & {
38
- faq_name: string;
39
- useful: boolean;
40
- };
47
+ event_data: EventDataUseful;
48
+ }
49
+ export interface EventDataUseful {
50
+ faq_name: string;
51
+ useful: boolean;
41
52
  }
42
- export interface EventBotRating {
53
+ export interface EventBotRating extends HtBaseEventProps {
43
54
  event_type: EventName.botRating;
44
- event_data: EventData & {
45
- faq_name: string;
46
- useful: boolean;
47
- rating: number;
48
- free_comment: string;
49
- selected_options: string[];
50
- };
51
- }
52
- export interface EventBotFaq {
55
+ event_data: EventDataBotRating;
56
+ }
57
+ export interface EventDataBotRating {
58
+ rating: number;
59
+ free_comment?: string;
60
+ selected_options?: string[];
61
+ }
62
+ export interface EventBotFaq extends HtBaseEventProps {
53
63
  event_type: EventName.botFaq;
54
- event_data: EventData & {
55
- faq_name: string;
56
- };
64
+ event_data: EventDataBotFaq;
65
+ }
66
+ export interface EventDataBotFaq {
67
+ faq_name: string;
57
68
  }
58
- export interface EventBotStart {
69
+ export interface EventBotStart extends HtBaseEventProps {
59
70
  event_type: EventName.botStart;
60
- event_data: EventData;
61
71
  }
62
72
  export interface EventBotOpen {
63
73
  event_type: EventName.botOpen;
64
- event_data: EventData;
65
74
  }
66
75
  export interface EventBotAiModel {
67
76
  event_type: EventName.botAiModel;
68
- event_data: EventData & {
69
- intent: string;
70
- confidence: number;
71
- confidence_successful: boolean;
72
- };
77
+ event_data: EventDataBotAiModel;
73
78
  }
74
- export interface EventBotKeywordModel {
79
+ export interface EventDataBotAiModel {
80
+ intent: string;
81
+ confidence: number;
82
+ confidence_successful: boolean;
83
+ }
84
+ export interface EventBotKeywordModel extends HtBaseEventProps {
75
85
  event_type: EventName.botKeywordsModel;
76
- event_data: EventData & {
77
- confidence_successful: boolean;
78
- };
86
+ event_data: EventDataBotKeywordModel;
87
+ }
88
+ export interface EventDataBotKeywordModel {
89
+ confidence_successful: boolean;
79
90
  }
80
- export interface EventFallback {
91
+ export interface EventFallback extends HtBaseEventProps {
81
92
  event_type: EventName.fallback;
82
- event_data: EventData;
83
93
  }
84
- export interface EventHandoffOption {
94
+ export interface EventHandoffOption extends HtBaseEventProps {
85
95
  event_type: EventName.handoffOption;
86
- event_data: EventData;
87
96
  }
88
- export interface EventHandoffSuccess {
97
+ export interface EventHandoffSuccess extends HtBaseEventProps {
89
98
  event_type: EventName.handoffSuccess;
90
- event_data: EventData & {
91
- queue_open: boolean;
92
- available_agents: boolean;
93
- threshold_reached: boolean;
94
- };
99
+ event_data: EventDataHandoff;
95
100
  }
96
- export interface EventHandoffFail {
101
+ export interface EventHandoffFail extends HtBaseEventProps {
97
102
  event_type: EventName.handoffFail;
98
- event_data: EventData & {
99
- queue_open: boolean;
100
- available_agents: boolean;
101
- threshold_reached: boolean;
102
- };
103
- }
104
- export type HtEvent = EventAgentRating | EventChannelRating | EventFaqUseful | EventBotRating | EventBotFaq | EventBotStart | EventBotOpen | EventBotAiModel | EventBotKeywordModel | EventFallback | EventHandoffOption | EventHandoffSuccess | EventHandoffFail;
105
- export {};
103
+ event_data: EventDataHandoff;
104
+ }
105
+ export interface EventDataHandoff {
106
+ queue_open: boolean;
107
+ available_agents: boolean;
108
+ threshold_reached: boolean;
109
+ }
110
+ export type HtEventProps = EventAgentRating | EventChannelRating | EventFaqUseful | EventBotRating | EventBotFaq | EventBotStart | EventBotOpen | EventBotAiModel | EventBotKeywordModel | EventFallback | EventHandoffOption | EventHandoffSuccess | EventHandoffFail;
111
+ export interface RequestData {
112
+ language: string;
113
+ country: string;
114
+ provider: PROVIDER;
115
+ userId: string;
116
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAcX;AAdD,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,oDAAuC,CAAA;IACvC,kCAAqB,CAAA;IACrB,6CAAgC,CAAA;IAChC,+CAAkC,CAAA;IAClC,yCAA4B,CAAA;AAC9B,CAAC,EAdW,SAAS,KAAT,SAAS,QAcpB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,SAcX;AAdD,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,oDAAuC,CAAA;IACvC,kCAAqB,CAAA;IACrB,6CAAgC,CAAA;IAChC,+CAAkC,CAAA;IAClC,yCAA4B,CAAA;AAC9B,CAAC,EAdW,SAAS,KAAT,SAAS,QAcpB"}
@@ -0,0 +1,3 @@
1
+ import { HtEvent } from './event-models/ht-event';
2
+ import { HtEventProps, RequestData } from './types';
3
+ export declare function createHtEvent(requestData: RequestData, htEventProps: HtEventProps): HtEvent;
@@ -0,0 +1,42 @@
1
+ import { HtEvent } from './event-models/ht-event';
2
+ import { HtEventAgentRating } from './event-models/ht-event-agent-rating';
3
+ import { HtEventBotAiModel } from './event-models/ht-event-bot-ai-model';
4
+ import { HtEventBotFaq } from './event-models/ht-event-bot-faq';
5
+ import { HtEventBotKeywordModel } from './event-models/ht-event-bot-keyword-model';
6
+ import { HtEventBotRating } from './event-models/ht-event-bot-rating';
7
+ import { HtEventChannelRating } from './event-models/ht-event-channel-rating';
8
+ import { HtEventFaqUseful } from './event-models/ht-event-faq-useful';
9
+ import { HtEventHandoffFail } from './event-models/ht-event-handoff-fail';
10
+ import { HtEventHandoffSuccess } from './event-models/ht-event-handoff-success';
11
+ import { EventName } from './types';
12
+ export function createHtEvent(requestData, htEventProps) {
13
+ if (htEventProps.event_type === EventName.botAgentRating) {
14
+ return new HtEventAgentRating(htEventProps, requestData);
15
+ }
16
+ if (htEventProps.event_type === EventName.botChannelRating) {
17
+ return new HtEventChannelRating(htEventProps, requestData);
18
+ }
19
+ if (htEventProps.event_type === EventName.botFaqUseful) {
20
+ return new HtEventFaqUseful(htEventProps, requestData);
21
+ }
22
+ if (htEventProps.event_type === EventName.botRating) {
23
+ return new HtEventBotRating(htEventProps, requestData);
24
+ }
25
+ if (htEventProps.event_type === EventName.botFaq) {
26
+ return new HtEventBotFaq(htEventProps, requestData);
27
+ }
28
+ if (htEventProps.event_type === EventName.botAiModel) {
29
+ return new HtEventBotAiModel(htEventProps, requestData);
30
+ }
31
+ if (htEventProps.event_type === EventName.botKeywordsModel) {
32
+ return new HtEventBotKeywordModel(htEventProps, requestData);
33
+ }
34
+ if (htEventProps.event_type === EventName.handoffSuccess) {
35
+ return new HtEventHandoffSuccess(htEventProps, requestData);
36
+ }
37
+ if (htEventProps.event_type === EventName.handoffFail) {
38
+ return new HtEventHandoffFail(htEventProps, requestData);
39
+ }
40
+ return new HtEvent(htEventProps, requestData);
41
+ }
42
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAA;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,SAAS,EAA6B,MAAM,SAAS,CAAA;AAE9D,MAAM,UAAU,aAAa,CAC3B,WAAwB,EACxB,YAA0B;IAE1B,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,cAAc,EAAE;QACxD,OAAO,IAAI,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KACzD;IACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,gBAAgB,EAAE;QAC1D,OAAO,IAAI,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KAC3D;IACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,YAAY,EAAE;QACtD,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KACvD;IACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,SAAS,EAAE;QACnD,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KACvD;IACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE;QAChD,OAAO,IAAI,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KACpD;IACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE;QACpD,OAAO,IAAI,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KACxD;IACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,gBAAgB,EAAE;QAC1D,OAAO,IAAI,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KAC7D;IACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,cAAc,EAAE;QACxD,OAAO,IAAI,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KAC5D;IACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,WAAW,EAAE;QACrD,OAAO,IAAI,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;KACzD;IAED,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;AAC/C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botonic/plugin-hubtype-analytics",
3
- "version": "0.22.0-alpha.3",
3
+ "version": "0.22.0-alpha.5",
4
4
  "description": "Plugin for tracking in the Hubtype backend to see the results in the Hubtype Dashbord",
5
5
  "main": "./lib/cjs/index.js",
6
6
  "module": "./lib/esm/index.js",
@@ -33,7 +33,7 @@
33
33
  "extends": "../.eslintrc.js",
34
34
  "root": true
35
35
  },
36
- "author": "Hubtype",
36
+ "author": "",
37
37
  "license": "MIT",
38
38
  "keywords": [
39
39
  "analytics",
@@ -0,0 +1,16 @@
1
+ import {
2
+ BaseEventData,
3
+ EventAgentRating,
4
+ EventDataRating,
5
+ RequestData,
6
+ } from '../types'
7
+ import { HtEvent } from './ht-event'
8
+
9
+ export class HtEventAgentRating extends HtEvent {
10
+ event_data: BaseEventData & EventDataRating
11
+
12
+ constructor(event: EventAgentRating, requestData: RequestData) {
13
+ super(event, requestData)
14
+ this.event_data.rating = event.event_data.rating
15
+ }
16
+ }
@@ -0,0 +1,19 @@
1
+ import {
2
+ BaseEventData,
3
+ EventBotAiModel,
4
+ EventDataBotAiModel,
5
+ RequestData,
6
+ } from '../types'
7
+ import { HtEvent } from './ht-event'
8
+
9
+ export class HtEventBotAiModel extends HtEvent {
10
+ event_data: BaseEventData & EventDataBotAiModel
11
+
12
+ constructor(event: EventBotAiModel, requestData: RequestData) {
13
+ super(event, requestData)
14
+ this.event_data.intent = event.event_data.intent
15
+ this.event_data.confidence = event.event_data.confidence
16
+ this.event_data.confidence_successful =
17
+ event.event_data.confidence_successful
18
+ }
19
+ }
@@ -0,0 +1,16 @@
1
+ import {
2
+ BaseEventData,
3
+ EventBotFaq,
4
+ EventDataBotFaq,
5
+ RequestData,
6
+ } from '../types'
7
+ import { HtEvent } from './ht-event'
8
+
9
+ export class HtEventBotFaq extends HtEvent {
10
+ event_data: BaseEventData & EventDataBotFaq
11
+
12
+ constructor(event: EventBotFaq, requestData: RequestData) {
13
+ super(event, requestData)
14
+ this.event_data.faq_name = event.event_data.faq_name
15
+ }
16
+ }