@botonic/plugin-hubtype-analytics 0.22.0-alpha.3 → 0.22.0-alpha.4
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/lib/cjs/event-models/ht-event-agent-rating.d.ts +6 -0
- package/lib/cjs/event-models/ht-event-agent-rating.js +12 -0
- package/lib/cjs/event-models/ht-event-agent-rating.js.map +1 -0
- package/lib/cjs/event-models/ht-event-bot-ai-model.d.ts +8 -0
- package/lib/cjs/event-models/ht-event-bot-ai-model.js +14 -0
- package/lib/cjs/event-models/ht-event-bot-ai-model.js.map +1 -0
- package/lib/cjs/event-models/ht-event-bot-faq.d.ts +6 -0
- package/lib/cjs/event-models/ht-event-bot-faq.js +12 -0
- package/lib/cjs/event-models/ht-event-bot-faq.js.map +1 -0
- package/lib/cjs/event-models/ht-event-bot-keyword-model.d.ts +6 -0
- package/lib/cjs/event-models/ht-event-bot-keyword-model.js +12 -0
- package/lib/cjs/event-models/ht-event-bot-keyword-model.js.map +1 -0
- package/lib/cjs/event-models/ht-event-bot-rating.d.ts +8 -0
- package/lib/cjs/event-models/ht-event-bot-rating.js +14 -0
- package/lib/cjs/event-models/ht-event-bot-rating.js.map +1 -0
- package/lib/cjs/event-models/ht-event-channel-rating.d.ts +6 -0
- package/lib/cjs/event-models/ht-event-channel-rating.js +12 -0
- package/lib/cjs/event-models/ht-event-channel-rating.js.map +1 -0
- package/lib/cjs/event-models/ht-event-faq-useful.d.ts +7 -0
- package/lib/cjs/event-models/ht-event-faq-useful.js +13 -0
- package/lib/cjs/event-models/ht-event-faq-useful.js.map +1 -0
- package/lib/cjs/event-models/ht-event-handoff-fail.d.ts +8 -0
- package/lib/cjs/event-models/ht-event-handoff-fail.js +14 -0
- package/lib/cjs/event-models/ht-event-handoff-fail.js.map +1 -0
- package/lib/cjs/event-models/ht-event-handoff-success.d.ts +8 -0
- package/lib/cjs/event-models/ht-event-handoff-success.js +14 -0
- package/lib/cjs/event-models/ht-event-handoff-success.js.map +1 -0
- package/lib/cjs/event-models/ht-event.d.ts +8 -0
- package/lib/cjs/event-models/ht-event.js +59 -0
- package/lib/cjs/event-models/ht-event.js.map +1 -0
- package/lib/cjs/index.d.ts +7 -4
- package/lib/cjs/index.js +22 -11
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types.d.ts +69 -57
- package/lib/cjs/types.js.map +1 -1
- package/lib/esm/event-models/ht-event-agent-rating.d.ts +6 -0
- package/lib/esm/event-models/ht-event-agent-rating.js +8 -0
- package/lib/esm/event-models/ht-event-agent-rating.js.map +1 -0
- package/lib/esm/event-models/ht-event-bot-ai-model.d.ts +8 -0
- package/lib/esm/event-models/ht-event-bot-ai-model.js +10 -0
- package/lib/esm/event-models/ht-event-bot-ai-model.js.map +1 -0
- package/lib/esm/event-models/ht-event-bot-faq.d.ts +6 -0
- package/lib/esm/event-models/ht-event-bot-faq.js +8 -0
- package/lib/esm/event-models/ht-event-bot-faq.js.map +1 -0
- package/lib/esm/event-models/ht-event-bot-keyword-model.d.ts +6 -0
- package/lib/esm/event-models/ht-event-bot-keyword-model.js +8 -0
- package/lib/esm/event-models/ht-event-bot-keyword-model.js.map +1 -0
- package/lib/esm/event-models/ht-event-bot-rating.d.ts +8 -0
- package/lib/esm/event-models/ht-event-bot-rating.js +10 -0
- package/lib/esm/event-models/ht-event-bot-rating.js.map +1 -0
- package/lib/esm/event-models/ht-event-channel-rating.d.ts +6 -0
- package/lib/esm/event-models/ht-event-channel-rating.js +8 -0
- package/lib/esm/event-models/ht-event-channel-rating.js.map +1 -0
- package/lib/esm/event-models/ht-event-faq-useful.d.ts +7 -0
- package/lib/esm/event-models/ht-event-faq-useful.js +9 -0
- package/lib/esm/event-models/ht-event-faq-useful.js.map +1 -0
- package/lib/esm/event-models/ht-event-handoff-fail.d.ts +8 -0
- package/lib/esm/event-models/ht-event-handoff-fail.js +10 -0
- package/lib/esm/event-models/ht-event-handoff-fail.js.map +1 -0
- package/lib/esm/event-models/ht-event-handoff-success.d.ts +8 -0
- package/lib/esm/event-models/ht-event-handoff-success.js +10 -0
- package/lib/esm/event-models/ht-event-handoff-success.js.map +1 -0
- package/lib/esm/event-models/ht-event.d.ts +8 -0
- package/lib/esm/event-models/ht-event.js +55 -0
- package/lib/esm/event-models/ht-event.js.map +1 -0
- package/lib/esm/index.d.ts +7 -4
- package/lib/esm/index.js +22 -11
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types.d.ts +69 -57
- package/lib/esm/types.js.map +1 -1
- package/package.json +2 -2
- package/src/event-models/ht-event-agent-rating.ts +11 -0
- package/src/event-models/ht-event-bot-ai-model.ts +15 -0
- package/src/event-models/ht-event-bot-faq.ts +11 -0
- package/src/event-models/ht-event-bot-keyword-model.ts +12 -0
- package/src/event-models/ht-event-bot-rating.ts +15 -0
- package/src/event-models/ht-event-channel-rating.ts +11 -0
- package/src/event-models/ht-event-faq-useful.ts +13 -0
- package/src/event-models/ht-event-handoff-fail.ts +15 -0
- package/src/event-models/ht-event-handoff-success.ts +15 -0
- package/src/event-models/ht-event.ts +61 -0
- package/src/index.ts +30 -18
- package/src/types.ts +76 -49
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ht-event-bot-faq.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-faq.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,aAAc,SAAQ,OAAO;IAGxC,YAAY,KAAkB,EAAE,WAAwB;QACtD,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAA;IAC3C,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EventBotKeywordModel, RequestData } from '../types';
|
|
2
|
+
import { HtEvent } from './ht-event';
|
|
3
|
+
export declare class HtEventBotKeywordModel extends HtEvent {
|
|
4
|
+
confidence_successful: boolean;
|
|
5
|
+
constructor(event: EventBotKeywordModel, requestData: RequestData);
|
|
6
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HtEvent } from './ht-event';
|
|
2
|
+
export class HtEventBotKeywordModel extends HtEvent {
|
|
3
|
+
constructor(event, requestData) {
|
|
4
|
+
super(event, requestData);
|
|
5
|
+
this.confidence_successful = event.event_data.confidence_successful;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=ht-event-bot-keyword-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ht-event-bot-keyword-model.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-keyword-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,sBAAuB,SAAQ,OAAO;IAGjD,YAAY,KAA2B,EAAE,WAAwB;QAC/D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAEzB,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,UAAU,CAAC,qBAAqB,CAAA;IACrE,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EventBotRating, RequestData } from '../types';
|
|
2
|
+
import { HtEvent } from './ht-event';
|
|
3
|
+
export declare class HtEventBotRating extends HtEvent {
|
|
4
|
+
rating: number;
|
|
5
|
+
free_comment?: string;
|
|
6
|
+
selected_options?: string[];
|
|
7
|
+
constructor(event: EventBotRating, requestData: RequestData);
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HtEvent } from './ht-event';
|
|
2
|
+
export class HtEventBotRating extends HtEvent {
|
|
3
|
+
constructor(event, requestData) {
|
|
4
|
+
super(event, requestData);
|
|
5
|
+
this.rating = event.event_data.rating;
|
|
6
|
+
this.free_comment = event.event_data.free_comment;
|
|
7
|
+
this.selected_options = event.event_data.selected_options;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ht-event-bot-rating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ht-event-bot-rating.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-bot-rating.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IAK3C,YAAY,KAAqB,EAAE,WAAwB;QACzD,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;QACrC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAA;QACjD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAA;IAC3D,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ht-event-channel-rating.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-channel-rating.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IAG/C,YAAY,KAAyB,EAAE,WAAwB;QAC7D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HtEvent } from './ht-event';
|
|
2
|
+
export class HtEventFaqUseful extends HtEvent {
|
|
3
|
+
constructor(event, requestData) {
|
|
4
|
+
super(event, requestData);
|
|
5
|
+
this.faq_name = event.event_data.faq_name;
|
|
6
|
+
this.useful = event.event_data.useful;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=ht-event-faq-useful.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ht-event-faq-useful.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-faq-useful.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IAI3C,YAAY,KAAqB,EAAE,WAAwB;QACzD,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EventHandoffFail, RequestData } from '../types';
|
|
2
|
+
import { HtEvent } from './ht-event';
|
|
3
|
+
export declare class HtEventHandoffFail extends HtEvent {
|
|
4
|
+
queue_open: boolean;
|
|
5
|
+
available_agents: boolean;
|
|
6
|
+
threshold_reached: boolean;
|
|
7
|
+
constructor(event: EventHandoffFail, requestData: RequestData);
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HtEvent } from './ht-event';
|
|
2
|
+
export class HtEventHandoffFail extends HtEvent {
|
|
3
|
+
constructor(event, requestData) {
|
|
4
|
+
super(event, requestData);
|
|
5
|
+
this.queue_open = event.event_data.queue_open;
|
|
6
|
+
this.available_agents = event.event_data.available_agents;
|
|
7
|
+
this.threshold_reached = event.event_data.threshold_reached;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ht-event-handoff-fail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ht-event-handoff-fail.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-handoff-fail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,kBAAmB,SAAQ,OAAO;IAK7C,YAAY,KAAuB,EAAE,WAAwB;QAC3D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAA;QAC7C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAA;QACzD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAA;IAC7D,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EventHandoffSuccess, RequestData } from '../types';
|
|
2
|
+
import { HtEvent } from './ht-event';
|
|
3
|
+
export declare class HtEventHandoffSuccess extends HtEvent {
|
|
4
|
+
queue_open: boolean;
|
|
5
|
+
available_agents: boolean;
|
|
6
|
+
threshold_reached: boolean;
|
|
7
|
+
constructor(event: EventHandoffSuccess, requestData: RequestData);
|
|
8
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HtEvent } from './ht-event';
|
|
2
|
+
export class HtEventHandoffSuccess extends HtEvent {
|
|
3
|
+
constructor(event, requestData) {
|
|
4
|
+
super(event, requestData);
|
|
5
|
+
this.queue_open = event.event_data.queue_open;
|
|
6
|
+
this.available_agents = event.event_data.available_agents;
|
|
7
|
+
this.threshold_reached = event.event_data.threshold_reached;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ht-event-handoff-success.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ht-event-handoff-success.js","sourceRoot":"","sources":["../../../src/event-models/ht-event-handoff-success.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,OAAO,qBAAsB,SAAQ,OAAO;IAKhD,YAAY,KAA0B,EAAE,WAAwB;QAC9D,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAA;QAC7C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAA;QACzD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAA;IAC7D,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { BaseEventData, EventName, HtEventProps, RequestData } from '../types';
|
|
2
|
+
export declare class HtEvent {
|
|
3
|
+
chat: string;
|
|
4
|
+
event_type: EventName;
|
|
5
|
+
event_data: BaseEventData;
|
|
6
|
+
protected constructor(event: HtEventProps, requestData: RequestData);
|
|
7
|
+
static create(requestData: RequestData, htEventProps: HtEventProps): HtEvent;
|
|
8
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { EventName } from '../types';
|
|
2
|
+
import { HtEventAgentRating } from './ht-event-agent-rating';
|
|
3
|
+
import { HtEventBotAiModel } from './ht-event-bot-ai-model';
|
|
4
|
+
import { HtEventBotFaq } from './ht-event-bot-faq';
|
|
5
|
+
import { HtEventBotKeywordModel } from './ht-event-bot-keyword-model';
|
|
6
|
+
import { HtEventBotRating } from './ht-event-bot-rating';
|
|
7
|
+
import { HtEventChannelRating } from './ht-event-channel-rating';
|
|
8
|
+
import { HtEventFaqUseful } from './ht-event-faq-useful';
|
|
9
|
+
import { HtEventHandoffFail } from './ht-event-handoff-fail';
|
|
10
|
+
import { HtEventHandoffSuccess } from './ht-event-handoff-success';
|
|
11
|
+
export class HtEvent {
|
|
12
|
+
constructor(event, requestData) {
|
|
13
|
+
this.chat = requestData.userId;
|
|
14
|
+
this.event_type = event.event_type;
|
|
15
|
+
this.event_data = {
|
|
16
|
+
channel: requestData.provider,
|
|
17
|
+
event_datetime: new Date().toISOString(),
|
|
18
|
+
enduser_language: requestData.language,
|
|
19
|
+
enduser_country: requestData.country,
|
|
20
|
+
format_version: 1,
|
|
21
|
+
// flow_version?: string
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
static create(requestData, htEventProps) {
|
|
25
|
+
if (htEventProps.event_type === EventName.botAgentRating) {
|
|
26
|
+
return new HtEventAgentRating(htEventProps, requestData);
|
|
27
|
+
}
|
|
28
|
+
if (htEventProps.event_type === EventName.botChannelRating) {
|
|
29
|
+
return new HtEventChannelRating(htEventProps, requestData);
|
|
30
|
+
}
|
|
31
|
+
if (htEventProps.event_type === EventName.botFaqUseful) {
|
|
32
|
+
return new HtEventFaqUseful(htEventProps, requestData);
|
|
33
|
+
}
|
|
34
|
+
if (htEventProps.event_type === EventName.botRating) {
|
|
35
|
+
return new HtEventBotRating(htEventProps, requestData);
|
|
36
|
+
}
|
|
37
|
+
if (htEventProps.event_type === EventName.botFaq) {
|
|
38
|
+
return new HtEventBotFaq(htEventProps, requestData);
|
|
39
|
+
}
|
|
40
|
+
if (htEventProps.event_type === EventName.botAiModel) {
|
|
41
|
+
return new HtEventBotAiModel(htEventProps, requestData);
|
|
42
|
+
}
|
|
43
|
+
if (htEventProps.event_type === EventName.botKeywordsModel) {
|
|
44
|
+
return new HtEventBotKeywordModel(htEventProps, requestData);
|
|
45
|
+
}
|
|
46
|
+
if (htEventProps.event_type === EventName.handoffSuccess) {
|
|
47
|
+
return new HtEventHandoffSuccess(htEventProps, requestData);
|
|
48
|
+
}
|
|
49
|
+
if (htEventProps.event_type === EventName.handoffFail) {
|
|
50
|
+
return new HtEventHandoffFail(htEventProps, requestData);
|
|
51
|
+
}
|
|
52
|
+
return new HtEvent(htEventProps, requestData);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=ht-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ht-event.js","sourceRoot":"","sources":["../../../src/event-models/ht-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAA6B,MAAM,UAAU,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,MAAM,OAAO,OAAO;IAKlB,YAAsB,KAAmB,EAAE,WAAwB;QACjE,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,MAAM,CAAA;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;QAClC,IAAI,CAAC,UAAU,GAAG;YAChB,OAAO,EAAE,WAAW,CAAC,QAAQ;YAC7B,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACxC,gBAAgB,EAAE,WAAW,CAAC,QAAQ;YACtC,eAAe,EAAE,WAAW,CAAC,OAAO;YACpC,cAAc,EAAE,CAAC;YACjB,wBAAwB;SACzB,CAAA;IACH,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,WAAwB,EAAE,YAA0B;QAChE,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,cAAc,EAAE;YACxD,OAAO,IAAI,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;SACzD;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,gBAAgB,EAAE;YAC1D,OAAO,IAAI,oBAAoB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;SAC3D;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,YAAY,EAAE;YACtD,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;SACvD;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,SAAS,EAAE;YACnD,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;SACvD;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,MAAM,EAAE;YAChD,OAAO,IAAI,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;SACpD;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,EAAE;YACpD,OAAO,IAAI,iBAAiB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;SACxD;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,gBAAgB,EAAE;YAC1D,OAAO,IAAI,sBAAsB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;SAC7D;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,cAAc,EAAE;YACxD,OAAO,IAAI,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;SAC5D;QACD,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,WAAW,EAAE;YACrD,OAAO,IAAI,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;SACzD;QAED,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IAC/C,CAAC;CACF"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { BotRequest, Plugin } from '@botonic/core';
|
|
2
|
-
import {
|
|
2
|
+
import { HtEventProps, RequestData } from './types';
|
|
3
3
|
export interface HubtypeAnalyticsOptions {
|
|
4
|
-
|
|
4
|
+
getLaguange?: (request: BotRequest) => string;
|
|
5
|
+
getCountry?: (request: BotRequest) => string;
|
|
5
6
|
}
|
|
6
7
|
export default class BotonicPluginHubtypeAnalytics implements Plugin {
|
|
7
8
|
baseUrl: string;
|
|
9
|
+
getLaguange: (request: BotRequest) => string;
|
|
10
|
+
getCountry: (request: BotRequest) => string;
|
|
8
11
|
constructor(options: HubtypeAnalyticsOptions);
|
|
9
|
-
pre(): void;
|
|
10
12
|
post(): void;
|
|
11
13
|
getUrl(request: BotRequest): string;
|
|
12
|
-
|
|
14
|
+
getRequestData(request: BotRequest): RequestData;
|
|
15
|
+
trackEvent(request: BotRequest, htEventProps: HtEventProps): Promise<import("axios").AxiosResponse<any, any>>;
|
|
13
16
|
}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
+
import { HtEvent } from './event-models/ht-event';
|
|
3
|
+
function getDefaultLanguage(request) {
|
|
4
|
+
return request.session.user.extra_data.language;
|
|
5
|
+
}
|
|
6
|
+
function getDefaultCountry(request) {
|
|
7
|
+
return request.session.user.extra_data.country;
|
|
8
|
+
}
|
|
2
9
|
export default class BotonicPluginHubtypeAnalytics {
|
|
3
10
|
constructor(options) {
|
|
4
|
-
this.baseUrl =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return;
|
|
11
|
+
this.baseUrl = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
|
|
12
|
+
this.getLaguange = options.getLaguange || getDefaultLanguage;
|
|
13
|
+
this.getCountry = options.getCountry || getDefaultCountry;
|
|
8
14
|
}
|
|
9
15
|
post() {
|
|
10
16
|
return;
|
|
@@ -12,16 +18,21 @@ export default class BotonicPluginHubtypeAnalytics {
|
|
|
12
18
|
getUrl(request) {
|
|
13
19
|
return `${this.baseUrl}/external/v1/conversational_apps/${request.session.bot.id}/bot_event/`;
|
|
14
20
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
getRequestData(request) {
|
|
22
|
+
return {
|
|
23
|
+
language: this.getLaguange(request),
|
|
24
|
+
country: this.getCountry(request),
|
|
25
|
+
provider: request.session.user.provider,
|
|
26
|
+
userId: request.session.user.id,
|
|
21
27
|
};
|
|
28
|
+
}
|
|
29
|
+
async trackEvent(request, htEventProps) {
|
|
30
|
+
const url = this.getUrl(request);
|
|
31
|
+
const requestData = this.getRequestData(request);
|
|
32
|
+
const event = HtEvent.create(requestData, htEventProps);
|
|
22
33
|
const headers = { Authorization: `Bearer ${request.session._access_token}` };
|
|
23
34
|
const config = { headers };
|
|
24
|
-
return axios.post(url,
|
|
35
|
+
return axios.post(url, event, config);
|
|
25
36
|
}
|
|
26
37
|
}
|
|
27
38
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAQjD,SAAS,kBAAkB,CAAC,OAAmB;IAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAA;AACjD,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAmB;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,6BAA6B;IAIhD,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;QACvE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,CAAA;QAC5D,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,CAAA;IAC3D,CAAC;IAED,IAAI;QACF,OAAM;IACR,CAAC;IAED,MAAM,CAAC,OAAmB;QACxB,OAAO,GAAG,IAAI,CAAC,OAAO,oCAAoC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,CAAA;IAC/F,CAAC;IAED,cAAc,CAAC,OAAmB;QAChC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACjC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ;YACvC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;SAChC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAmB,EAAE,YAA0B;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAA;QAC5E,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAA;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;CACF"}
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import { PROVIDER } from '@botonic/core';
|
|
2
|
+
export interface Event {
|
|
3
|
+
chat: string;
|
|
4
|
+
event_type: EventName;
|
|
5
|
+
event_data: BaseEventData;
|
|
6
|
+
}
|
|
1
7
|
export declare enum EventName {
|
|
2
8
|
botAgentRating = "bot_agent_rating",
|
|
3
9
|
botChannelRating = "bot_channel_rating",
|
|
@@ -13,93 +19,99 @@ export declare enum EventName {
|
|
|
13
19
|
handoffSuccess = "handoff_success",
|
|
14
20
|
handoffFail = "handoff_fail"
|
|
15
21
|
}
|
|
16
|
-
interface
|
|
17
|
-
|
|
22
|
+
export interface BaseEventData {
|
|
23
|
+
channel: string;
|
|
24
|
+
event_datetime: string;
|
|
18
25
|
enduser_language: string;
|
|
26
|
+
enduser_country?: string;
|
|
19
27
|
format_version?: number;
|
|
20
28
|
bot_version?: string;
|
|
21
29
|
flow_version?: string;
|
|
22
30
|
}
|
|
23
|
-
export interface
|
|
31
|
+
export interface HtBaseEventProps {
|
|
32
|
+
event_type: EventName;
|
|
33
|
+
}
|
|
34
|
+
export interface EventAgentRating extends HtBaseEventProps {
|
|
24
35
|
event_type: EventName.botAgentRating;
|
|
25
|
-
event_data:
|
|
26
|
-
rating: number;
|
|
27
|
-
};
|
|
36
|
+
event_data: EventDataRating;
|
|
28
37
|
}
|
|
29
|
-
export interface EventChannelRating {
|
|
38
|
+
export interface EventChannelRating extends HtBaseEventProps {
|
|
30
39
|
event_type: EventName.botChannelRating;
|
|
31
|
-
event_data:
|
|
32
|
-
rating: number;
|
|
33
|
-
};
|
|
40
|
+
event_data: EventDataRating;
|
|
34
41
|
}
|
|
35
|
-
export interface
|
|
42
|
+
export interface EventDataRating {
|
|
43
|
+
rating: number;
|
|
44
|
+
}
|
|
45
|
+
export interface EventFaqUseful extends HtBaseEventProps {
|
|
36
46
|
event_type: EventName.botFaqUseful;
|
|
37
|
-
event_data:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
47
|
+
event_data: EventDataUseful;
|
|
48
|
+
}
|
|
49
|
+
export interface EventDataUseful {
|
|
50
|
+
faq_name: string;
|
|
51
|
+
useful: boolean;
|
|
41
52
|
}
|
|
42
|
-
export interface EventBotRating {
|
|
53
|
+
export interface EventBotRating extends HtBaseEventProps {
|
|
43
54
|
event_type: EventName.botRating;
|
|
44
|
-
event_data:
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
export interface EventBotFaq {
|
|
55
|
+
event_data: EventDataBotRating;
|
|
56
|
+
}
|
|
57
|
+
interface EventDataBotRating {
|
|
58
|
+
rating: number;
|
|
59
|
+
free_comment?: string;
|
|
60
|
+
selected_options?: string[];
|
|
61
|
+
}
|
|
62
|
+
export interface EventBotFaq extends HtBaseEventProps {
|
|
53
63
|
event_type: EventName.botFaq;
|
|
54
|
-
event_data:
|
|
55
|
-
|
|
56
|
-
|
|
64
|
+
event_data: EventDataBotFaq;
|
|
65
|
+
}
|
|
66
|
+
interface EventDataBotFaq {
|
|
67
|
+
faq_name: string;
|
|
57
68
|
}
|
|
58
|
-
export interface EventBotStart {
|
|
69
|
+
export interface EventBotStart extends HtBaseEventProps {
|
|
59
70
|
event_type: EventName.botStart;
|
|
60
|
-
event_data: EventData;
|
|
61
71
|
}
|
|
62
72
|
export interface EventBotOpen {
|
|
63
73
|
event_type: EventName.botOpen;
|
|
64
|
-
event_data: EventData;
|
|
65
74
|
}
|
|
66
75
|
export interface EventBotAiModel {
|
|
67
76
|
event_type: EventName.botAiModel;
|
|
68
|
-
event_data:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
77
|
+
event_data: EventDataBotAiModel;
|
|
78
|
+
}
|
|
79
|
+
interface EventDataBotAiModel {
|
|
80
|
+
intent: string;
|
|
81
|
+
confidence: number;
|
|
82
|
+
confidence_successful: boolean;
|
|
73
83
|
}
|
|
74
|
-
export interface EventBotKeywordModel {
|
|
84
|
+
export interface EventBotKeywordModel extends HtBaseEventProps {
|
|
75
85
|
event_type: EventName.botKeywordsModel;
|
|
76
|
-
event_data:
|
|
77
|
-
confidence_successful: boolean;
|
|
78
|
-
};
|
|
86
|
+
event_data: EventDataBotKeywordModel;
|
|
79
87
|
}
|
|
80
|
-
|
|
88
|
+
interface EventDataBotKeywordModel {
|
|
89
|
+
confidence_successful: boolean;
|
|
90
|
+
}
|
|
91
|
+
export interface EventFallback extends HtBaseEventProps {
|
|
81
92
|
event_type: EventName.fallback;
|
|
82
|
-
event_data: EventData;
|
|
83
93
|
}
|
|
84
|
-
export interface EventHandoffOption {
|
|
94
|
+
export interface EventHandoffOption extends HtBaseEventProps {
|
|
85
95
|
event_type: EventName.handoffOption;
|
|
86
|
-
event_data: EventData;
|
|
87
96
|
}
|
|
88
|
-
export interface EventHandoffSuccess {
|
|
97
|
+
export interface EventHandoffSuccess extends HtBaseEventProps {
|
|
89
98
|
event_type: EventName.handoffSuccess;
|
|
90
|
-
event_data:
|
|
91
|
-
queue_open: boolean;
|
|
92
|
-
available_agents: boolean;
|
|
93
|
-
threshold_reached: boolean;
|
|
94
|
-
};
|
|
99
|
+
event_data: EventDataHandoff;
|
|
95
100
|
}
|
|
96
|
-
export interface EventHandoffFail {
|
|
101
|
+
export interface EventHandoffFail extends HtBaseEventProps {
|
|
97
102
|
event_type: EventName.handoffFail;
|
|
98
|
-
event_data:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
+
event_data: EventDataHandoff;
|
|
104
|
+
}
|
|
105
|
+
interface EventDataHandoff {
|
|
106
|
+
queue_open: boolean;
|
|
107
|
+
available_agents: boolean;
|
|
108
|
+
threshold_reached: boolean;
|
|
109
|
+
}
|
|
110
|
+
export type HtEventProps = EventAgentRating | EventChannelRating | EventFaqUseful | EventBotRating | EventBotFaq | EventBotStart | EventBotOpen | EventBotAiModel | EventBotKeywordModel | EventFallback | EventHandoffOption | EventHandoffSuccess | EventHandoffFail;
|
|
111
|
+
export interface RequestData {
|
|
112
|
+
language: string;
|
|
113
|
+
country: string;
|
|
114
|
+
provider: PROVIDER;
|
|
115
|
+
userId: string;
|
|
103
116
|
}
|
|
104
|
-
export type HtEvent = EventAgentRating | EventChannelRating | EventFaqUseful | EventBotRating | EventBotFaq | EventBotStart | EventBotOpen | EventBotAiModel | EventBotKeywordModel | EventFallback | EventHandoffOption | EventHandoffSuccess | EventHandoffFail;
|
|
105
117
|
export {};
|
package/lib/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAY,SAcX;AAdD,WAAY,SAAS;IACnB,gDAAmC,CAAA;IACnC,oDAAuC,CAAA;IACvC,4CAA+B,CAAA;IAC/B,qCAAwB,CAAA;IACxB,+BAAkB,CAAA;IAClB,mCAAsB,CAAA;IACtB,iCAAoB,CAAA;IACpB,wCAA2B,CAAA;IAC3B,oDAAuC,CAAA;IACvC,kCAAqB,CAAA;IACrB,6CAAgC,CAAA;IAChC,+CAAkC,CAAA;IAClC,yCAA4B,CAAA;AAC9B,CAAC,EAdW,SAAS,KAAT,SAAS,QAcpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/plugin-hubtype-analytics",
|
|
3
|
-
"version": "0.22.0-alpha.
|
|
3
|
+
"version": "0.22.0-alpha.4",
|
|
4
4
|
"description": "Plugin for tracking in the Hubtype backend to see the results in the Hubtype Dashbord",
|
|
5
5
|
"main": "./lib/cjs/index.js",
|
|
6
6
|
"module": "./lib/esm/index.js",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"extends": "../.eslintrc.js",
|
|
34
34
|
"root": true
|
|
35
35
|
},
|
|
36
|
-
"author": "
|
|
36
|
+
"author": "",
|
|
37
37
|
"license": "MIT",
|
|
38
38
|
"keywords": [
|
|
39
39
|
"analytics",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventAgentRating, RequestData } from '../types'
|
|
2
|
+
import { HtEvent } from './ht-event'
|
|
3
|
+
|
|
4
|
+
export class HtEventAgentRating extends HtEvent {
|
|
5
|
+
rating: number
|
|
6
|
+
|
|
7
|
+
constructor(event: EventAgentRating, requestData: RequestData) {
|
|
8
|
+
super(event, requestData)
|
|
9
|
+
this.rating = event.event_data.rating
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventBotAiModel, RequestData } from '../types'
|
|
2
|
+
import { HtEvent } from './ht-event'
|
|
3
|
+
|
|
4
|
+
export class HtEventBotAiModel extends HtEvent {
|
|
5
|
+
intent: string
|
|
6
|
+
confidence: number
|
|
7
|
+
confidence_successful: boolean
|
|
8
|
+
|
|
9
|
+
constructor(event: EventBotAiModel, requestData: RequestData) {
|
|
10
|
+
super(event, requestData)
|
|
11
|
+
this.intent = event.event_data.intent
|
|
12
|
+
this.confidence = event.event_data.confidence
|
|
13
|
+
this.confidence_successful = event.event_data.confidence_successful
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventBotFaq, RequestData } from '../types'
|
|
2
|
+
import { HtEvent } from './ht-event'
|
|
3
|
+
|
|
4
|
+
export class HtEventBotFaq extends HtEvent {
|
|
5
|
+
faq_name: string
|
|
6
|
+
|
|
7
|
+
constructor(event: EventBotFaq, requestData: RequestData) {
|
|
8
|
+
super(event, requestData)
|
|
9
|
+
this.faq_name = event.event_data.faq_name
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EventBotKeywordModel, RequestData } from '../types'
|
|
2
|
+
import { HtEvent } from './ht-event'
|
|
3
|
+
|
|
4
|
+
export class HtEventBotKeywordModel extends HtEvent {
|
|
5
|
+
confidence_successful: boolean
|
|
6
|
+
|
|
7
|
+
constructor(event: EventBotKeywordModel, requestData: RequestData) {
|
|
8
|
+
super(event, requestData)
|
|
9
|
+
|
|
10
|
+
this.confidence_successful = event.event_data.confidence_successful
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventBotRating, RequestData } from '../types'
|
|
2
|
+
import { HtEvent } from './ht-event'
|
|
3
|
+
|
|
4
|
+
export class HtEventBotRating extends HtEvent {
|
|
5
|
+
rating: number
|
|
6
|
+
free_comment?: string
|
|
7
|
+
selected_options?: string[]
|
|
8
|
+
|
|
9
|
+
constructor(event: EventBotRating, requestData: RequestData) {
|
|
10
|
+
super(event, requestData)
|
|
11
|
+
this.rating = event.event_data.rating
|
|
12
|
+
this.free_comment = event.event_data.free_comment
|
|
13
|
+
this.selected_options = event.event_data.selected_options
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventChannelRating, RequestData } from '../types'
|
|
2
|
+
import { HtEvent } from './ht-event'
|
|
3
|
+
|
|
4
|
+
export class HtEventChannelRating extends HtEvent {
|
|
5
|
+
rating: number
|
|
6
|
+
|
|
7
|
+
constructor(event: EventChannelRating, requestData: RequestData) {
|
|
8
|
+
super(event, requestData)
|
|
9
|
+
this.rating = event.event_data.rating
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventFaqUseful, RequestData } from '../types'
|
|
2
|
+
import { HtEvent } from './ht-event'
|
|
3
|
+
|
|
4
|
+
export class HtEventFaqUseful extends HtEvent {
|
|
5
|
+
faq_name: string
|
|
6
|
+
useful: boolean
|
|
7
|
+
|
|
8
|
+
constructor(event: EventFaqUseful, requestData: RequestData) {
|
|
9
|
+
super(event, requestData)
|
|
10
|
+
this.faq_name = event.event_data.faq_name
|
|
11
|
+
this.useful = event.event_data.useful
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventHandoffFail, RequestData } from '../types'
|
|
2
|
+
import { HtEvent } from './ht-event'
|
|
3
|
+
|
|
4
|
+
export class HtEventHandoffFail extends HtEvent {
|
|
5
|
+
queue_open: boolean
|
|
6
|
+
available_agents: boolean
|
|
7
|
+
threshold_reached: boolean
|
|
8
|
+
|
|
9
|
+
constructor(event: EventHandoffFail, requestData: RequestData) {
|
|
10
|
+
super(event, requestData)
|
|
11
|
+
this.queue_open = event.event_data.queue_open
|
|
12
|
+
this.available_agents = event.event_data.available_agents
|
|
13
|
+
this.threshold_reached = event.event_data.threshold_reached
|
|
14
|
+
}
|
|
15
|
+
}
|