@botonic/plugin-hubtype-analytics 0.25.0 → 0.27.0-alpha.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.
Files changed (177) hide show
  1. package/README.md +38 -5
  2. package/lib/cjs/event-models/ht-event-custom.d.ts +10 -0
  3. package/lib/cjs/event-models/ht-event-custom.js +22 -0
  4. package/lib/cjs/event-models/ht-event-custom.js.map +1 -0
  5. package/lib/cjs/event-models/ht-event-fallback.d.ts +11 -0
  6. package/lib/cjs/event-models/ht-event-fallback.js +14 -0
  7. package/lib/cjs/event-models/ht-event-fallback.js.map +1 -0
  8. package/lib/cjs/event-models/ht-event-feedback.d.ts +17 -0
  9. package/lib/cjs/event-models/ht-event-feedback.js +20 -0
  10. package/lib/cjs/event-models/ht-event-feedback.js.map +1 -0
  11. package/lib/cjs/event-models/ht-event-flow.d.ts +16 -0
  12. package/lib/cjs/event-models/ht-event-flow.js +19 -0
  13. package/lib/cjs/event-models/ht-event-flow.js.map +1 -0
  14. package/lib/cjs/event-models/ht-event-handoff.d.ts +16 -0
  15. package/lib/cjs/event-models/ht-event-handoff.js +19 -0
  16. package/lib/cjs/event-models/ht-event-handoff.js.map +1 -0
  17. package/lib/cjs/event-models/ht-event-intent-smart.d.ts +13 -0
  18. package/lib/cjs/event-models/ht-event-intent-smart.js +16 -0
  19. package/lib/cjs/event-models/ht-event-intent-smart.js.map +1 -0
  20. package/lib/cjs/event-models/ht-event-intent.d.ts +14 -0
  21. package/lib/cjs/event-models/ht-event-intent.js +17 -0
  22. package/lib/cjs/event-models/ht-event-intent.js.map +1 -0
  23. package/lib/cjs/event-models/ht-event-keyword.d.ts +14 -0
  24. package/lib/cjs/event-models/ht-event-keyword.js +17 -0
  25. package/lib/cjs/event-models/ht-event-keyword.js.map +1 -0
  26. package/lib/cjs/event-models/ht-event-knowledge-base.d.ts +13 -0
  27. package/lib/cjs/event-models/ht-event-knowledge-base.js +16 -0
  28. package/lib/cjs/event-models/ht-event-knowledge-base.js.map +1 -0
  29. package/lib/cjs/event-models/ht-event-webview.d.ts +15 -0
  30. package/lib/cjs/event-models/ht-event-webview.js +18 -0
  31. package/lib/cjs/event-models/ht-event-webview.js.map +1 -0
  32. package/lib/cjs/event-models/ht-event.d.ts +11 -4
  33. package/lib/cjs/event-models/ht-event.js +8 -10
  34. package/lib/cjs/event-models/ht-event.js.map +1 -1
  35. package/lib/cjs/event-models/index.d.ts +11 -0
  36. package/lib/cjs/event-models/index.js +26 -0
  37. package/lib/cjs/event-models/index.js.map +1 -0
  38. package/lib/cjs/index.d.ts +3 -2
  39. package/lib/cjs/index.js +13 -6
  40. package/lib/cjs/index.js.map +1 -1
  41. package/lib/cjs/types.d.ts +121 -118
  42. package/lib/cjs/types.js +28 -18
  43. package/lib/cjs/types.js.map +1 -1
  44. package/lib/cjs/utils.d.ts +1 -1
  45. package/lib/cjs/utils.js +29 -33
  46. package/lib/cjs/utils.js.map +1 -1
  47. package/lib/esm/event-models/ht-event-custom.d.ts +10 -0
  48. package/lib/esm/event-models/ht-event-custom.js +18 -0
  49. package/lib/esm/event-models/ht-event-custom.js.map +1 -0
  50. package/lib/esm/event-models/ht-event-fallback.d.ts +11 -0
  51. package/lib/esm/event-models/ht-event-fallback.js +10 -0
  52. package/lib/esm/event-models/ht-event-fallback.js.map +1 -0
  53. package/lib/esm/event-models/ht-event-feedback.d.ts +17 -0
  54. package/lib/esm/event-models/ht-event-feedback.js +16 -0
  55. package/lib/esm/event-models/ht-event-feedback.js.map +1 -0
  56. package/lib/esm/event-models/ht-event-flow.d.ts +16 -0
  57. package/lib/esm/event-models/ht-event-flow.js +15 -0
  58. package/lib/esm/event-models/ht-event-flow.js.map +1 -0
  59. package/lib/esm/event-models/ht-event-handoff.d.ts +16 -0
  60. package/lib/esm/event-models/ht-event-handoff.js +15 -0
  61. package/lib/esm/event-models/ht-event-handoff.js.map +1 -0
  62. package/lib/esm/event-models/ht-event-intent-smart.d.ts +13 -0
  63. package/lib/esm/event-models/ht-event-intent-smart.js +12 -0
  64. package/lib/esm/event-models/ht-event-intent-smart.js.map +1 -0
  65. package/lib/esm/event-models/ht-event-intent.d.ts +14 -0
  66. package/lib/esm/event-models/ht-event-intent.js +13 -0
  67. package/lib/esm/event-models/ht-event-intent.js.map +1 -0
  68. package/lib/esm/event-models/ht-event-keyword.d.ts +14 -0
  69. package/lib/esm/event-models/ht-event-keyword.js +13 -0
  70. package/lib/esm/event-models/ht-event-keyword.js.map +1 -0
  71. package/lib/esm/event-models/ht-event-knowledge-base.d.ts +13 -0
  72. package/lib/esm/event-models/ht-event-knowledge-base.js +12 -0
  73. package/lib/esm/event-models/ht-event-knowledge-base.js.map +1 -0
  74. package/lib/esm/event-models/ht-event-webview.d.ts +15 -0
  75. package/lib/esm/event-models/ht-event-webview.js +14 -0
  76. package/lib/esm/event-models/ht-event-webview.js.map +1 -0
  77. package/lib/esm/event-models/ht-event.d.ts +11 -4
  78. package/lib/esm/event-models/ht-event.js +8 -10
  79. package/lib/esm/event-models/ht-event.js.map +1 -1
  80. package/lib/esm/event-models/index.d.ts +11 -0
  81. package/lib/esm/event-models/index.js +12 -0
  82. package/lib/esm/event-models/index.js.map +1 -0
  83. package/lib/esm/index.d.ts +3 -2
  84. package/lib/esm/index.js +13 -6
  85. package/lib/esm/index.js.map +1 -1
  86. package/lib/esm/types.d.ts +121 -118
  87. package/lib/esm/types.js +27 -17
  88. package/lib/esm/types.js.map +1 -1
  89. package/lib/esm/utils.d.ts +1 -1
  90. package/lib/esm/utils.js +29 -33
  91. package/lib/esm/utils.js.map +1 -1
  92. package/package.json +4 -4
  93. package/src/event-models/ht-event-custom.ts +31 -0
  94. package/src/event-models/ht-event-fallback.ts +17 -0
  95. package/src/event-models/ht-event-feedback.ts +33 -0
  96. package/src/event-models/ht-event-flow.ts +27 -0
  97. package/src/event-models/ht-event-handoff.ts +30 -0
  98. package/src/event-models/ht-event-intent-smart.ts +21 -0
  99. package/src/event-models/ht-event-intent.ts +23 -0
  100. package/src/event-models/ht-event-keyword.ts +23 -0
  101. package/src/event-models/ht-event-knowledge-base.ts +26 -0
  102. package/src/event-models/ht-event-webview.ts +25 -0
  103. package/src/event-models/ht-event.ts +19 -14
  104. package/src/event-models/index.ts +11 -0
  105. package/src/index.ts +14 -5
  106. package/src/types.ts +119 -111
  107. package/src/utils.ts +41 -33
  108. package/lib/cjs/event-models/ht-event-agent-rating.d.ts +0 -6
  109. package/lib/cjs/event-models/ht-event-agent-rating.js +0 -14
  110. package/lib/cjs/event-models/ht-event-agent-rating.js.map +0 -1
  111. package/lib/cjs/event-models/ht-event-bot-ai-model.d.ts +0 -6
  112. package/lib/cjs/event-models/ht-event-bot-ai-model.js +0 -15
  113. package/lib/cjs/event-models/ht-event-bot-ai-model.js.map +0 -1
  114. package/lib/cjs/event-models/ht-event-bot-faq.d.ts +0 -6
  115. package/lib/cjs/event-models/ht-event-bot-faq.js +0 -12
  116. package/lib/cjs/event-models/ht-event-bot-faq.js.map +0 -1
  117. package/lib/cjs/event-models/ht-event-bot-keyword-model.d.ts +0 -6
  118. package/lib/cjs/event-models/ht-event-bot-keyword-model.js +0 -13
  119. package/lib/cjs/event-models/ht-event-bot-keyword-model.js.map +0 -1
  120. package/lib/cjs/event-models/ht-event-bot-knowledge-base.d.ts +0 -6
  121. package/lib/cjs/event-models/ht-event-bot-knowledge-base.js +0 -13
  122. package/lib/cjs/event-models/ht-event-bot-knowledge-base.js.map +0 -1
  123. package/lib/cjs/event-models/ht-event-bot-rating.d.ts +0 -6
  124. package/lib/cjs/event-models/ht-event-bot-rating.js +0 -14
  125. package/lib/cjs/event-models/ht-event-bot-rating.js.map +0 -1
  126. package/lib/cjs/event-models/ht-event-channel-rating.d.ts +0 -6
  127. package/lib/cjs/event-models/ht-event-channel-rating.js +0 -12
  128. package/lib/cjs/event-models/ht-event-channel-rating.js.map +0 -1
  129. package/lib/cjs/event-models/ht-event-faq-useful.d.ts +0 -6
  130. package/lib/cjs/event-models/ht-event-faq-useful.js +0 -13
  131. package/lib/cjs/event-models/ht-event-faq-useful.js.map +0 -1
  132. package/lib/cjs/event-models/ht-event-handoff-fail.d.ts +0 -6
  133. package/lib/cjs/event-models/ht-event-handoff-fail.js +0 -15
  134. package/lib/cjs/event-models/ht-event-handoff-fail.js.map +0 -1
  135. package/lib/cjs/event-models/ht-event-handoff-success.d.ts +0 -6
  136. package/lib/cjs/event-models/ht-event-handoff-success.js +0 -15
  137. package/lib/cjs/event-models/ht-event-handoff-success.js.map +0 -1
  138. package/lib/esm/event-models/ht-event-agent-rating.d.ts +0 -6
  139. package/lib/esm/event-models/ht-event-agent-rating.js +0 -10
  140. package/lib/esm/event-models/ht-event-agent-rating.js.map +0 -1
  141. package/lib/esm/event-models/ht-event-bot-ai-model.d.ts +0 -6
  142. package/lib/esm/event-models/ht-event-bot-ai-model.js +0 -11
  143. package/lib/esm/event-models/ht-event-bot-ai-model.js.map +0 -1
  144. package/lib/esm/event-models/ht-event-bot-faq.d.ts +0 -6
  145. package/lib/esm/event-models/ht-event-bot-faq.js +0 -8
  146. package/lib/esm/event-models/ht-event-bot-faq.js.map +0 -1
  147. package/lib/esm/event-models/ht-event-bot-keyword-model.d.ts +0 -6
  148. package/lib/esm/event-models/ht-event-bot-keyword-model.js +0 -9
  149. package/lib/esm/event-models/ht-event-bot-keyword-model.js.map +0 -1
  150. package/lib/esm/event-models/ht-event-bot-knowledge-base.d.ts +0 -6
  151. package/lib/esm/event-models/ht-event-bot-knowledge-base.js +0 -9
  152. package/lib/esm/event-models/ht-event-bot-knowledge-base.js.map +0 -1
  153. package/lib/esm/event-models/ht-event-bot-rating.d.ts +0 -6
  154. package/lib/esm/event-models/ht-event-bot-rating.js +0 -10
  155. package/lib/esm/event-models/ht-event-bot-rating.js.map +0 -1
  156. package/lib/esm/event-models/ht-event-channel-rating.d.ts +0 -6
  157. package/lib/esm/event-models/ht-event-channel-rating.js +0 -8
  158. package/lib/esm/event-models/ht-event-channel-rating.js.map +0 -1
  159. package/lib/esm/event-models/ht-event-faq-useful.d.ts +0 -6
  160. package/lib/esm/event-models/ht-event-faq-useful.js +0 -9
  161. package/lib/esm/event-models/ht-event-faq-useful.js.map +0 -1
  162. package/lib/esm/event-models/ht-event-handoff-fail.d.ts +0 -6
  163. package/lib/esm/event-models/ht-event-handoff-fail.js +0 -11
  164. package/lib/esm/event-models/ht-event-handoff-fail.js.map +0 -1
  165. package/lib/esm/event-models/ht-event-handoff-success.d.ts +0 -6
  166. package/lib/esm/event-models/ht-event-handoff-success.js +0 -11
  167. package/lib/esm/event-models/ht-event-handoff-success.js.map +0 -1
  168. package/src/event-models/ht-event-agent-rating.ts +0 -18
  169. package/src/event-models/ht-event-bot-ai-model.ts +0 -19
  170. package/src/event-models/ht-event-bot-faq.ts +0 -16
  171. package/src/event-models/ht-event-bot-keyword-model.ts +0 -17
  172. package/src/event-models/ht-event-bot-knowledge-base.ts +0 -17
  173. package/src/event-models/ht-event-bot-rating.ts +0 -18
  174. package/src/event-models/ht-event-channel-rating.ts +0 -16
  175. package/src/event-models/ht-event-faq-useful.ts +0 -17
  176. package/src/event-models/ht-event-handoff-fail.ts +0 -19
  177. package/src/event-models/ht-event-handoff-success.ts +0 -19
