@botonic/plugin-hubtype-analytics 0.26.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 (177) hide show
  1. package/README.md +38 -5
  2. package/lib/cjs/event-models/ht-event-custom.d.ts +11 -0
  3. package/lib/cjs/event-models/ht-event-custom.js +14 -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 +12 -0
  6. package/lib/cjs/event-models/ht-event-fallback.js +15 -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 +15 -0
  27. package/lib/cjs/event-models/ht-event-knowledge-base.js +18 -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 +6 -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 +12 -6
  40. package/lib/cjs/index.js.map +1 -1
  41. package/lib/cjs/types.d.ts +125 -115
  42. package/lib/cjs/types.js +31 -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 +11 -0
  48. package/lib/esm/event-models/ht-event-custom.js +10 -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 +12 -0
  51. package/lib/esm/event-models/ht-event-fallback.js +11 -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 +15 -0
  72. package/lib/esm/event-models/ht-event-knowledge-base.js +14 -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 +6 -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 +12 -6
  85. package/lib/esm/index.js.map +1 -1
  86. package/lib/esm/types.d.ts +125 -115
  87. package/lib/esm/types.js +30 -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 +17 -0
  94. package/src/event-models/ht-event-fallback.ts +19 -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 +30 -0
  102. package/src/event-models/ht-event-webview.ts +25 -0
  103. package/src/event-models/ht-event.ts +17 -14
  104. package/src/event-models/index.ts +11 -0
  105. package/src/index.ts +14 -5
  106. package/src/types.ts +128 -113
  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,180 @@
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',
21
- handoffOption = 'handoff_option',
22
- handoffSuccess = 'handoff_success',
23
- 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
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',
15
+ HandoffOption = 'handoff_option',
16
+ HandoffSuccess = 'handoff_success',
17
+ HandoffFail = 'handoff_fail',
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
+ Custom = 'custom',
33
26
  }
34
27
 
35
28
  export interface HtBaseEventProps {
36
- event_type: EventName
29
+ action: EventAction
37
30
  }
38
31
 
