@botonic/plugin-hubtype-analytics 0.22.0-alpha.4 → 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 (87) hide show
  1. package/README.md +9 -4
  2. package/lib/cjs/event-models/ht-event-agent-rating.d.ts +2 -2
  3. package/lib/cjs/event-models/ht-event-agent-rating.js +1 -1
  4. package/lib/cjs/event-models/ht-event-agent-rating.js.map +1 -1
  5. package/lib/cjs/event-models/ht-event-bot-ai-model.d.ts +2 -4
  6. package/lib/cjs/event-models/ht-event-bot-ai-model.js +4 -3
  7. package/lib/cjs/event-models/ht-event-bot-ai-model.js.map +1 -1
  8. package/lib/cjs/event-models/ht-event-bot-faq.d.ts +2 -2
  9. package/lib/cjs/event-models/ht-event-bot-faq.js +1 -1
  10. package/lib/cjs/event-models/ht-event-bot-faq.js.map +1 -1
  11. package/lib/cjs/event-models/ht-event-bot-keyword-model.d.ts +2 -2
  12. package/lib/cjs/event-models/ht-event-bot-keyword-model.js +2 -1
  13. package/lib/cjs/event-models/ht-event-bot-keyword-model.js.map +1 -1
  14. package/lib/cjs/event-models/ht-event-bot-rating.d.ts +2 -4
  15. package/lib/cjs/event-models/ht-event-bot-rating.js +3 -3
  16. package/lib/cjs/event-models/ht-event-bot-rating.js.map +1 -1
  17. package/lib/cjs/event-models/ht-event-channel-rating.d.ts +2 -2
  18. package/lib/cjs/event-models/ht-event-channel-rating.js +1 -1
  19. package/lib/cjs/event-models/ht-event-channel-rating.js.map +1 -1
  20. package/lib/cjs/event-models/ht-event-faq-useful.d.ts +2 -3
  21. package/lib/cjs/event-models/ht-event-faq-useful.js +2 -2
  22. package/lib/cjs/event-models/ht-event-faq-useful.js.map +1 -1
  23. package/lib/cjs/event-models/ht-event-handoff-fail.d.ts +2 -4
  24. package/lib/cjs/event-models/ht-event-handoff-fail.js +3 -3
  25. package/lib/cjs/event-models/ht-event-handoff-fail.js.map +1 -1
  26. package/lib/cjs/event-models/ht-event-handoff-success.d.ts +2 -4
  27. package/lib/cjs/event-models/ht-event-handoff-success.js +3 -3
  28. package/lib/cjs/event-models/ht-event-handoff-success.js.map +1 -1
  29. package/lib/cjs/event-models/ht-event.d.ts +1 -2
  30. package/lib/cjs/event-models/ht-event.js +0 -40
  31. package/lib/cjs/event-models/ht-event.js.map +1 -1
  32. package/lib/cjs/index.js +2 -2
  33. package/lib/cjs/index.js.map +1 -1
  34. package/lib/cjs/types.d.ts +5 -6
  35. package/lib/cjs/utils.d.ts +3 -0
  36. package/lib/cjs/utils.js +46 -0
  37. package/lib/cjs/utils.js.map +1 -0
  38. package/lib/esm/event-models/ht-event-agent-rating.d.ts +2 -2
  39. package/lib/esm/event-models/ht-event-agent-rating.js +1 -1
  40. package/lib/esm/event-models/ht-event-agent-rating.js.map +1 -1
  41. package/lib/esm/event-models/ht-event-bot-ai-model.d.ts +2 -4
  42. package/lib/esm/event-models/ht-event-bot-ai-model.js +4 -3
  43. package/lib/esm/event-models/ht-event-bot-ai-model.js.map +1 -1
  44. package/lib/esm/event-models/ht-event-bot-faq.d.ts +2 -2
  45. package/lib/esm/event-models/ht-event-bot-faq.js +1 -1
  46. package/lib/esm/event-models/ht-event-bot-faq.js.map +1 -1
  47. package/lib/esm/event-models/ht-event-bot-keyword-model.d.ts +2 -2
  48. package/lib/esm/event-models/ht-event-bot-keyword-model.js +2 -1
  49. package/lib/esm/event-models/ht-event-bot-keyword-model.js.map +1 -1
  50. package/lib/esm/event-models/ht-event-bot-rating.d.ts +2 -4
  51. package/lib/esm/event-models/ht-event-bot-rating.js +3 -3
  52. package/lib/esm/event-models/ht-event-bot-rating.js.map +1 -1
  53. package/lib/esm/event-models/ht-event-channel-rating.d.ts +2 -2
  54. package/lib/esm/event-models/ht-event-channel-rating.js +1 -1
  55. package/lib/esm/event-models/ht-event-channel-rating.js.map +1 -1
  56. package/lib/esm/event-models/ht-event-faq-useful.d.ts +2 -3
  57. package/lib/esm/event-models/ht-event-faq-useful.js +2 -2
  58. package/lib/esm/event-models/ht-event-faq-useful.js.map +1 -1
  59. package/lib/esm/event-models/ht-event-handoff-fail.d.ts +2 -4
  60. package/lib/esm/event-models/ht-event-handoff-fail.js +3 -3
  61. package/lib/esm/event-models/ht-event-handoff-fail.js.map +1 -1
  62. package/lib/esm/event-models/ht-event-handoff-success.d.ts +2 -4
  63. package/lib/esm/event-models/ht-event-handoff-success.js +3 -3
  64. package/lib/esm/event-models/ht-event-handoff-success.js.map +1 -1
  65. package/lib/esm/event-models/ht-event.d.ts +1 -2
  66. package/lib/esm/event-models/ht-event.js +0 -40
  67. package/lib/esm/event-models/ht-event.js.map +1 -1
  68. package/lib/esm/index.js +2 -2
  69. package/lib/esm/index.js.map +1 -1
  70. package/lib/esm/types.d.ts +5 -6
  71. package/lib/esm/utils.d.ts +3 -0
  72. package/lib/esm/utils.js +42 -0
  73. package/lib/esm/utils.js.map +1 -0
  74. package/package.json +1 -1
  75. package/src/event-models/ht-event-agent-rating.ts +8 -3
  76. package/src/event-models/ht-event-bot-ai-model.ts +11 -7
  77. package/src/event-models/ht-event-bot-faq.ts +8 -3
  78. package/src/event-models/ht-event-bot-keyword-model.ts +9 -4
  79. package/src/event-models/ht-event-bot-rating.ts +10 -7
  80. package/src/event-models/ht-event-channel-rating.ts +8 -3
  81. package/src/event-models/ht-event-faq-useful.ts +9 -5
  82. package/src/event-models/ht-event-handoff-fail.ts +10 -7
  83. package/src/event-models/ht-event-handoff-success.ts +10 -7
  84. package/src/event-models/ht-event.ts +1 -42
  85. package/src/index.ts +2 -2
  86. package/src/types.ts +5 -5
  87. package/src/utils.ts +46 -0
