@botonic/core 0.26.1-alpha.0 → 0.27.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/handoff.d.ts +16 -16
- package/lib/cjs/handoff.js +9 -2
- package/lib/cjs/handoff.js.map +1 -1
- package/lib/cjs/models/legacy-types.d.ts +2 -0
- package/lib/esm/handoff.d.ts +16 -16
- package/lib/esm/handoff.js +9 -2
- package/lib/esm/handoff.js.map +1 -1
- package/lib/esm/models/legacy-types.d.ts +2 -0
- package/package.json +1 -1
- package/src/handoff.ts +29 -19
- package/src/models/legacy-types.ts +2 -0
package/lib/cjs/handoff.d.ts
CHANGED
|
@@ -6,13 +6,6 @@ export interface HubtypeAgentsInfo {
|
|
|
6
6
|
last_message_sent: string;
|
|
7
7
|
status: string;
|
|
8
8
|
}
|
|
9
|
-
export interface HubtypeSession extends Session {
|
|
10
|
-
_hubtype_api: string;
|
|
11
|
-
_access_token: string;
|
|
12
|
-
}
|
|
13
|
-
export interface SessionWithBotonicAction extends Session {
|
|
14
|
-
_botonic_action: string;
|
|
15
|
-
}
|
|
16
9
|
export interface BackendContext {
|
|
17
10
|
timeoutMs: number;
|
|
18
11
|
}
|
|
@@ -26,11 +19,15 @@ export type HandoffExtraData = {
|
|
|
26
19
|
url?: string;
|
|
27
20
|
location?: string;
|
|
28
21
|
};
|
|
29
|
-
|
|
22
|
+
interface BotEventData {
|
|
23
|
+
language: string;
|
|
24
|
+
country: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function getOpenQueues(session: Session, context?: {}): Promise<{
|
|
30
27
|
queues: string[];
|
|
31
28
|
}>;
|
|
32
29
|
export declare class HandOffBuilder {
|
|
33
|
-
_session:
|
|
30
|
+
_session: Session;
|
|
34
31
|
_queue: string;
|
|
35
32
|
_onFinish: string;
|
|
36
33
|
_email: string;
|
|
@@ -42,7 +39,8 @@ export declare class HandOffBuilder {
|
|
|
42
39
|
_autoIdleMessage: string;
|
|
43
40
|
_shadowing: boolean;
|
|
44
41
|
_extraData: HandoffExtraData;
|
|
45
|
-
|
|
42
|
+
_bot_event: BotEventData;
|
|
43
|
+
constructor(session: Session);
|
|
46
44
|
withQueue(queueNameOrId: string): this;
|
|
47
45
|
withOnFinishPayload(payload: string): this;
|
|
48
46
|
withOnFinishPath(path: string): this;
|
|
@@ -55,26 +53,28 @@ export declare class HandOffBuilder {
|
|
|
55
53
|
withAutoIdleMessage(message: string): this;
|
|
56
54
|
withShadowing(shadowing?: boolean): this;
|
|
57
55
|
withExtraData(extraData: HandoffExtraData): this;
|
|
56
|
+
withBotEvent(botEvent: BotEventData): this;
|
|
58
57
|
handOff(): Promise<void>;
|
|
59
58
|
}
|
|
60
59
|
/**
|
|
61
60
|
* @deprecated use {@link HandOffBuilder} class instead
|
|
62
61
|
*/
|
|
63
62
|
export declare function humanHandOff(session: any, queueNameOrId: string | undefined, onFinish: any): Promise<void>;
|
|
64
|
-
export declare function storeCaseRating(session:
|
|
63
|
+
export declare function storeCaseRating(session: Session, rating: number, context?: any): Promise<{
|
|
65
64
|
status: string;
|
|
66
65
|
}>;
|
|
67
|
-
export declare function getAvailableAgentsByQueue(session:
|
|
66
|
+
export declare function getAvailableAgentsByQueue(session: Session, queueId: string): Promise<{
|
|
68
67
|
agents: string[];
|
|
69
68
|
}>;
|
|
70
|
-
export declare function getAvailableAgents(session:
|
|
69
|
+
export declare function getAvailableAgents(session: Session): Promise<{
|
|
71
70
|
agents: HubtypeAgentsInfo[];
|
|
72
71
|
}>;
|
|
73
|
-
export declare function getAgentVacationRanges(session:
|
|
72
|
+
export declare function getAgentVacationRanges(session: Session, { agentId, agentEmail }: {
|
|
74
73
|
agentId?: string;
|
|
75
74
|
agentEmail?: string;
|
|
76
75
|
}): Promise<{
|
|
77
76
|
vacation_ranges: VacationRange[];
|
|
78
77
|
}>;
|
|
79
|
-
export declare function cancelHandoff(session:
|
|
80
|
-
export declare function deleteUser(session:
|
|
78
|
+
export declare function cancelHandoff(session: Session, typification?: string | null): void;
|
|
79
|
+
export declare function deleteUser(session: Session): void;
|
|
80
|
+
export {};
|
package/lib/cjs/handoff.js
CHANGED
|
@@ -81,9 +81,13 @@ class HandOffBuilder {
|
|
|
81
81
|
this._extraData = extraData;
|
|
82
82
|
return this;
|
|
83
83
|
}
|
|
84
|
+
withBotEvent(botEvent) {
|
|
85
|
+
this._bot_event = botEvent;
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
84
88
|
handOff() {
|
|
85
89
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
86
|
-
return _humanHandOff(this._session, this._queue, this._onFinish, this._email, this._agentId, this._forceAssignIfNotAvailable, this._autoAssignOnWaiting, this._caseInfo, this._note, this._autoIdleMessage, this._shadowing, this._extraData);
|
|
90
|
+
return _humanHandOff(this._session, this._queue, this._onFinish, this._email, this._agentId, this._forceAssignIfNotAvailable, this._autoAssignOnWaiting, this._caseInfo, this._note, this._autoIdleMessage, this._shadowing, this._extraData, this._bot_event);
|
|
87
91
|
});
|
|
88
92
|
}
|
|
89
93
|
}
|
|
@@ -112,7 +116,7 @@ function humanHandOff(session, queueNameOrId = '', onFinish) {
|
|
|
112
116
|
});
|
|
113
117
|
}
|
|
114
118
|
exports.humanHandOff = humanHandOff;
|
|
115
|
-
function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', forceAssignIfNotAvailable = true, autoAssignOnWaiting = false, caseInfo = '', note = '', autoIdleMessage = '', shadowing = false, extraData = undefined) {
|
|
119
|
+
function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', forceAssignIfNotAvailable = true, autoAssignOnWaiting = false, caseInfo = '', note = '', autoIdleMessage = '', shadowing = false, extraData = undefined, botEvent) {
|
|
116
120
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
117
121
|
const params = {};
|
|
118
122
|
params.force_assign_if_not_available = forceAssignIfNotAvailable;
|
|
@@ -146,6 +150,9 @@ function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', a
|
|
|
146
150
|
if (extraData) {
|
|
147
151
|
params.case_extra_data = extraData;
|
|
148
152
|
}
|
|
153
|
+
if (botEvent) {
|
|
154
|
+
params.bot_event = botEvent;
|
|
155
|
+
}
|
|
149
156
|
session._botonic_action = `create_case:${JSON.stringify(params)}`;
|
|
150
157
|
});
|
|
151
158
|
}
|
package/lib/cjs/handoff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAEzB,2CAAqD;AAGrD,MAAM,eAAe,GAAG,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,6 +95,7 @@ export interface Input extends Partial<NluResult> {
|
|
|
95
95
|
context?: {
|
|
96
96
|
campaign?: Campaign;
|
|
97
97
|
};
|
|
98
|
+
message_id?: string;
|
|
98
99
|
}
|
|
99
100
|
export interface Campaign {
|
|
100
101
|
id: string;
|
|
@@ -141,6 +142,7 @@ export interface Session {
|
|
|
141
142
|
_shadowing?: boolean;
|
|
142
143
|
external?: any;
|
|
143
144
|
zendesk_ticket_id?: string;
|
|
145
|
+
flow_thread_id?: string;
|
|
144
146
|
}
|
|
145
147
|
export type InputMatcher = (input: Input) => boolean;
|
|
146
148
|
export type ParamsMatcher = {
|
package/lib/esm/handoff.d.ts
CHANGED
|
@@ -6,13 +6,6 @@ export interface HubtypeAgentsInfo {
|
|
|
6
6
|
last_message_sent: string;
|
|
7
7
|
status: string;
|
|
8
8
|
}
|
|
9
|
-
export interface HubtypeSession extends Session {
|
|
10
|
-
_hubtype_api: string;
|
|
11
|
-
_access_token: string;
|
|
12
|
-
}
|
|
13
|
-
export interface SessionWithBotonicAction extends Session {
|
|
14
|
-
_botonic_action: string;
|
|
15
|
-
}
|
|
16
9
|
export interface BackendContext {
|
|
17
10
|
timeoutMs: number;
|
|
18
11
|
}
|
|
@@ -26,11 +19,15 @@ export type HandoffExtraData = {
|
|
|
26
19
|
url?: string;
|
|
27
20
|
location?: string;
|
|
28
21
|
};
|
|
29
|
-
|
|
22
|
+
interface BotEventData {
|
|
23
|
+
language: string;
|
|
24
|
+
country: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function getOpenQueues(session: Session, context?: {}): Promise<{
|
|
30
27
|
queues: string[];
|
|
31
28
|
}>;
|
|
32
29
|
export declare class HandOffBuilder {
|
|
33
|
-
_session:
|
|
30
|
+
_session: Session;
|
|
34
31
|
_queue: string;
|
|
35
32
|
_onFinish: string;
|
|
36
33
|
_email: string;
|
|
@@ -42,7 +39,8 @@ export declare class HandOffBuilder {
|
|
|
42
39
|
_autoIdleMessage: string;
|
|
43
40
|
_shadowing: boolean;
|
|
44
41
|
_extraData: HandoffExtraData;
|
|
45
|
-
|
|
42
|
+
_bot_event: BotEventData;
|
|
43
|
+
constructor(session: Session);
|
|
46
44
|
withQueue(queueNameOrId: string): this;
|
|
47
45
|
withOnFinishPayload(payload: string): this;
|
|
48
46
|
withOnFinishPath(path: string): this;
|
|
@@ -55,26 +53,28 @@ export declare class HandOffBuilder {
|
|
|
55
53
|
withAutoIdleMessage(message: string): this;
|
|
56
54
|
withShadowing(shadowing?: boolean): this;
|
|
57
55
|
withExtraData(extraData: HandoffExtraData): this;
|
|
56
|
+
withBotEvent(botEvent: BotEventData): this;
|
|
58
57
|
handOff(): Promise<void>;
|
|
59
58
|
}
|
|
60
59
|
/**
|
|
61
60
|
* @deprecated use {@link HandOffBuilder} class instead
|
|
62
61
|
*/
|
|
63
62
|
export declare function humanHandOff(session: any, queueNameOrId: string | undefined, onFinish: any): Promise<void>;
|
|
64
|
-
export declare function storeCaseRating(session:
|
|
63
|
+
export declare function storeCaseRating(session: Session, rating: number, context?: any): Promise<{
|
|
65
64
|
status: string;
|
|
66
65
|
}>;
|
|
67
|
-
export declare function getAvailableAgentsByQueue(session:
|
|
66
|
+
export declare function getAvailableAgentsByQueue(session: Session, queueId: string): Promise<{
|
|
68
67
|
agents: string[];
|
|
69
68
|
}>;
|
|
70
|
-
export declare function getAvailableAgents(session:
|
|
69
|
+
export declare function getAvailableAgents(session: Session): Promise<{
|
|
71
70
|
agents: HubtypeAgentsInfo[];
|
|
72
71
|
}>;
|
|
73
|
-
export declare function getAgentVacationRanges(session:
|
|
72
|
+
export declare function getAgentVacationRanges(session: Session, { agentId, agentEmail }: {
|
|
74
73
|
agentId?: string;
|
|
75
74
|
agentEmail?: string;
|
|
76
75
|
}): Promise<{
|
|
77
76
|
vacation_ranges: VacationRange[];
|
|
78
77
|
}>;
|
|
79
|
-
export declare function cancelHandoff(session:
|
|
80
|
-
export declare function deleteUser(session:
|
|
78
|
+
export declare function cancelHandoff(session: Session, typification?: string | null): void;
|
|
79
|
+
export declare function deleteUser(session: Session): void;
|
|
80
|
+
export {};
|
package/lib/esm/handoff.js
CHANGED
|
@@ -77,9 +77,13 @@ export class HandOffBuilder {
|
|
|
77
77
|
this._extraData = extraData;
|
|
78
78
|
return this;
|
|
79
79
|
}
|
|
80
|
+
withBotEvent(botEvent) {
|
|
81
|
+
this._bot_event = botEvent;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
80
84
|
handOff() {
|
|
81
85
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
return _humanHandOff(this._session, this._queue, this._onFinish, this._email, this._agentId, this._forceAssignIfNotAvailable, this._autoAssignOnWaiting, this._caseInfo, this._note, this._autoIdleMessage, this._shadowing, this._extraData);
|
|
86
|
+
return _humanHandOff(this._session, this._queue, this._onFinish, this._email, this._agentId, this._forceAssignIfNotAvailable, this._autoAssignOnWaiting, this._caseInfo, this._note, this._autoIdleMessage, this._shadowing, this._extraData, this._bot_event);
|
|
83
87
|
});
|
|
84
88
|
}
|
|
85
89
|
}
|
|
@@ -106,7 +110,7 @@ export function humanHandOff(session, queueNameOrId = '', onFinish) {
|
|
|
106
110
|
return builder.handOff();
|
|
107
111
|
});
|
|
108
112
|
}
|
|
109
|
-
function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', forceAssignIfNotAvailable = true, autoAssignOnWaiting = false, caseInfo = '', note = '', autoIdleMessage = '', shadowing = false, extraData = undefined) {
|
|
113
|
+
function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', forceAssignIfNotAvailable = true, autoAssignOnWaiting = false, caseInfo = '', note = '', autoIdleMessage = '', shadowing = false, extraData = undefined, botEvent) {
|
|
110
114
|
return __awaiter(this, void 0, void 0, function* () {
|
|
111
115
|
const params = {};
|
|
112
116
|
params.force_assign_if_not_available = forceAssignIfNotAvailable;
|
|
@@ -140,6 +144,9 @@ function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', a
|
|
|
140
144
|
if (extraData) {
|
|
141
145
|
params.case_extra_data = extraData;
|
|
142
146
|
}
|
|
147
|
+
if (botEvent) {
|
|
148
|
+
params.bot_event = botEvent;
|
|
149
|
+
}
|
|
143
150
|
session._botonic_action = `create_case:${JSON.stringify(params)}`;
|
|
144
151
|
});
|
|
145
152
|
}
|
package/lib/esm/handoff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAGrD,MAAM,eAAe,GAAG,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,6 +95,7 @@ export interface Input extends Partial<NluResult> {
|
|
|
95
95
|
context?: {
|
|
96
96
|
campaign?: Campaign;
|
|
97
97
|
};
|
|
98
|
+
message_id?: string;
|
|
98
99
|
}
|
|
99
100
|
export interface Campaign {
|
|
100
101
|
id: string;
|
|
@@ -141,6 +142,7 @@ export interface Session {
|
|
|
141
142
|
_shadowing?: boolean;
|
|
142
143
|
external?: any;
|
|
143
144
|
zendesk_ticket_id?: string;
|
|
145
|
+
flow_thread_id?: string;
|
|
144
146
|
}
|
|
145
147
|
export type InputMatcher = (input: Input) => boolean;
|
|
146
148
|
export type ParamsMatcher = {
|
package/package.json
CHANGED
package/src/handoff.ts
CHANGED
|
@@ -12,14 +12,7 @@ export interface HubtypeAgentsInfo {
|
|
|
12
12
|
last_message_sent: string
|
|
13
13
|
status: string
|
|
14
14
|
}
|
|
15
|
-
export interface HubtypeSession extends Session {
|
|
16
|
-
_hubtype_api: string
|
|
17
|
-
_access_token: string
|
|
18
|
-
}
|
|
19
15
|
|
|
20
|
-
export interface SessionWithBotonicAction extends Session {
|
|
21
|
-
_botonic_action: string
|
|
22
|
-
}
|
|
23
16
|
export interface BackendContext {
|
|
24
17
|
timeoutMs: number
|
|
25
18
|
}
|
|
@@ -36,6 +29,11 @@ export type HandoffExtraData = {
|
|
|
36
29
|
location?: string
|
|
37
30
|
}
|
|
38
31
|
|
|
32
|
+
interface BotEventData {
|
|
33
|
+
language: string
|
|
34
|
+
country: string
|
|
35
|
+
}
|
|
36
|
+
|
|
39
37
|
function contextDefaults(context: any): BackendContext {
|
|
40
38
|
return {
|
|
41
39
|
timeoutMs: context.timeoutMs || 10000,
|
|
@@ -43,7 +41,7 @@ function contextDefaults(context: any): BackendContext {
|
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
export async function getOpenQueues(
|
|
46
|
-
session:
|
|
44
|
+
session: Session,
|
|
47
45
|
context = {}
|
|
48
46
|
): Promise<{ queues: string[] }> {
|
|
49
47
|
//be aware of https://github.com/axios/axios/issues/1543
|
|
@@ -63,7 +61,7 @@ export async function getOpenQueues(
|
|
|
63
61
|
}
|
|
64
62
|
|
|
65
63
|
export class HandOffBuilder {
|
|
66
|
-
_session:
|
|
64
|
+
_session: Session
|
|
67
65
|
_queue: string
|
|
68
66
|
_onFinish: string
|
|
69
67
|
_email: string
|
|
@@ -75,8 +73,9 @@ export class HandOffBuilder {
|
|
|
75
73
|
_autoIdleMessage: string
|
|
76
74
|
_shadowing: boolean
|
|
77
75
|
_extraData: HandoffExtraData
|
|
76
|
+
_bot_event: BotEventData
|
|
78
77
|
|
|
79
|
-
constructor(session:
|
|
78
|
+
constructor(session: Session) {
|
|
80
79
|
this._session = session
|
|
81
80
|
}
|
|
82
81
|
|
|
@@ -140,6 +139,11 @@ export class HandOffBuilder {
|
|
|
140
139
|
return this
|
|
141
140
|
}
|
|
142
141
|
|
|
142
|
+
withBotEvent(botEvent: BotEventData): this {
|
|
143
|
+
this._bot_event = botEvent
|
|
144
|
+
return this
|
|
145
|
+
}
|
|
146
|
+
|
|
143
147
|
async handOff(): Promise<void> {
|
|
144
148
|
return _humanHandOff(
|
|
145
149
|
this._session,
|
|
@@ -153,7 +157,8 @@ export class HandOffBuilder {
|
|
|
153
157
|
this._note,
|
|
154
158
|
this._autoIdleMessage,
|
|
155
159
|
this._shadowing,
|
|
156
|
-
this._extraData
|
|
160
|
+
this._extraData,
|
|
161
|
+
this._bot_event
|
|
157
162
|
)
|
|
158
163
|
}
|
|
159
164
|
}
|
|
@@ -190,9 +195,10 @@ interface HubtypeHandoffParams {
|
|
|
190
195
|
shadowing?: boolean
|
|
191
196
|
on_finish?: string
|
|
192
197
|
case_extra_data?: HandoffExtraData
|
|
198
|
+
bot_event?: BotEventData
|
|
193
199
|
}
|
|
194
200
|
async function _humanHandOff(
|
|
195
|
-
session:
|
|
201
|
+
session: Session,
|
|
196
202
|
queueNameOrId = '',
|
|
197
203
|
onFinish: string,
|
|
198
204
|
agentEmail = '',
|
|
@@ -203,7 +209,8 @@ async function _humanHandOff(
|
|
|
203
209
|
note = '',
|
|
204
210
|
autoIdleMessage = '',
|
|
205
211
|
shadowing = false,
|
|
206
|
-
extraData: HandoffExtraData | undefined = undefined
|
|
212
|
+
extraData: HandoffExtraData | undefined = undefined,
|
|
213
|
+
botEvent: BotEventData
|
|
207
214
|
) {
|
|
208
215
|
const params: HubtypeHandoffParams = {}
|
|
209
216
|
|
|
@@ -239,11 +246,14 @@ async function _humanHandOff(
|
|
|
239
246
|
if (extraData) {
|
|
240
247
|
params.case_extra_data = extraData
|
|
241
248
|
}
|
|
249
|
+
if (botEvent) {
|
|
250
|
+
params.bot_event = botEvent
|
|
251
|
+
}
|
|
242
252
|
session._botonic_action = `create_case:${JSON.stringify(params)}`
|
|
243
253
|
}
|
|
244
254
|
|
|
245
255
|
export async function storeCaseRating(
|
|
246
|
-
session:
|
|
256
|
+
session: Session,
|
|
247
257
|
rating: number,
|
|
248
258
|
context: any = {}
|
|
249
259
|
): Promise<{ status: string }> {
|
|
@@ -263,7 +273,7 @@ export async function storeCaseRating(
|
|
|
263
273
|
}
|
|
264
274
|
|
|
265
275
|
export async function getAvailableAgentsByQueue(
|
|
266
|
-
session:
|
|
276
|
+
session: Session,
|
|
267
277
|
queueId: string
|
|
268
278
|
): Promise<{ agents: string[] }> {
|
|
269
279
|
const baseUrl = session._hubtype_api || HUBTYPE_API_URL
|
|
@@ -278,7 +288,7 @@ export async function getAvailableAgentsByQueue(
|
|
|
278
288
|
}
|
|
279
289
|
|
|
280
290
|
export async function getAvailableAgents(
|
|
281
|
-
session:
|
|
291
|
+
session: Session
|
|
282
292
|
): Promise<{ agents: HubtypeAgentsInfo[] }> {
|
|
283
293
|
const baseUrl = session._hubtype_api || HUBTYPE_API_URL
|
|
284
294
|
const botId = session.bot.id
|
|
@@ -293,7 +303,7 @@ export async function getAvailableAgents(
|
|
|
293
303
|
}
|
|
294
304
|
|
|
295
305
|
export async function getAgentVacationRanges(
|
|
296
|
-
session:
|
|
306
|
+
session: Session,
|
|
297
307
|
{ agentId, agentEmail }: { agentId?: string; agentEmail?: string }
|
|
298
308
|
): Promise<{ vacation_ranges: VacationRange[] }> {
|
|
299
309
|
const baseUrl = session._hubtype_api || HUBTYPE_API_URL
|
|
@@ -310,7 +320,7 @@ export async function getAgentVacationRanges(
|
|
|
310
320
|
}
|
|
311
321
|
|
|
312
322
|
export function cancelHandoff(
|
|
313
|
-
session:
|
|
323
|
+
session: Session,
|
|
314
324
|
typification: string | null = null
|
|
315
325
|
): void {
|
|
316
326
|
let action = 'discard_case'
|
|
@@ -318,6 +328,6 @@ export function cancelHandoff(
|
|
|
318
328
|
session._botonic_action = action
|
|
319
329
|
}
|
|
320
330
|
|
|
321
|
-
export function deleteUser(session:
|
|
331
|
+
export function deleteUser(session: Session): void {
|
|
322
332
|
session._botonic_action = `delete_user`
|
|
323
333
|
}
|
|
@@ -147,6 +147,7 @@ export interface Input extends Partial<NluResult> {
|
|
|
147
147
|
context?: {
|
|
148
148
|
campaign?: Campaign
|
|
149
149
|
}
|
|
150
|
+
message_id?: string
|
|
150
151
|
}
|
|
151
152
|
|
|
152
153
|
export interface Campaign {
|
|
@@ -201,6 +202,7 @@ export interface Session {
|
|
|
201
202
|
_shadowing?: boolean
|
|
202
203
|
external?: any
|
|
203
204
|
zendesk_ticket_id?: string
|
|
205
|
+
flow_thread_id?: string
|
|
204
206
|
}
|
|
205
207
|
|
|
206
208
|
export type InputMatcher = (input: Input) => boolean
|