39
- export interface EventAgentRating extends HtBaseEventProps {
40
- event_type: EventName.botAgentRating
41
- event_data: EventDataRating
32
+ export interface EventFeedback extends HtBaseEventProps {
33
+ action:
34
+ | EventAction.FeedbackCase
35
+ | EventAction.FeedbackConversation
36
+ | EventAction.FeedbackMessage
37
+ | EventAction.FeedbackWebview
38
+ data: EventPropsFeedback
42
39
  }
43
40
 
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
41
+ export interface EventPropsFeedback {
42
+ messageGeneratedBy?: string
43
+ feedbackTargetId?: string
44
+ feedbackGroupId?: string
45
+ possibleOptions: string[]
46
+ possibleValues: number[]
47
+ option: string
48
+ value: number
52
49
  }
53
50
 
54
- export interface EventDataChannelRating {
55
- rating: number
51
+ export interface EventFlow extends HtBaseEventProps {
52
+ action: EventAction.FlowNode
53
+ data: EventPropsFlow
56
54
  }
57
55
 
58
- export interface EventFaqUseful extends HtBaseEventProps {
59
- event_type: EventName.botFaqUseful
60
- event_data: EventDataUseful
56
+ export interface EventPropsFlow {
57
+ flowThreadId: string
58
+ flowId: string
59
+ flowName: string
60
+ flowNodeId: string
61
+ flowNodeContentId: string
62
+ flowNodeIsMeaningful?: boolean
61
63
  }
62
64
 
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
65
+ export interface EventHandoff extends HtBaseEventProps {
66
+ action:
67
+ | EventAction.HandoffOption
68
+ | EventAction.HandoffSuccess
69
+ | EventAction.HandoffFail
70
+ data: EventPropsHandoff
70
71
  }
71
72
 
72
- export interface EventDataBotRating {
73
- rating: number
74
- free_comment?: string
75
- selected_options?: string[]
73
+ export interface EventPropsHandoff {
74
+ queueId: string
75
+ queueName: string
76
+ caseId?: string
77
+ isQueueOpen?: boolean
78
+ isAvailableAgent?: boolean
79
+ isThresholdReached?: boolean
76
80
  }
77
81
 
78
- export interface EventBotFaq extends HtBaseEventProps {
79
- event_type: EventName.botFaq
80
- event_data: EventDataBotFaq
82
+ export interface EventIntent extends HtBaseEventProps {
83
+ action: EventAction.Intent
84
+ data: EventPropsIntent
81
85
  }
82
86
 
83
- export interface EventDataBotFaq {
84
- faq_name: string
85
- }
86
- export interface EventBotStart extends HtBaseEventProps {
87
- event_type: EventName.botStart
87
+ export interface EventPropsIntent {
88
+ nluIntentLabel: string
89
+ nluIntentConfidence: number
90
+ nluIntentThreshold: number
91
+ nluIntentMessageId: string
88
92
  }
89
93
 
90
- export interface EventBotOpen {
91
- event_type: EventName.botOpen
94
+ export interface EventKeyword extends HtBaseEventProps {
95
+ action: EventAction.Keyword
96
+ data: EventPropsKeyword
92
97
  }
93
98
 
94
- export interface EventBotAiModel {
95
- event_type: EventName.botAiModel
96
- event_data: EventDataBotAiModel
99
+ export interface EventPropsKeyword {
100
+ nluKeywordId: string
101
+ nluKeywordName: string
102
+ nluKeywordIsRegex?: boolean
103
+ nluKeywordMessageId: string
97
104
  }
98
105
 
99
- export interface EventDataBotAiModel {
100
- intent: string
101
- confidence: number
102
- confidence_successful: boolean
106
+ export interface EventIntentSmart extends HtBaseEventProps {
107
+ action: EventAction.IntentSmart
108
+ data: EventPropsIntentSmart
103
109
  }
104
110
 
105
- export interface EventBotAiKnowledgeBase {
106
- event_type: EventName.botAiKnowledgeBase
107
- event_data: EventDataBotAiKnowledgeBase
111
+ export interface EventPropsIntentSmart {
112
+ nluIntentSmartTitle: string
113
+ nluIntentSmartNumUsed: number
114
+ nluIntentSmartMessageId: string
108
115
  }
109
116
 
110
- export interface EventDataBotAiKnowledgeBase {
111
- answer: string
112
- knowledge_source_ids: string[]
117
+ export interface EventKnowledgeBase extends HtBaseEventProps {
118
+ action: EventAction.Knowledgebase
119
+ data: EventPropsKnowledgeBase
113
120
  }
114
121
 
115
- export interface EventBotKeywordModel extends HtBaseEventProps {
116
- event_type: EventName.botKeywordsModel
117
- event_data: EventDataBotKeywordModel
122
+ export interface EventPropsKnowledgeBase {
123
+ knowledgebaseInferenceId: string
124
+ knowledgebaseFailReason?: KnowledgebaseFailReason
125
+ knowledgebaseSourcesIds: string[]
126
+ knowledgebaseChunksIds: string[]
127
+ knowledgebaseMessageId: string
118
128
  }
119
129
 
120
- export interface EventDataBotKeywordModel {
121
- confidence_successful: boolean
130
+ export enum KnowledgebaseFailReason {
131
+ NoKnowledge = 'no_knowledge',
132
+ Hallucination = 'hallucination',
122
133
  }
134
+
123
135
  export interface EventFallback extends HtBaseEventProps {
124
- event_type: EventName.fallback
136
+ action: EventAction.Fallback
137
+ data: EventPropsFallbackBase
138
+ }
139
+
140
+ export interface EventPropsFallbackBase {
141
+ fallbackOut: number
142
+ fallbackMessageId: string
125
143
  }
126
144
 
127
- export interface EventHandoffOption extends HtBaseEventProps {
128
- event_type: EventName.handoffOption
145
+ export interface EventWebview extends HtBaseEventProps {
146
+ action: EventAction.WebviewStep | EventAction.WebviewEnd
147
+ data: EventPropsWebview
129
148
  }
130
149
 
131
- export interface EventHandoffSuccess extends HtBaseEventProps {
132
- event_type: EventName.handoffSuccess
133
- event_data: EventDataHandoff
150
+ export interface EventPropsWebview {
151
+ webviewThreadId: string
152
+ webviewName: string
153
+ webviewStepName?: string
154
+ webviewEndFailType?: string
155
+ webviewEndFailMessage?: string
134
156
  }
135
157
 
136
- export interface EventHandoffFail extends HtBaseEventProps {
137
- event_type: EventName.handoffFail
138
- event_data: EventDataHandoff
158
+ export interface EventCustom extends HtBaseEventProps {
159
+ action: EventAction.Custom
160
+ data: EventPropsCustom
139
161
  }
140
162
 
141
- export interface EventDataHandoff {
142
- queue_open: boolean
143
- queue_id: string
144
- available_agents: boolean
145
- threshold_reached: boolean
163
+ export interface EventPropsCustom {
164
+ customFields: Record<string, any>
146
165
  }
147
166
 
148
167
  export type HtEventProps =
149
- | EventAgentRating
150
- | EventChannelRating
151
- | EventFaqUseful
152
- | EventBotRating
153
- | EventBotFaq
154
- | EventBotStart
155
- | EventBotOpen
156
- | EventBotAiModel
157
- | EventBotAiKnowledgeBase
158
- | EventBotKeywordModel
168
+ | EventFeedback
169
+ | EventFlow
170
+ | EventHandoff
171
+ | EventIntent
172
+ | EventKeyword
173
+ | EventIntentSmart
174
+ | EventKnowledgeBase
159
175
  | EventFallback
160
- | EventHandoffOption
161
- | EventHandoffSuccess
162
- | EventHandoffFail
176
+ | EventWebview
177
+ | EventCustom
163
178
 
164
179
  export interface RequestData {
165
180
  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
+ case EventAction.WebviewEnd:
52
+ return new HtEventWebview(htEventProps, requestData)
45
53
 
46
- case EventName.handoffFail:
47
- return new HtEventHandoffFail(htEventProps, requestData)
54
+ case EventAction.Custom:
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
- }