@botonic/plugin-hubtype-analytics 0.46.0-alpha.2 → 2.23.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.
- package/CHANGELOG.md +205 -0
- package/README.md +6 -134
- package/package.json +18 -39
- package/src/index.d.ts +1 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-ai-agent.d.ts +3 -5
- package/src/lib/event-models/bot/ht-event-ai-agent.js +35 -0
- package/src/lib/event-models/bot/ht-event-ai-agent.js.map +1 -0
- package/{lib/esm/event-models → src/lib/event-models/bot}/ht-event-bot-action.d.ts +2 -2
- package/src/lib/event-models/bot/ht-event-bot-action.js +17 -0
- package/src/lib/event-models/bot/ht-event-bot-action.js.map +1 -0
- package/{lib/esm/event-models → src/lib/event-models/bot}/ht-event-capture-user-input.d.ts +2 -2
- package/{lib/esm/event-models → src/lib/event-models/bot}/ht-event-capture-user-input.js +5 -9
- package/src/lib/event-models/bot/ht-event-capture-user-input.js.map +1 -0
- package/{lib/esm/event-models → src/lib/event-models/bot}/ht-event-conditional-channel.d.ts +2 -2
- package/src/lib/event-models/bot/ht-event-conditional-channel.js +17 -0
- package/src/lib/event-models/bot/ht-event-conditional-channel.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-conditional-country.d.ts +2 -2
- package/src/lib/event-models/bot/ht-event-conditional-country.js +17 -0
- package/src/lib/event-models/bot/ht-event-conditional-country.js.map +1 -0
- package/{lib/esm/event-models → src/lib/event-models/bot}/ht-event-conditional-custom.d.ts +2 -2
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-conditional-custom.js +6 -10
- package/src/lib/event-models/bot/ht-event-conditional-custom.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-conditional-queue-status.d.ts +2 -2
- package/{lib/esm/event-models → src/lib/event-models/bot}/ht-event-conditional-queue-status.js +5 -9
- package/src/lib/event-models/bot/ht-event-conditional-queue-status.js.map +1 -0
- package/{lib/esm/event-models → src/lib/event-models/bot}/ht-event-fallback.d.ts +3 -2
- package/src/lib/event-models/bot/ht-event-fallback.js +17 -0
- package/src/lib/event-models/bot/ht-event-fallback.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-flow.d.ts +3 -2
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-flow.js +5 -9
- package/src/lib/event-models/bot/ht-event-flow.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-handoff-option.d.ts +2 -2
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-handoff-option.js +5 -8
- package/src/lib/event-models/bot/ht-event-handoff-option.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-handoff.d.ts +2 -2
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-handoff.js +4 -8
- package/src/lib/event-models/bot/ht-event-handoff.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-intent-smart.d.ts +3 -2
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-intent-smart.js +5 -9
- package/src/lib/event-models/bot/ht-event-intent-smart.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-keyword.d.ts +3 -2
- package/{lib/esm/event-models → src/lib/event-models/bot}/ht-event-keyword.js +5 -9
- package/src/lib/event-models/bot/ht-event-keyword.js.map +1 -0
- package/{lib/esm/event-models → src/lib/event-models/bot}/ht-event-knowledge-base.d.ts +3 -2
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-knowledge-base.js +5 -9
- package/src/lib/event-models/bot/ht-event-knowledge-base.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-redirect-flow.d.ts +2 -3
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-redirect-flow.js +5 -9
- package/src/lib/event-models/bot/ht-event-redirect-flow.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/bot}/ht-event-webview-action-triggered.d.ts +2 -2
- package/src/lib/event-models/bot/ht-event-webview-action-triggered.js +18 -0
- package/src/lib/event-models/bot/ht-event-webview-action-triggered.js.map +1 -0
- package/{lib/cjs → src/lib}/event-models/ht-event.d.ts +2 -2
- package/{lib/esm → src/lib}/event-models/ht-event.js +3 -7
- package/src/lib/event-models/ht-event.js.map +1 -0
- package/src/lib/event-models/index.d.ts +21 -0
- package/src/lib/event-models/index.js +22 -0
- package/src/lib/event-models/index.js.map +1 -0
- package/src/lib/event-models/test-helpers.d.ts +11 -0
- package/src/lib/event-models/test-helpers.js +50 -0
- package/src/lib/event-models/test-helpers.js.map +1 -0
- package/src/lib/event-models/types.d.ts +12 -0
- package/src/lib/event-models/types.js +7 -0
- package/src/lib/event-models/types.js.map +1 -0
- package/src/lib/event-models/web/ht-event-custom.d.ts +8 -0
- package/src/lib/event-models/web/ht-event-custom.js +12 -0
- package/src/lib/event-models/web/ht-event-custom.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/web}/ht-event-feedback-knowledgebase.d.ts +2 -2
- package/{lib/cjs/event-models → src/lib/event-models/web}/ht-event-feedback-knowledgebase.js +4 -8
- package/src/lib/event-models/web/ht-event-feedback-knowledgebase.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/web}/ht-event-feedback.d.ts +2 -2
- package/{lib/esm/event-models → src/lib/event-models/web}/ht-event-feedback.js +4 -8
- package/src/lib/event-models/web/ht-event-feedback.js.map +1 -0
- package/{lib/esm/event-models → src/lib/event-models/web}/ht-event-webview-end.d.ts +2 -2
- package/{lib/esm/event-models → src/lib/event-models/web}/ht-event-webview-end.js +4 -8
- package/src/lib/event-models/web/ht-event-webview-end.js.map +1 -0
- package/{lib/cjs/event-models → src/lib/event-models/web}/ht-event-webview-step.d.ts +2 -2
- package/src/lib/event-models/web/ht-event-webview-step.js +15 -0
- package/src/lib/event-models/web/ht-event-webview-step.js.map +1 -0
- package/src/lib/index.d.ts +17 -0
- package/src/lib/index.js +107 -0
- package/src/lib/index.js.map +1 -0
- package/{lib/cjs → src/lib}/utils.d.ts +1 -1
- package/src/lib/utils.js +56 -0
- package/src/lib/utils.js.map +1 -0
- package/lib/cjs/event-models/ht-event-ai-agent.js +0 -55
- package/lib/cjs/event-models/ht-event-ai-agent.js.map +0 -1
- package/lib/cjs/event-models/ht-event-bot-action.d.ts +0 -12
- package/lib/cjs/event-models/ht-event-bot-action.js +0 -21
- package/lib/cjs/event-models/ht-event-bot-action.js.map +0 -1
- package/lib/cjs/event-models/ht-event-capture-user-input.d.ts +0 -15
- package/lib/cjs/event-models/ht-event-capture-user-input.js +0 -24
- package/lib/cjs/event-models/ht-event-capture-user-input.js.map +0 -1
- package/lib/cjs/event-models/ht-event-conditional-channel.d.ts +0 -12
- package/lib/cjs/event-models/ht-event-conditional-channel.js +0 -21
- package/lib/cjs/event-models/ht-event-conditional-channel.js.map +0 -1
- package/lib/cjs/event-models/ht-event-conditional-country.js +0 -21
- package/lib/cjs/event-models/ht-event-conditional-country.js.map +0 -1
- package/lib/cjs/event-models/ht-event-conditional-custom.d.ts +0 -13
- package/lib/cjs/event-models/ht-event-conditional-custom.js.map +0 -1
- package/lib/cjs/event-models/ht-event-conditional-queue-status.js +0 -24
- package/lib/cjs/event-models/ht-event-conditional-queue-status.js.map +0 -1
- package/lib/cjs/event-models/ht-event-custom.d.ts +0 -7
- package/lib/cjs/event-models/ht-event-custom.js +0 -16
- package/lib/cjs/event-models/ht-event-custom.js.map +0 -1
- package/lib/cjs/event-models/ht-event-fallback.d.ts +0 -12
- package/lib/cjs/event-models/ht-event-fallback.js +0 -21
- package/lib/cjs/event-models/ht-event-fallback.js.map +0 -1
- package/lib/cjs/event-models/ht-event-feedback-knowledgebase.js.map +0 -1
- package/lib/cjs/event-models/ht-event-feedback.js +0 -21
- package/lib/cjs/event-models/ht-event-feedback.js.map +0 -1
- package/lib/cjs/event-models/ht-event-flow.js.map +0 -1
- package/lib/cjs/event-models/ht-event-handoff-option.js.map +0 -1
- package/lib/cjs/event-models/ht-event-handoff.js.map +0 -1
- package/lib/cjs/event-models/ht-event-intent-smart.js.map +0 -1
- package/lib/cjs/event-models/ht-event-keyword.js +0 -23
- package/lib/cjs/event-models/ht-event-keyword.js.map +0 -1
- package/lib/cjs/event-models/ht-event-knowledge-base.d.ts +0 -16
- package/lib/cjs/event-models/ht-event-knowledge-base.js.map +0 -1
- package/lib/cjs/event-models/ht-event-redirect-flow.js.map +0 -1
- package/lib/cjs/event-models/ht-event-webview-action-triggered.js +0 -22
- package/lib/cjs/event-models/ht-event-webview-action-triggered.js.map +0 -1
- package/lib/cjs/event-models/ht-event-webview-end.d.ts +0 -13
- package/lib/cjs/event-models/ht-event-webview-end.js +0 -21
- package/lib/cjs/event-models/ht-event-webview-end.js.map +0 -1
- package/lib/cjs/event-models/ht-event-webview-step.js +0 -19
- package/lib/cjs/event-models/ht-event-webview-step.js.map +0 -1
- package/lib/cjs/event-models/ht-event.js +0 -18
- package/lib/cjs/event-models/ht-event.js.map +0 -1
- package/lib/cjs/event-models/index.d.ts +0 -21
- package/lib/cjs/event-models/index.js +0 -46
- package/lib/cjs/event-models/index.js.map +0 -1
- package/lib/cjs/index.d.ts +0 -17
- package/lib/cjs/index.js +0 -70
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/types.d.ts +0 -14
- package/lib/cjs/types.js +0 -13
- package/lib/cjs/types.js.map +0 -1
- package/lib/cjs/utils.js +0 -60
- package/lib/cjs/utils.js.map +0 -1
- package/lib/esm/event-models/ht-event-ai-agent.d.ts +0 -28
- package/lib/esm/event-models/ht-event-ai-agent.js +0 -55
- package/lib/esm/event-models/ht-event-ai-agent.js.map +0 -1
- package/lib/esm/event-models/ht-event-bot-action.js +0 -21
- package/lib/esm/event-models/ht-event-bot-action.js.map +0 -1
- package/lib/esm/event-models/ht-event-capture-user-input.js.map +0 -1
- package/lib/esm/event-models/ht-event-conditional-channel.js +0 -21
- package/lib/esm/event-models/ht-event-conditional-channel.js.map +0 -1
- package/lib/esm/event-models/ht-event-conditional-country.d.ts +0 -12
- package/lib/esm/event-models/ht-event-conditional-country.js +0 -21
- package/lib/esm/event-models/ht-event-conditional-country.js.map +0 -1
- package/lib/esm/event-models/ht-event-conditional-custom.js +0 -22
- package/lib/esm/event-models/ht-event-conditional-custom.js.map +0 -1
- package/lib/esm/event-models/ht-event-conditional-queue-status.d.ts +0 -15
- package/lib/esm/event-models/ht-event-conditional-queue-status.js.map +0 -1
- package/lib/esm/event-models/ht-event-custom.d.ts +0 -7
- package/lib/esm/event-models/ht-event-custom.js +0 -16
- package/lib/esm/event-models/ht-event-custom.js.map +0 -1
- package/lib/esm/event-models/ht-event-fallback.js +0 -21
- package/lib/esm/event-models/ht-event-fallback.js.map +0 -1
- package/lib/esm/event-models/ht-event-feedback-knowledgebase.d.ts +0 -15
- package/lib/esm/event-models/ht-event-feedback-knowledgebase.js +0 -23
- package/lib/esm/event-models/ht-event-feedback-knowledgebase.js.map +0 -1
- package/lib/esm/event-models/ht-event-feedback.d.ts +0 -13
- package/lib/esm/event-models/ht-event-feedback.js.map +0 -1
- package/lib/esm/event-models/ht-event-flow.d.ts +0 -11
- package/lib/esm/event-models/ht-event-flow.js +0 -20
- package/lib/esm/event-models/ht-event-flow.js.map +0 -1
- package/lib/esm/event-models/ht-event-handoff-option.d.ts +0 -13
- package/lib/esm/event-models/ht-event-handoff-option.js +0 -20
- package/lib/esm/event-models/ht-event-handoff-option.js.map +0 -1
- package/lib/esm/event-models/ht-event-handoff.d.ts +0 -17
- package/lib/esm/event-models/ht-event-handoff.js +0 -25
- package/lib/esm/event-models/ht-event-handoff.js.map +0 -1
- package/lib/esm/event-models/ht-event-intent-smart.d.ts +0 -14
- package/lib/esm/event-models/ht-event-intent-smart.js +0 -23
- package/lib/esm/event-models/ht-event-intent-smart.js.map +0 -1
- package/lib/esm/event-models/ht-event-keyword.d.ts +0 -14
- package/lib/esm/event-models/ht-event-keyword.js.map +0 -1
- package/lib/esm/event-models/ht-event-knowledge-base.js +0 -25
- package/lib/esm/event-models/ht-event-knowledge-base.js.map +0 -1
- package/lib/esm/event-models/ht-event-redirect-flow.d.ts +0 -14
- package/lib/esm/event-models/ht-event-redirect-flow.js +0 -22
- package/lib/esm/event-models/ht-event-redirect-flow.js.map +0 -1
- package/lib/esm/event-models/ht-event-webview-action-triggered.d.ts +0 -13
- package/lib/esm/event-models/ht-event-webview-action-triggered.js +0 -22
- package/lib/esm/event-models/ht-event-webview-action-triggered.js.map +0 -1
- package/lib/esm/event-models/ht-event-webview-end.js.map +0 -1
- package/lib/esm/event-models/ht-event-webview-step.d.ts +0 -11
- package/lib/esm/event-models/ht-event-webview-step.js +0 -19
- package/lib/esm/event-models/ht-event-webview-step.js.map +0 -1
- package/lib/esm/event-models/ht-event.d.ts +0 -14
- package/lib/esm/event-models/ht-event.js.map +0 -1
- package/lib/esm/event-models/index.d.ts +0 -21
- package/lib/esm/event-models/index.js +0 -46
- package/lib/esm/event-models/index.js.map +0 -1
- package/lib/esm/index.d.ts +0 -18
- package/lib/esm/index.js +0 -70
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/types.d.ts +0 -14
- package/lib/esm/types.js +0 -13
- package/lib/esm/types.js.map +0 -1
- package/lib/esm/utils.d.ts +0 -3
- package/lib/esm/utils.js +0 -60
- package/lib/esm/utils.js.map +0 -1
- package/src/event-models/ht-event-ai-agent.ts +0 -94
- package/src/event-models/ht-event-bot-action.ts +0 -30
- package/src/event-models/ht-event-capture-user-input.ts +0 -36
- package/src/event-models/ht-event-conditional-channel.ts +0 -30
- package/src/event-models/ht-event-conditional-country.ts +0 -30
- package/src/event-models/ht-event-conditional-custom.ts +0 -32
- package/src/event-models/ht-event-conditional-queue-status.ts +0 -36
- package/src/event-models/ht-event-custom.ts +0 -20
- package/src/event-models/ht-event-fallback.ts +0 -30
- package/src/event-models/ht-event-feedback-knowledgebase.ts +0 -35
- package/src/event-models/ht-event-feedback.ts +0 -35
- package/src/event-models/ht-event-flow.ts +0 -28
- package/src/event-models/ht-event-handoff-option.ts +0 -30
- package/src/event-models/ht-event-handoff.ts +0 -39
- package/src/event-models/ht-event-intent-smart.ts +0 -34
- package/src/event-models/ht-event-keyword.ts +0 -34
- package/src/event-models/ht-event-knowledge-base.ts +0 -38
- package/src/event-models/ht-event-redirect-flow.ts +0 -29
- package/src/event-models/ht-event-webview-action-triggered.ts +0 -32
- package/src/event-models/ht-event-webview-end.ts +0 -31
- package/src/event-models/ht-event-webview-step.ts +0 -27
- package/src/event-models/ht-event.ts +0 -31
- package/src/event-models/index.ts +0 -21
- package/src/index.ts +0 -82
- package/src/types.ts +0 -90
- package/src/utils.ts +0 -103
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventAction,
|
|
3
|
-
type EventConditionalCustom,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventConditionalCustom extends HtEvent {
|
|
10
|
-
flow_thread_id: string
|
|
11
|
-
flow_id: string
|
|
12
|
-
flow_name: string
|
|
13
|
-
flow_node_id: string
|
|
14
|
-
flow_node_content_id: string
|
|
15
|
-
flow_node_is_meaningful: boolean
|
|
16
|
-
conditional_variable: string
|
|
17
|
-
variable_format: string
|
|
18
|
-
|
|
19
|
-
constructor(event: EventConditionalCustom, requestData: RequestData) {
|
|
20
|
-
super(event, requestData)
|
|
21
|
-
this.type = EventType.BotEvent
|
|
22
|
-
this.action = EventAction.ConditionalCustom
|
|
23
|
-
this.flow_thread_id = event.flowThreadId
|
|
24
|
-
this.flow_id = event.flowId
|
|
25
|
-
this.flow_name = event.flowName
|
|
26
|
-
this.flow_node_id = event.flowNodeId
|
|
27
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
28
|
-
this.conditional_variable = event.conditionalVariable
|
|
29
|
-
this.flow_node_is_meaningful = event.flowNodeIsMeaningful
|
|
30
|
-
this.variable_format = event.variableFormat
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventAction,
|
|
3
|
-
type EventConditionalQueueStatus,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventConditionalQueueStatus extends HtEvent {
|
|
10
|
-
flow_thread_id: string
|
|
11
|
-
flow_id: string
|
|
12
|
-
flow_name: string
|
|
13
|
-
flow_node_id: string
|
|
14
|
-
flow_node_content_id: string
|
|
15
|
-
flow_node_is_meaningful: boolean
|
|
16
|
-
queue_id: string
|
|
17
|
-
queue_name: string
|
|
18
|
-
is_queue_open: boolean
|
|
19
|
-
is_available_agent: boolean
|
|
20
|
-
|
|
21
|
-
constructor(event: EventConditionalQueueStatus, requestData: RequestData) {
|
|
22
|
-
super(event, requestData)
|
|
23
|
-
this.type = EventType.BotEvent
|
|
24
|
-
this.action = EventAction.ConditionalQueueStatus
|
|
25
|
-
this.flow_thread_id = event.flowThreadId
|
|
26
|
-
this.flow_id = event.flowId
|
|
27
|
-
this.flow_name = event.flowName
|
|
28
|
-
this.flow_node_id = event.flowNodeId
|
|
29
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
30
|
-
this.flow_node_is_meaningful = event.flowNodeIsMeaningful
|
|
31
|
-
this.queue_id = event.queueId
|
|
32
|
-
this.queue_name = event.queueName
|
|
33
|
-
this.is_queue_open = event.isQueueOpen
|
|
34
|
-
this.is_available_agent = event.isAvailableAgent
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventAction,
|
|
3
|
-
type EventCustom,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventCustom extends HtEvent {
|
|
10
|
-
custom_fields: Record<string, unknown>
|
|
11
|
-
custom_sensitive_fields: Record<string, unknown>
|
|
12
|
-
|
|
13
|
-
constructor(event: EventCustom, requestData: RequestData) {
|
|
14
|
-
super(event, requestData)
|
|
15
|
-
this.type = EventType.WebEvent
|
|
16
|
-
this.action = EventAction.Custom
|
|
17
|
-
this.custom_fields = event.customFields || {}
|
|
18
|
-
this.custom_sensitive_fields = event.customSensitiveFields || {}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventAction,
|
|
3
|
-
type EventFallback,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventFallback extends HtEvent {
|
|
10
|
-
flow_id: string
|
|
11
|
-
flow_name: string
|
|
12
|
-
flow_node_id: string
|
|
13
|
-
flow_node_content_id: string
|
|
14
|
-
fallback_out: number
|
|
15
|
-
fallback_message_id: string
|
|
16
|
-
user_input: string
|
|
17
|
-
|
|
18
|
-
constructor(event: EventFallback, requestData: RequestData) {
|
|
19
|
-
super(event, requestData)
|
|
20
|
-
this.type = EventType.BotEvent
|
|
21
|
-
this.action = EventAction.Fallback
|
|
22
|
-
this.flow_id = event.flowId
|
|
23
|
-
this.flow_name = event.flowName
|
|
24
|
-
this.flow_node_id = event.flowNodeId
|
|
25
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
26
|
-
this.user_input = event.userInput
|
|
27
|
-
this.fallback_out = event.fallbackOut
|
|
28
|
-
this.fallback_message_id = event.fallbackMessageId
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type EventAction,
|
|
3
|
-
type EventFeedbackKnowledgebase,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventFeedbackKnowledgebase extends HtEvent {
|
|
10
|
-
action: EventAction.FeedbackKnowledgebase
|
|
11
|
-
knowledge_base_inference_id: string
|
|
12
|
-
feedback_target_bot_interaction_id: string
|
|
13
|
-
feedback_target_id: string
|
|
14
|
-
feedback_group_id: string
|
|
15
|
-
possible_options: string[]
|
|
16
|
-
possible_values?: number[]
|
|
17
|
-
option: string
|
|
18
|
-
value?: number
|
|
19
|
-
comment?: string
|
|
20
|
-
|
|
21
|
-
constructor(event: EventFeedbackKnowledgebase, requestData: RequestData) {
|
|
22
|
-
super(event, requestData)
|
|
23
|
-
this.type = EventType.WebEvent
|
|
24
|
-
this.action = event.action
|
|
25
|
-
this.knowledge_base_inference_id = event.knowledgebaseInferenceId
|
|
26
|
-
this.feedback_target_bot_interaction_id = event.feedbackBotInteractionId
|
|
27
|
-
this.feedback_target_id = event.feedbackTargetId
|
|
28
|
-
this.feedback_group_id = event.feedbackGroupId
|
|
29
|
-
this.possible_options = event.possibleOptions
|
|
30
|
-
this.possible_values = event.possibleValues
|
|
31
|
-
this.option = event.option
|
|
32
|
-
this.value = event.value
|
|
33
|
-
this.comment = event.comment
|
|
34
|
-
}
|
|
35
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type EventAction,
|
|
3
|
-
type EventFeedback,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventFeedback extends HtEvent {
|
|
10
|
-
action:
|
|
11
|
-
| EventAction.FeedbackCase
|
|
12
|
-
| EventAction.FeedbackConversation
|
|
13
|
-
| EventAction.FeedbackMessage
|
|
14
|
-
| EventAction.FeedbackWebview
|
|
15
|
-
feedback_target_id: string
|
|
16
|
-
feedback_group_id: string
|
|
17
|
-
possible_options: string[]
|
|
18
|
-
possible_values?: number[]
|
|
19
|
-
option: string
|
|
20
|
-
value?: number
|
|
21
|
-
comment?: string
|
|
22
|
-
|
|
23
|
-
constructor(event: EventFeedback, requestData: RequestData) {
|
|
24
|
-
super(event, requestData)
|
|
25
|
-
this.type = EventType.WebEvent
|
|
26
|
-
this.action = event.action
|
|
27
|
-
this.feedback_target_id = event.feedbackTargetId
|
|
28
|
-
this.feedback_group_id = event.feedbackGroupId
|
|
29
|
-
this.possible_options = event.possibleOptions
|
|
30
|
-
this.possible_values = event.possibleValues
|
|
31
|
-
this.option = event.option
|
|
32
|
-
this.value = event.value
|
|
33
|
-
this.comment = event.comment
|
|
34
|
-
}
|
|
35
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventAction,
|
|
3
|
-
type EventFlow,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventFlow extends HtEvent {
|
|
10
|
-
flow_thread_id: string
|
|
11
|
-
flow_id: string
|
|
12
|
-
flow_name: string
|
|
13
|
-
flow_node_id: string
|
|
14
|
-
flow_node_content_id: string
|
|
15
|
-
flow_node_is_meaningful: boolean
|
|
16
|
-
|
|
17
|
-
constructor(event: EventFlow, requestData: RequestData) {
|
|
18
|
-
super(event, requestData)
|
|
19
|
-
this.type = EventType.BotEvent
|
|
20
|
-
this.action = EventAction.FlowNode
|
|
21
|
-
this.flow_thread_id = event.flowThreadId // This value is managed by the flow builder plugin, stored in the session and updated every time the content connected to the conversation start is displayed
|
|
22
|
-
this.flow_id = event.flowId
|
|
23
|
-
this.flow_name = event.flowName
|
|
24
|
-
this.flow_node_id = event.flowNodeId
|
|
25
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
26
|
-
this.flow_node_is_meaningful = event.flowNodeIsMeaningful || false
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type EventAction,
|
|
3
|
-
type EventHandoffOption,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventHandoffOption extends HtEvent {
|
|
10
|
-
action: EventAction.HandoffOption
|
|
11
|
-
flow_thread_id?: string
|
|
12
|
-
flow_id: string
|
|
13
|
-
flow_name: string
|
|
14
|
-
flow_node_id: string
|
|
15
|
-
flow_node_content_id: string
|
|
16
|
-
handoff_queue_id?: string
|
|
17
|
-
handoff_queue_name?: string
|
|
18
|
-
|
|
19
|
-
constructor(event: EventHandoffOption, requestData: RequestData) {
|
|
20
|
-
super(event, requestData)
|
|
21
|
-
this.type = EventType.BotEvent
|
|
22
|
-
this.flow_thread_id = event.flowThreadId
|
|
23
|
-
this.flow_id = event.flowId
|
|
24
|
-
this.flow_name = event.flowName
|
|
25
|
-
this.flow_node_id = event.flowNodeId
|
|
26
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
27
|
-
this.handoff_queue_id = event.queueId
|
|
28
|
-
this.handoff_queue_name = event.queueName
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type EventAction,
|
|
3
|
-
type EventHandoff,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventHandoff extends HtEvent {
|
|
10
|
-
action: EventAction.HandoffSuccess | EventAction.HandoffFail
|
|
11
|
-
flow_thread_id?: string
|
|
12
|
-
flow_id: string
|
|
13
|
-
flow_name: string
|
|
14
|
-
flow_node_id: string
|
|
15
|
-
flow_node_content_id: string
|
|
16
|
-
handoff_queue_id: string
|
|
17
|
-
handoff_queue_name: string
|
|
18
|
-
handoff_case_id?: string
|
|
19
|
-
handoff_is_queue_open: boolean
|
|
20
|
-
handoff_is_available_agent: boolean
|
|
21
|
-
handoff_is_threshold_reached: boolean
|
|
22
|
-
|
|
23
|
-
constructor(event: EventHandoff, requestData: RequestData) {
|
|
24
|
-
super(event, requestData)
|
|
25
|
-
this.type = EventType.BotEvent
|
|
26
|
-
this.action = event.action
|
|
27
|
-
this.flow_thread_id = event.flowThreadId
|
|
28
|
-
this.flow_id = event.flowId
|
|
29
|
-
this.flow_name = event.flowName
|
|
30
|
-
this.flow_node_id = event.flowNodeId
|
|
31
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
32
|
-
this.handoff_queue_id = event.queueId
|
|
33
|
-
this.handoff_queue_name = event.queueName
|
|
34
|
-
this.handoff_case_id = event.caseId
|
|
35
|
-
this.handoff_is_queue_open = event.isQueueOpen || false
|
|
36
|
-
this.handoff_is_available_agent = event.isAvailableAgent || false
|
|
37
|
-
this.handoff_is_threshold_reached = event.isThresholdReached || false
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventAction,
|
|
3
|
-
type EventIntentSmart,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventIntentSmart extends HtEvent {
|
|
10
|
-
nlu_intent_smart_title: string
|
|
11
|
-
nlu_intent_smart_num_used: number
|
|
12
|
-
nlu_intent_smart_message_id: string
|
|
13
|
-
user_input: string
|
|
14
|
-
flow_thread_id: string
|
|
15
|
-
flow_id: string
|
|
16
|
-
flow_name: string
|
|
17
|
-
flow_node_id: string
|
|
18
|
-
flow_node_content_id: string
|
|
19
|
-
|
|
20
|
-
constructor(event: EventIntentSmart, requestData: RequestData) {
|
|
21
|
-
super(event, requestData)
|
|
22
|
-
this.type = EventType.BotEvent
|
|
23
|
-
this.action = EventAction.IntentSmart
|
|
24
|
-
this.nlu_intent_smart_title = event.nluIntentSmartTitle
|
|
25
|
-
this.nlu_intent_smart_num_used = event.nluIntentSmartNumUsed
|
|
26
|
-
this.nlu_intent_smart_message_id = event.nluIntentSmartMessageId
|
|
27
|
-
this.user_input = event.userInput
|
|
28
|
-
this.flow_thread_id = event.flowThreadId
|
|
29
|
-
this.flow_id = event.flowId
|
|
30
|
-
this.flow_name = event.flowName
|
|
31
|
-
this.flow_node_id = event.flowNodeId
|
|
32
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventAction,
|
|
3
|
-
type EventKeyword,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventKeyword extends HtEvent {
|
|
10
|
-
nlu_keyword_name: string
|
|
11
|
-
nlu_keyword_is_regex: boolean
|
|
12
|
-
nlu_keyword_message_id: string
|
|
13
|
-
user_input: string
|
|
14
|
-
flow_thread_id: string
|
|
15
|
-
flow_id: string
|
|
16
|
-
flow_name: string
|
|
17
|
-
flow_node_id: string
|
|
18
|
-
flow_node_content_id: string
|
|
19
|
-
|
|
20
|
-
constructor(event: EventKeyword, requestData: RequestData) {
|
|
21
|
-
super(event, requestData)
|
|
22
|
-
this.type = EventType.BotEvent
|
|
23
|
-
this.action = EventAction.Keyword
|
|
24
|
-
this.nlu_keyword_name = event.nluKeywordName
|
|
25
|
-
this.nlu_keyword_is_regex = event.nluKeywordIsRegex || false
|
|
26
|
-
this.nlu_keyword_message_id = event.nluKeywordMessageId
|
|
27
|
-
this.user_input = event.userInput
|
|
28
|
-
this.flow_thread_id = event.flowThreadId
|
|
29
|
-
this.flow_id = event.flowId
|
|
30
|
-
this.flow_name = event.flowName
|
|
31
|
-
this.flow_node_id = event.flowNodeId
|
|
32
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventAction,
|
|
3
|
-
type EventKnowledgeBase,
|
|
4
|
-
EventType,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventKnowledgeBase extends HtEvent {
|
|
10
|
-
knowledgebase_inference_id: string
|
|
11
|
-
knowledgebase_fail_reason?: string
|
|
12
|
-
knowledgebase_sources_ids: string[]
|
|
13
|
-
knowledgebase_chunks_ids: string[]
|
|
14
|
-
knowledgebase_message_id: string
|
|
15
|
-
user_input: string
|
|
16
|
-
flow_thread_id: string
|
|
17
|
-
flow_id: string
|
|
18
|
-
flow_name: string
|
|
19
|
-
flow_node_id: string
|
|
20
|
-
flow_node_content_id: string
|
|
21
|
-
|
|
22
|
-
constructor(event: EventKnowledgeBase, requestData: RequestData) {
|
|
23
|
-
super(event, requestData)
|
|
24
|
-
this.type = EventType.BotEvent
|
|
25
|
-
this.action = EventAction.Knowledgebase
|
|
26
|
-
this.knowledgebase_inference_id = event.knowledgebaseInferenceId
|
|
27
|
-
this.knowledgebase_fail_reason = event.knowledgebaseFailReason
|
|
28
|
-
this.knowledgebase_sources_ids = event.knowledgebaseSourcesIds
|
|
29
|
-
this.knowledgebase_chunks_ids = event.knowledgebaseChunksIds
|
|
30
|
-
this.knowledgebase_message_id = event.knowledgebaseMessageId
|
|
31
|
-
this.user_input = event.userInput
|
|
32
|
-
this.flow_thread_id = event.flowThreadId
|
|
33
|
-
this.flow_id = event.flowId
|
|
34
|
-
this.flow_name = event.flowName
|
|
35
|
-
this.flow_node_id = event.flowNodeId
|
|
36
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { EventRedirectFlow } from '@botonic/core'
|
|
2
|
-
|
|
3
|
-
import { EventAction, EventType, type RequestData } from '../types'
|
|
4
|
-
import { HtEvent } from './ht-event'
|
|
5
|
-
|
|
6
|
-
export class HtEventRedirectFlow extends HtEvent {
|
|
7
|
-
flow_thread_id: string
|
|
8
|
-
flow_id: string
|
|
9
|
-
flow_name: string
|
|
10
|
-
flow_node_id: string
|
|
11
|
-
flow_node_content_id: string
|
|
12
|
-
flow_node_is_meaningful: boolean
|
|
13
|
-
flow_target_id: string
|
|
14
|
-
flow_target_name: string
|
|
15
|
-
|
|
16
|
-
constructor(event: EventRedirectFlow, requestData: RequestData) {
|
|
17
|
-
super(event, requestData)
|
|
18
|
-
this.type = EventType.BotEvent
|
|
19
|
-
this.action = EventAction.RedirectFlow
|
|
20
|
-
this.flow_thread_id = event.flowThreadId
|
|
21
|
-
this.flow_id = event.flowId
|
|
22
|
-
this.flow_name = event.flowName
|
|
23
|
-
this.flow_node_id = event.flowNodeId
|
|
24
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
25
|
-
this.flow_node_is_meaningful = event.flowNodeIsMeaningful
|
|
26
|
-
this.flow_target_id = event.flowTargetId
|
|
27
|
-
this.flow_target_name = event.flowTargetName
|
|
28
|
-
}
|
|
29
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
EventAction,
|
|
3
|
-
EventType,
|
|
4
|
-
type EventWebviewActionTriggered,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventWebviewActionTriggered extends HtEvent {
|
|
10
|
-
flow_thread_id: string
|
|
11
|
-
flow_id: string
|
|
12
|
-
flow_name: string
|
|
13
|
-
flow_node_id: string
|
|
14
|
-
flow_node_content_id: string
|
|
15
|
-
flow_node_is_meaningful: boolean
|
|
16
|
-
webview_name: string
|
|
17
|
-
webview_target_id: string
|
|
18
|
-
|
|
19
|
-
constructor(event: EventWebviewActionTriggered, requestData: RequestData) {
|
|
20
|
-
super(event, requestData)
|
|
21
|
-
this.type = EventType.BotEvent
|
|
22
|
-
this.action = EventAction.WebviewActionTriggered
|
|
23
|
-
this.flow_thread_id = event.flowThreadId
|
|
24
|
-
this.flow_id = event.flowId
|
|
25
|
-
this.flow_name = event.flowName
|
|
26
|
-
this.flow_node_id = event.flowNodeId
|
|
27
|
-
this.flow_node_content_id = event.flowNodeContentId
|
|
28
|
-
this.flow_node_is_meaningful = event.flowNodeIsMeaningful
|
|
29
|
-
this.webview_name = event.webviewName
|
|
30
|
-
this.webview_target_id = event.webviewTargetId
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type EventAction,
|
|
3
|
-
EventType,
|
|
4
|
-
type EventWebviewEnd,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventWebviewEnd extends HtEvent {
|
|
10
|
-
action: EventAction.WebviewEnd
|
|
11
|
-
flow_thread_id?: string
|
|
12
|
-
webview_thread_id: string
|
|
13
|
-
webview_name: string
|
|
14
|
-
webview_end_step_name?: string
|
|
15
|
-
webview_end_step_n?: number
|
|
16
|
-
webview_end_fail_type?: string
|
|
17
|
-
webview_end_fail_message?: string
|
|
18
|
-
|
|
19
|
-
constructor(event: EventWebviewEnd, requestData: RequestData) {
|
|
20
|
-
super(event, requestData)
|
|
21
|
-
this.type = EventType.WebEvent
|
|
22
|
-
this.action = event.action
|
|
23
|
-
this.flow_thread_id = event.flowThreadId
|
|
24
|
-
this.webview_thread_id = event.webviewThreadId
|
|
25
|
-
this.webview_name = event.webviewName
|
|
26
|
-
this.webview_end_step_name = event.webviewStepName
|
|
27
|
-
this.webview_end_step_n = event.webviewStepNumber
|
|
28
|
-
this.webview_end_fail_type = event.webviewEndFailType
|
|
29
|
-
this.webview_end_fail_message = event.webviewEndFailMessage
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type EventAction,
|
|
3
|
-
EventType,
|
|
4
|
-
type EventWebviewStep,
|
|
5
|
-
type RequestData,
|
|
6
|
-
} from '../types'
|
|
7
|
-
import { HtEvent } from './ht-event'
|
|
8
|
-
|
|
9
|
-
export class HtEventWebviewStep extends HtEvent {
|
|
10
|
-
action: EventAction.WebviewStep
|
|
11
|
-
flow_thread_id?: string
|
|
12
|
-
webview_thread_id: string
|
|
13
|
-
webview_name: string
|
|
14
|
-
webview_step_name: string
|
|
15
|
-
webview_step_n: number
|
|
16
|
-
|
|
17
|
-
constructor(event: EventWebviewStep, requestData: RequestData) {
|
|
18
|
-
super(event, requestData)
|
|
19
|
-
this.type = EventType.WebEvent
|
|
20
|
-
this.action = event.action
|
|
21
|
-
this.flow_thread_id = event.flowThreadId
|
|
22
|
-
this.webview_thread_id = event.webviewThreadId
|
|
23
|
-
this.webview_name = event.webviewName
|
|
24
|
-
this.webview_step_name = event.webviewStepName
|
|
25
|
-
this.webview_step_n = event.webviewStepNumber
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2
|
-
import { EVENT_FORMAT_VERSION } from '@botonic/core'
|
|
3
|
-
|
|
4
|
-
import type {
|
|
5
|
-
EventAction,
|
|
6
|
-
EventType,
|
|
7
|
-
HtEventProps,
|
|
8
|
-
RequestData,
|
|
9
|
-
} from '../types'
|
|
10
|
-
export class HtEvent {
|
|
11
|
-
chat_id?: string
|
|
12
|
-
type: EventType
|
|
13
|
-
format_version?: number
|
|
14
|
-
bot_version?: string
|
|
15
|
-
flow_version?: string
|
|
16
|
-
action: EventAction
|
|
17
|
-
bot_interaction_id?: string
|
|
18
|
-
user_locale: string
|
|
19
|
-
user_country: string
|
|
20
|
-
system_locale: string
|
|
21
|
-
|
|
22
|
-
constructor(event: HtEventProps, requestData: RequestData) {
|
|
23
|
-
this.chat_id = requestData.userId
|
|
24
|
-
this.format_version = EVENT_FORMAT_VERSION
|
|
25
|
-
this.action = event.action
|
|
26
|
-
this.bot_interaction_id = requestData.botInteractionId
|
|
27
|
-
this.user_locale = requestData.userLocale
|
|
28
|
-
this.user_country = requestData.userCountry
|
|
29
|
-
this.system_locale = requestData.systemLocale
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export { HtEvent } from './ht-event'
|
|
2
|
-
export { HtEventAiAgent } from './ht-event-ai-agent'
|
|
3
|
-
export { HtEventBotAction } from './ht-event-bot-action'
|
|
4
|
-
export { HtEventConditionalChannel } from './ht-event-conditional-channel'
|
|
5
|
-
export { HtEventConditionalCountry } from './ht-event-conditional-country'
|
|
6
|
-
export { HtEventConditionalCustom } from './ht-event-conditional-custom'
|
|
7
|
-
export { HtEventConditionalQueueStatus } from './ht-event-conditional-queue-status'
|
|
8
|
-
export { HtEventCustom } from './ht-event-custom'
|
|
9
|
-
export { HtEventFallback } from './ht-event-fallback'
|
|
10
|
-
export { HtEventFeedback } from './ht-event-feedback'
|
|
11
|
-
export { HtEventFeedbackKnowledgebase } from './ht-event-feedback-knowledgebase'
|
|
12
|
-
export { HtEventFlow } from './ht-event-flow'
|
|
13
|
-
export { HtEventHandoff } from './ht-event-handoff'
|
|
14
|
-
export { HtEventHandoffOption } from './ht-event-handoff-option'
|
|
15
|
-
export { HtEventIntentSmart } from './ht-event-intent-smart'
|
|
16
|
-
export { HtEventKeyword } from './ht-event-keyword'
|
|
17
|
-
export { HtEventKnowledgeBase } from './ht-event-knowledge-base'
|
|
18
|
-
export { HtEventRedirectFlow } from './ht-event-redirect-flow'
|
|
19
|
-
export { HtEventWebviewActionTriggered } from './ht-event-webview-action-triggered'
|
|
20
|
-
export { HtEventWebviewEnd } from './ht-event-webview-end'
|
|
21
|
-
export { HtEventWebviewStep } from './ht-event-webview-step'
|
package/src/index.ts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import type { BotContext, Plugin } from '@botonic/core'
|
|
2
|
-
import axios from 'axios'
|
|
3
|
-
|
|
4
|
-
import type { HtEvent } from './event-models'
|
|
5
|
-
import { EventType, type HtEventProps, type RequestData } from './types'
|
|
6
|
-
import { createHtEvent } from './utils'
|
|
7
|
-
|
|
8
|
-
export default class BotonicPluginHubtypeAnalytics implements Plugin {
|
|
9
|
-
eventsBaseUrl: string
|
|
10
|
-
constructor() {
|
|
11
|
-
const hubtypeUrl = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com'
|
|
12
|
-
this.eventsBaseUrl = `${hubtypeUrl}/external/v2/conversational_apps`
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
post(): void {
|
|
16
|
-
return
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
async trackEvent(request: BotContext, htEventProps: HtEventProps) {
|
|
20
|
-
const requestData = this.getRequestData(request)
|
|
21
|
-
const event = createHtEvent(requestData, htEventProps)
|
|
22
|
-
return this.sendEvent(request, event)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
getRequestData(request: BotContext): RequestData {
|
|
26
|
-
return {
|
|
27
|
-
userId: this.isLambdaEvent(request) ? request.session.user.id : undefined,
|
|
28
|
-
botInteractionId: request.input?.bot_interaction_id,
|
|
29
|
-
userLocale: request.getUserLocale(),
|
|
30
|
-
userCountry: request.getUserCountry(),
|
|
31
|
-
systemLocale: request.getSystemLocale(),
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
private isLambdaEvent(request: BotContext): boolean {
|
|
36
|
-
return request.session?.bot?.id !== undefined
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
private sendEvent(request: BotContext, event: HtEvent) {
|
|
40
|
-
if (event.type === EventType.BotEvent) {
|
|
41
|
-
return this.sendBotEvent(request, event)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return this.sendWebEvent(request, event)
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
private sendBotEvent(request: BotContext, event: HtEvent) {
|
|
48
|
-
const botId = request.session.bot.id
|
|
49
|
-
const url = `${this.eventsBaseUrl}/${botId}/bot_event/`
|
|
50
|
-
const config = {
|
|
51
|
-
headers: { Authorization: `Bearer ${request.session._access_token}` },
|
|
52
|
-
}
|
|
53
|
-
return axios.post(url, event, config)
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
private sendWebEvent(request: BotContext, event: HtEvent) {
|
|
57
|
-
if (this.isLambdaEvent(request)) {
|
|
58
|
-
return this.sendWebEventByBotId(request, event)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return this.sendWebEventByProviderId(request, event)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
private sendWebEventByBotId(request: BotContext, event: HtEvent) {
|
|
65
|
-
const botId = request.session.bot.id
|
|
66
|
-
const url = `${this.eventsBaseUrl}/${botId}/web_event/`
|
|
67
|
-
return axios.post(url, event)
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
private sendWebEventByProviderId(request: BotContext, event: HtEvent) {
|
|
71
|
-
const url = `${this.eventsBaseUrl}/web_event/`
|
|
72
|
-
const config = {
|
|
73
|
-
params: {
|
|
74
|
-
provider_id: request.session.user.id,
|
|
75
|
-
},
|
|
76
|
-
}
|
|
77
|
-
return axios.post(url, event, config)
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export * from './types'
|
|
82
|
-
export * from './utils'
|