@@ -1,20 +1,11 @@
1
1
  import { BaseEventData, EventName, HtEventProps, RequestData } from '../types'
2
- import { HtEventAgentRating } from './ht-event-agent-rating'
3
- import { HtEventBotAiModel } from './ht-event-bot-ai-model'
4
- import { HtEventBotFaq } from './ht-event-bot-faq'
5
- import { HtEventBotKeywordModel } from './ht-event-bot-keyword-model'
6
- import { HtEventBotRating } from './ht-event-bot-rating'
7
- import { HtEventChannelRating } from './ht-event-channel-rating'
8
- import { HtEventFaqUseful } from './ht-event-faq-useful'
9
- import { HtEventHandoffFail } from './ht-event-handoff-fail'
10
- import { HtEventHandoffSuccess } from './ht-event-handoff-success'
11
2
 
12
3
  export class HtEvent {
13
4
  chat: string
14
5
  event_type: EventName
15
6
  event_data: BaseEventData
16
7
 
17
- protected constructor(event: HtEventProps, requestData: RequestData) {
8
+ constructor(event: HtEventProps, requestData: RequestData) {
18
9
  this.chat = requestData.userId
19
10
  this.event_type = event.event_type
20
11
  this.event_data = {
@@ -26,36 +17,4 @@ export class HtEvent {
26
17
  // flow_version?: string
27
18
  }
28
19
  }
29
-
30
- static create(requestData: RequestData, htEventProps: HtEventProps): HtEvent {
31
- if (htEventProps.event_type === EventName.botAgentRating) {
32
- return new HtEventAgentRating(htEventProps, requestData)
33
- }
34
- if (htEventProps.event_type === EventName.botChannelRating) {
35
- return new HtEventChannelRating(htEventProps, requestData)
36
- }
37
- if (htEventProps.event_type === EventName.botFaqUseful) {
38
- return new HtEventFaqUseful(htEventProps, requestData)
39
- }
40
- if (htEventProps.event_type === EventName.botRating) {
41
- return new HtEventBotRating(htEventProps, requestData)
42
- }
43
- if (htEventProps.event_type === EventName.botFaq) {
44
- return new HtEventBotFaq(htEventProps, requestData)
45
- }
46
- if (htEventProps.event_type === EventName.botAiModel) {
47
- return new HtEventBotAiModel(htEventProps, requestData)
48
- }
49
- if (htEventProps.event_type === EventName.botKeywordsModel) {
50
- return new HtEventBotKeywordModel(htEventProps, requestData)
51
- }
52
- if (htEventProps.event_type === EventName.handoffSuccess) {
53
- return new HtEventHandoffSuccess(htEventProps, requestData)
54
- }
55
- if (htEventProps.event_type === EventName.handoffFail) {
56
- return new HtEventHandoffFail(htEventProps, requestData)
57
- }
58
-
59
- return new HtEvent(htEventProps, requestData)
60
- }
61
20
  }
package/src/index.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { BotRequest, Plugin } from '@botonic/core'
2
2
  import axios from 'axios'
3
3
 
4
- import { HtEvent } from './event-models/ht-event'
5
4
  import { HtEventProps, RequestData } from './types'
5
+ import { createHtEvent } from './utils'
6
6
 
7
7
  export interface HubtypeAnalyticsOptions {
8
8
  getLaguange?: (request: BotRequest) => string
@@ -47,7 +47,7 @@ export default class BotonicPluginHubtypeAnalytics implements Plugin {
47
47
  async trackEvent(request: BotRequest, htEventProps: HtEventProps) {
48
48
  const url = this.getUrl(request)
49
49
  const requestData = this.getRequestData(request)
50
- const event = HtEvent.create(requestData, htEventProps)
50
+ const event = createHtEvent(requestData, htEventProps)
51
51
  const headers = { Authorization: `Bearer ${request.session._access_token}` }
52
52
  const config = { headers }
53
53
  return axios.post(url, event, config)
package/src/types.ts CHANGED
@@ -62,7 +62,7 @@ export interface EventBotRating extends HtBaseEventProps {
62
62
  event_data: EventDataBotRating
63
63
  }
64
64
 
65
- interface EventDataBotRating {
65
+ export interface EventDataBotRating {
66
66
  rating: number
67
67
  free_comment?: string
68
68
  selected_options?: string[]
@@ -73,7 +73,7 @@ export interface EventBotFaq extends HtBaseEventProps {
73
73
  event_data: EventDataBotFaq
74
74
  }
75
75
 
76
- interface EventDataBotFaq {
76
+ export interface EventDataBotFaq {
77
77
  faq_name: string
78
78
  }
79
79
  export interface EventBotStart extends HtBaseEventProps {
@@ -89,7 +89,7 @@ export interface EventBotAiModel {
89
89
  event_data: EventDataBotAiModel
90
90
  }
91
91
 
92
- interface EventDataBotAiModel {
92
+ export interface EventDataBotAiModel {
93
93
  intent: string
94
94
  confidence: number
95
95
  confidence_successful: boolean
@@ -100,7 +100,7 @@ export interface EventBotKeywordModel extends HtBaseEventProps {
100
100
  event_data: EventDataBotKeywordModel
101
101
  }
102
102
 
103
- interface EventDataBotKeywordModel {
103
+ export interface EventDataBotKeywordModel {
104
104
  confidence_successful: boolean
105
105
  }
106
106
  export interface EventFallback extends HtBaseEventProps {
@@ -121,7 +121,7 @@ export interface EventHandoffFail extends HtBaseEventProps {
121
121
  event_data: EventDataHandoff
122
122
  }
123
123
 
124
- interface EventDataHandoff {
124
+ export interface EventDataHandoff {
125
125
  queue_open: boolean
126
126
  available_agents: boolean
127
127
  threshold_reached: boolean
package/src/utils.ts ADDED
@@ -0,0 +1,46 @@
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, HtEventProps, RequestData } from './types'
12
+
13
+ export function createHtEvent(
14
+ requestData: RequestData,
15
+ htEventProps: HtEventProps
16
+ ): HtEvent {
17
+ if (htEventProps.event_type === EventName.botAgentRating) {
18
+ return new HtEventAgentRating(htEventProps, requestData)
19
+ }
20
+ if (htEventProps.event_type === EventName.botChannelRating) {
21
+ return new HtEventChannelRating(htEventProps, requestData)
22
+ }
23
+ if (htEventProps.event_type === EventName.botFaqUseful) {
24
+ return new HtEventFaqUseful(htEventProps, requestData)
25
+ }
26
+ if (htEventProps.event_type === EventName.botRating) {
27
+ return new HtEventBotRating(htEventProps, requestData)
28
+ }
29
+ if (htEventProps.event_type === EventName.botFaq) {
30
+ return new HtEventBotFaq(htEventProps, requestData)
31
+ }
32
+ if (htEventProps.event_type === EventName.botAiModel) {
33
+ return new HtEventBotAiModel(htEventProps, requestData)
34
+ }
35
+ if (htEventProps.event_type === EventName.botKeywordsModel) {
36
+ return new HtEventBotKeywordModel(htEventProps, requestData)
37
+ }
38
+ if (htEventProps.event_type === EventName.handoffSuccess) {
39
+ return new HtEventHandoffSuccess(htEventProps, requestData)
40
+ }
41
+ if (htEventProps.event_type === EventName.handoffFail) {
42
+ return new HtEventHandoffFail(htEventProps, requestData)
43
+ }
44
+
45
+ return new HtEvent(htEventProps, requestData)
46
+ }