package/src/types.ts CHANGED
@@ -1,165 +1,173 @@
1
1
  import { PROVIDER } from '@botonic/core'
2
2
 
3
- export interface Event {
4
- chat: string
5
- event_type: EventName
6
- event_data: BaseEventData
7
- }
8
-
9
- export enum EventName {
10
- botAgentRating = 'bot_agent_rating',
11
- botChannelRating = 'bot_channel_rating',
12
- botFaqUseful = 'bot_faq_useful',
13
- botRating = 'bot_rating',
14
- botFaq = 'bot_faq',
15
- botStart = 'bot_start',
16
- botOpen = 'bot_open',
17
- botAiModel = 'bot_ai_model',
18
- botAiKnowledgeBase = 'bot_ai_knowledge_base',
19
- botKeywordsModel = 'bot_keywords_model',
20
- fallback = 'fallback',
3
+ export enum EventType {
4
+ feedback = 'feedback',
5
+ botevent = 'botevent',
6
+ webevent = 'webevent',
7
+ }
8
+
9
+ export enum EventAction {
10
+ feedbackCase = 'feedback_case',
11
+ feedbackMessage = 'feddback_message',
12
+ feedbackConversation = 'feddback_conversation',
13
+ feedbackWebview = 'feddback_webview',
14
+ flowNode = 'flow_node',
21
15
  handoffOption = 'handoff_option',
22
16
  handoffSuccess = 'handoff_success',
23
17
  handoffFail = 'handoff_fail',
24
- }
25
- export interface BaseEventData {
26
- channel: string
27
- event_datetime: string
28
- enduser_language: string
29
- enduser_country?: string
30
- format_version?: number
31
- bot_version?: string
32
- flow_version?: string
18
+ keyword = 'nlu_keyword',
19
+ intent = 'nlu_intent',
20
+ intentSmart = 'nlu_intent_smart',
21
+ knowledgebase = 'knowledgebase',
22
+ fallback = 'fallback',
23
+ webviewStep = 'webview_step',
24
+ webviewEnd = 'webview_end',
25
+ customBot = 'custom_bot', // Custom event for bot
26
+ customWeb = 'custom_web', // Custom event for web
33
27
  }
34
28
 
35
29
  export interface HtBaseEventProps {
36
- event_type: EventName
30
+ action: EventAction
37
31
  }
38
32
 
39
- export interface EventAgentRating extends HtBaseEventProps {
40
- event_type: EventName.botAgentRating
41
- event_data: EventDataRating
33
+ export interface EventFeedback extends HtBaseEventProps {
34
+ action:
35
+ | EventAction.feedbackCase
36
+ | EventAction.feedbackConversation
37
+ | EventAction.feedbackMessage
38
+ | EventAction.feedbackWebview
39
+ data: EventPropsFeedback
42
40
  }
43
41
 
44
- export interface EventDataRating {
45
- case_id: string
46
- rating?: number
47
- comment?: string
48
- }
49
- export interface EventChannelRating extends HtBaseEventProps {
50
- event_type: EventName.botChannelRating
51
- event_data: EventDataChannelRating
42
+ export interface EventPropsFeedback {
43
+ messageGeneratedBy?: string
44
+ feedbackTargetId?: string
45
+ feedbackGroupId?: string
46
+ possibleOptions: string[]
47
+ possibleValues: number[]
48
+ option: string
49
+ value: number
52
50
  }
53
51
 
54
- export interface EventDataChannelRating {
55
- rating: number
52
+ export interface EventFlow extends HtBaseEventProps {
53
+ action: EventAction.flowNode
54
+ data: EventPropsFlow
56
55
  }
57
56
 
58
- export interface EventFaqUseful extends HtBaseEventProps {
59
- event_type: EventName.botFaqUseful
60
- event_data: EventDataUseful
57
+ export interface EventPropsFlow {
58
+ flowThreadId: string
59
+ flowId: string
60
+ flowName: string
61
+ flowNodeId: string
62
+ flowNodeContentId: string
63
+ flowNodeIsMeaningful?: boolean
61
64
  }
62
65
 
63
- export interface EventDataUseful {
64
- faq_name: string
65
- useful: boolean
66
- }
67
- export interface EventBotRating extends HtBaseEventProps {
68
- event_type: EventName.botRating
69
- event_data: EventDataBotRating
66
+ export interface EventHandoff extends HtBaseEventProps {
67
+ action:
68
+ | EventAction.handoffOption
69
+ | EventAction.handoffSuccess
70
+ | EventAction.handoffFail
71
+ data: EventPropsHandoff
70
72
  }
71
73
 
72
- export interface EventDataBotRating {
73
- rating: number
74
- free_comment?: string
75
- selected_options?: string[]
74
+ export interface EventPropsHandoff {
75
+ queueId: string
76
+ queueName: string
77
+ caseId?: string
78
+ isQueueOpen?: boolean
79
+ isAvailableAgent?: boolean
80
+ isThresholdReached?: boolean
76
81
  }
77
82
 
78
- export interface EventBotFaq extends HtBaseEventProps {
79
- event_type: EventName.botFaq
80
- event_data: EventDataBotFaq
83
+ export interface EventIntent extends HtBaseEventProps {
84
+ action: EventAction.intent
85
+ data: EventPropsIntent
81
86
  }
82
87
 
83
- export interface EventDataBotFaq {
84
- faq_name: string
85
- }
86
- export interface EventBotStart extends HtBaseEventProps {
87
- event_type: EventName.botStart
88
+ export interface EventPropsIntent {
89
+ nluIntentLabel: string
90
+ nluIntentConfidence: number
91
+ nluIntentThreshold: number
92
+ nluIntentMessageId: string
88
93
  }
89
94
 
90
- export interface EventBotOpen {
91
- event_type: EventName.botOpen
95
+ export interface EventKeyword extends HtBaseEventProps {
96
+ action: EventAction.keyword
97
+ data: EventPropsKeyword
92
98
  }
93
99
 
94
- export interface EventBotAiModel {
95
- event_type: EventName.botAiModel
96
- event_data: EventDataBotAiModel
100
+ export interface EventPropsKeyword {
101
+ nluKeywordId: string
102
+ nluKeywordName: string
103
+ nluKeywordIsRegex?: boolean
104
+ nluKeywordMessageId: string
97
105
  }
98
106
 
99
- export interface EventDataBotAiModel {
100
- intent: string
101
- confidence: number
102
- confidence_successful: boolean
107
+ export interface EventIntentSmart extends HtBaseEventProps {
108
+ action: EventAction.intentSmart
109
+ data: EventPropsIntentSmart
103
110
  }
104
111
 
105
- export interface EventBotAiKnowledgeBase {
106
- event_type: EventName.botAiKnowledgeBase
107
- event_data: EventDataBotAiKnowledgeBase
112
+ export interface EventPropsIntentSmart {
113
+ nluIntentSmartTitle: string
114
+ nluIntentSmartNumUsed: number
115
+ nluIntentSmartMessageId: string
108
116
  }
109
117
 
110
- export interface EventDataBotAiKnowledgeBase {
111
- answer: string
112
- knowledge_source_ids: string[]
118
+ export interface EventKnowledgeBase extends HtBaseEventProps {
119
+ action: EventAction.knowledgebase
120
+ data: EventPropsKnowledgeBase
113
121
  }
114
122
 
115
- export interface EventBotKeywordModel extends HtBaseEventProps {
116
- event_type: EventName.botKeywordsModel
117
- event_data: EventDataBotKeywordModel
123
+ export interface EventPropsKnowledgeBase {
124
+ knowledgebaseFailReason?: string
125
+ knowledgebaseSourcesIds: string[]
126
+ knowledgebaseChunksIds: string[]
118
127
  }
119
128
 
120
- export interface EventDataBotKeywordModel {
121
- confidence_successful: boolean
122
- }
123
129
  export interface EventFallback extends HtBaseEventProps {
124
- event_type: EventName.fallback
130
+ action: EventAction.fallback
131
+ data: EventPropsFallbackBase
125
132
  }
126
133
 
127
- export interface EventHandoffOption extends HtBaseEventProps {
128
- event_type: EventName.handoffOption
134
+ export interface EventPropsFallbackBase {
135
+ fallbackAttempt: number
129
136
  }
130
137
 
131
- export interface EventHandoffSuccess extends HtBaseEventProps {
132
- event_type: EventName.handoffSuccess
133
- event_data: EventDataHandoff
138
+ export interface EventWebview extends HtBaseEventProps {
139
+ action: EventAction.webviewStep | EventAction.webviewEnd
140
+ data: EventPropsWebview
134
141
  }
135
142
 
136
- export interface EventHandoffFail extends HtBaseEventProps {
137
- event_type: EventName.handoffFail
138
- event_data: EventDataHandoff
143
+ export interface EventPropsWebview {
144
+ webviewThreadId: string
145
+ webviewName: string
146
+ webviewStepName: string
147
+ webviewEndFailType?: string
148
+ webviewEndFailMessage?: string
139
149
  }
140
150
 
141
- export interface EventDataHandoff {
142
- queue_open: boolean
143
- queue_id: string
144
- available_agents: boolean
145
- threshold_reached: boolean
151
+ export interface EventCustom extends HtBaseEventProps {
152
+ action: EventAction.customBot | EventAction.customWeb
153
+ data: Record<CustomAttribute, string>
146
154
  }
147
155
 
156
+ export const CUSTOM_PREFIX = 'custom_'
157
+ // All attributs that start with 'custom_' are considered custom attributs
158
+ export type CustomAttribute = `${typeof CUSTOM_PREFIX}${string}`
159
+
148
160
  export type HtEventProps =
149
- | EventAgentRating
150
- | EventChannelRating
151
- | EventFaqUseful
152
- | EventBotRating
153
- | EventBotFaq
154
- | EventBotStart
155
- | EventBotOpen
156
- | EventBotAiModel
157
- | EventBotAiKnowledgeBase
158
- | EventBotKeywordModel
161
+ | EventFeedback
162
+ | EventFlow
163
+ | EventHandoff
164
+ | EventIntent
165
+ | EventKeyword
166
+ | EventIntentSmart
167
+ | EventKnowledgeBase
159
168
  | EventFallback
160
- | EventHandoffOption
161
- | EventHandoffSuccess
162
- | EventHandoffFail
169
+ | EventWebview
170
+ | EventCustom
163
171
 
164
172
  export interface RequestData {
165
173
  language: string
package/src/utils.ts CHANGED
@@ -1,50 +1,58 @@
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 { HtEventBotAiKnowledgeBase } from './event-models/ht-event-bot-knowledge-base'
7
- import { HtEventBotRating } from './event-models/ht-event-bot-rating'
8
- import { HtEventChannelRating } from './event-models/ht-event-channel-rating'
9
- import { HtEventFaqUseful } from './event-models/ht-event-faq-useful'
10
- import { HtEventHandoffFail } from './event-models/ht-event-handoff-fail'
11
- import { HtEventHandoffSuccess } from './event-models/ht-event-handoff-success'
12
- import { EventName, HtEventProps, RequestData } from './types'
1
+ import {
2
+ HtEvent,
3
+ HtEventCustom,
4
+ HtEventFallback,
5
+ HtEventFeedback,
6
+ HtEventFlow,
7
+ HtEventHandoff,
8
+ HtEventIntent,
9
+ HtEventIntentSmart,
10
+ HtEventKeyword,
11
+ HtEventKnowledgeBase,
12
+ HtEventWebview,
13
+ } from './event-models'
14
+ import { EventAction, HtEventProps, RequestData } from './types'
13
15
 
14
16
  export function createHtEvent(
15
17
  requestData: RequestData,
16
18
  htEventProps: HtEventProps
17
19
  ): HtEvent {
18
- switch (htEventProps.event_type) {
19
- case EventName.botAgentRating:
20
- return new HtEventAgentRating(htEventProps, requestData)
20
+ switch (htEventProps.action) {
21
+ case EventAction.feedbackCase:
22
+ case EventAction.feedbackConversation:
23
+ case EventAction.feedbackMessage:
24
+ case EventAction.feedbackWebview:
25
+ return new HtEventFeedback(htEventProps, requestData)
21
26
 
22
- case EventName.botChannelRating:
23
- return new HtEventChannelRating(htEventProps, requestData)
27
+ case EventAction.flowNode:
28
+ return new HtEventFlow(htEventProps, requestData)
24
29
 
25
- case EventName.botFaqUseful:
26
- return new HtEventFaqUseful(htEventProps, requestData)
30
+ case EventAction.handoffOption:
31
+ case EventAction.handoffSuccess:
32
+ case EventAction.handoffFail:
33
+ return new HtEventHandoff(htEventProps, requestData)
27
34
 
28
- case EventName.botRating:
29
- return new HtEventBotRating(htEventProps, requestData)
35
+ case EventAction.intent:
36
+ return new HtEventIntent(htEventProps, requestData)
30
37
 
31
- case EventName.botFaq:
32
- return new HtEventBotFaq(htEventProps, requestData)
38
+ case EventAction.keyword:
39
+ return new HtEventKeyword(htEventProps, requestData)
33
40
 
34
- case EventName.botAiModel:
35
- return new HtEventBotAiModel(htEventProps, requestData)
41
+ case EventAction.intentSmart:
42
+ return new HtEventIntentSmart(htEventProps, requestData)
36
43
 
37
- case EventName.botAiKnowledgeBase:
38
- return new HtEventBotAiKnowledgeBase(htEventProps, requestData)
44
+ case EventAction.knowledgebase:
45
+ return new HtEventKnowledgeBase(htEventProps, requestData)
39
46
 
40
- case EventName.botKeywordsModel:
41
- return new HtEventBotKeywordModel(htEventProps, requestData)
47
+ case EventAction.fallback:
48
+ return new HtEventFallback(htEventProps, requestData)
42
49
 
43
- case EventName.handoffSuccess:
44
- return new HtEventHandoffSuccess(htEventProps, requestData)
50
+ case EventAction.webviewStep:
51
+ return new HtEventWebview(htEventProps, requestData)
45
52
 
46
- case EventName.handoffFail:
47
- return new HtEventHandoffFail(htEventProps, requestData)
53
+ case EventAction.customBot:
54
+ case EventAction.customWeb:
55
+ return new HtEventCustom(htEventProps, requestData)
48
56
 
49
57
  default:
50
58
  return new HtEvent(htEventProps, requestData)
@@ -1,6 +0,0 @@
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
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HtEventAgentRating = void 0;
4
- const ht_event_1 = require("./ht-event");
5
- class HtEventAgentRating extends ht_event_1.HtEvent {
6
- constructor(event, requestData) {
7
- super(event, requestData);
8
- this.event_data.rating = event.event_data.rating;
9
- this.event_data.comment = event.event_data.comment;
10
- this.event_data.case_id = event.event_data.case_id;
11
- }
12
- }
13
- exports.HtEventAgentRating = HtEventAgentRating;
14
- //# sourceMappingURL=ht-event-agent-rating.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ht-event-agent-rating.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-agent-rating.ts"],"names":[],"mappings":";;;AAMA,yCAAoC;AAEpC,MAAa,kBAAmB,SAAQ,kBAAO;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;QAChD,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAA;QAClD,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAA;IACpD,CAAC;CACF;AATD,gDASC"}
@@ -1,6 +0,0 @@
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
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HtEventBotAiModel = void 0;
4
- const ht_event_1 = require("./ht-event");
5
- class HtEventBotAiModel extends ht_event_1.HtEvent {
6
- constructor(event, requestData) {
7
- super(event, requestData);
8
- this.event_data.intent = event.event_data.intent;
9
- this.event_data.confidence = event.event_data.confidence;
10
- this.event_data.confidence_successful =
11
- event.event_data.confidence_successful;
12
- }
13
- }
14
- exports.HtEventBotAiModel = HtEventBotAiModel;
15
- //# sourceMappingURL=ht-event-bot-ai-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ht-event-bot-ai-model.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-ai-model.ts"],"names":[],"mappings":";;;AAMA,yCAAoC;AAEpC,MAAa,iBAAkB,SAAQ,kBAAO;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;AAVD,8CAUC"}
@@ -1,6 +0,0 @@
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
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HtEventBotFaq = void 0;
4
- const ht_event_1 = require("./ht-event");
5
- class HtEventBotFaq extends ht_event_1.HtEvent {
6
- constructor(event, requestData) {
7
- super(event, requestData);
8
- this.event_data.faq_name = event.event_data.faq_name;
9
- }
10
- }
11
- exports.HtEventBotFaq = HtEventBotFaq;
12
- //# sourceMappingURL=ht-event-bot-faq.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ht-event-bot-faq.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-faq.ts"],"names":[],"mappings":";;;AAMA,yCAAoC;AAEpC,MAAa,aAAc,SAAQ,kBAAO;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;AAPD,sCAOC"}
@@ -1,6 +0,0 @@
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
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HtEventBotKeywordModel = void 0;
4
- const ht_event_1 = require("./ht-event");
5
- class HtEventBotKeywordModel extends ht_event_1.HtEvent {
6
- constructor(event, requestData) {
7
- super(event, requestData);
8
- this.event_data.confidence_successful =
9
- event.event_data.confidence_successful;
10
- }
11
- }
12
- exports.HtEventBotKeywordModel = HtEventBotKeywordModel;
13
- //# sourceMappingURL=ht-event-bot-keyword-model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ht-event-bot-keyword-model.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-keyword-model.ts"],"names":[],"mappings":";;;AAMA,yCAAoC;AAEpC,MAAa,sBAAuB,SAAQ,kBAAO;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;AARD,wDAQC"}
@@ -1,6 +0,0 @@
1
- import { BaseEventData, EventBotAiKnowledgeBase, EventDataBotAiKnowledgeBase, RequestData } from '../types';
2
- import { HtEvent } from './ht-event';
3
- export declare class HtEventBotAiKnowledgeBase extends HtEvent {
4
- event_data: BaseEventData & EventDataBotAiKnowledgeBase;
5
- constructor(event: EventBotAiKnowledgeBase, requestData: RequestData);
6
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HtEventBotAiKnowledgeBase = void 0;
4
- const ht_event_1 = require("./ht-event");
5
- class HtEventBotAiKnowledgeBase extends ht_event_1.HtEvent {
6
- constructor(event, requestData) {
7
- super(event, requestData);
8
- this.event_data.answer = event.event_data.answer;
9
- this.event_data.knowledge_source_ids = event.event_data.knowledge_source_ids;
10
- }
11
- }
12
- exports.HtEventBotAiKnowledgeBase = HtEventBotAiKnowledgeBase;
13
- //# sourceMappingURL=ht-event-bot-knowledge-base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ht-event-bot-knowledge-base.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-knowledge-base.ts"],"names":[],"mappings":";;;AAMA,yCAAoC;AAEpC,MAAa,yBAA0B,SAAQ,kBAAO;IAGpD,YAAY,KAA8B,EAAE,WAAwB;QAClE,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,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAA;IAC9E,CAAC;CACF;AARD,8DAQC"}
@@ -1,6 +0,0 @@
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
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HtEventBotRating = void 0;
4
- const ht_event_1 = require("./ht-event");
5
- class HtEventBotRating extends ht_event_1.HtEvent {
6
- constructor(event, requestData) {
7
- super(event, requestData);
8
- this.event_data.rating = event.event_data.rating;
9
- this.event_data.free_comment = event.event_data.free_comment;
10
- this.event_data.selected_options = event.event_data.selected_options;
11
- }
12
- }
13
- exports.HtEventBotRating = HtEventBotRating;
14
- //# sourceMappingURL=ht-event-bot-rating.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ht-event-bot-rating.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-rating.ts"],"names":[],"mappings":";;;AAMA,yCAAoC;AAEpC,MAAa,gBAAiB,SAAQ,kBAAO;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;AATD,4CASC"}
@@ -1,6 +0,0 @@
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
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HtEventChannelRating = void 0;
4
- const ht_event_1 = require("./ht-event");
5
- class HtEventChannelRating extends ht_event_1.HtEvent {
6
- constructor(event, requestData) {
7
- super(event, requestData);
8
- this.event_data.rating = event.event_data.rating;
9
- }
10
- }
11
- exports.HtEventChannelRating = HtEventChannelRating;
12
- //# sourceMappingURL=ht-event-channel-rating.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ht-event-channel-rating.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-channel-rating.ts"],"names":[],"mappings":";;;AAMA,yCAAoC;AAEpC,MAAa,oBAAqB,SAAQ,kBAAO;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;AAPD,oDAOC"}
@@ -1,6 +0,0 @@
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
- }
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HtEventFaqUseful = void 0;
4
- const ht_event_1 = require("./ht-event");
5
- class HtEventFaqUseful extends ht_event_1.HtEvent {
6
- constructor(event, requestData) {
7
- super(event, requestData);
8
- this.event_data.faq_name = event.event_data.faq_name;
9
- this.event_data.useful = event.event_data.useful;
10
- }
11
- }
12
- exports.HtEventFaqUseful = HtEventFaqUseful;
13
- //# sourceMappingURL=ht-event-faq-useful.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ht-event-faq-useful.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-faq-useful.ts"],"names":[],"mappings":";;;AAMA,yCAAoC;AAEpC,MAAa,gBAAiB,SAAQ,kBAAO;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;AARD,4CAQC"}
@@ -1,6 +0,0 @@
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
- }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HtEventHandoffFail = void 0;
4
- const ht_event_1 = require("./ht-event");
5
- class HtEventHandoffFail extends ht_event_1.HtEvent {
6
- constructor(event, requestData) {
7
- super(event, requestData);
8
- this.event_data.queue_open = event.event_data.queue_open;
9
- this.event_data.queue_id = event.event_data.queue_id;
10
- this.event_data.available_agents = event.event_data.available_agents;
11
- this.event_data.threshold_reached = event.event_data.threshold_reached;
12
- }
13
- }
14
- exports.HtEventHandoffFail = HtEventHandoffFail;
15
- //# sourceMappingURL=ht-event-handoff-fail.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ht-event-handoff-fail.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-handoff-fail.ts"],"names":[],"mappings":";;;AAMA,yCAAoC;AAEpC,MAAa,kBAAmB,SAAQ,kBAAO;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,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAA;QACpD,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;AAVD,gDAUC"}
@@ -1,6 +0,0 @@
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
- }