@botonic/core 0.26.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/core-bot.d.ts +1 -3
- package/lib/cjs/core-bot.js +3 -33
- package/lib/cjs/core-bot.js.map +1 -1
- 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/index.d.ts +0 -1
- package/lib/cjs/index.js +0 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/models/legacy-types.d.ts +44 -39
- package/lib/cjs/models/legacy-types.js +15 -32
- package/lib/cjs/models/legacy-types.js.map +1 -1
- package/lib/cjs/plugins.d.ts +2 -3
- package/lib/cjs/plugins.js +2 -4
- package/lib/cjs/plugins.js.map +1 -1
- package/lib/cjs/utils.d.ts +8 -0
- package/lib/cjs/utils.js +32 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/esm/core-bot.d.ts +1 -3
- package/lib/esm/core-bot.js +4 -34
- package/lib/esm/core-bot.js.map +1 -1
- 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/index.d.ts +0 -1
- package/lib/esm/index.js +0 -3
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/models/legacy-types.d.ts +44 -39
- package/lib/esm/models/legacy-types.js +14 -31
- package/lib/esm/models/legacy-types.js.map +1 -1
- package/lib/esm/plugins.d.ts +2 -3
- package/lib/esm/plugins.js +2 -4
- package/lib/esm/plugins.js.map +1 -1
- package/lib/esm/utils.d.ts +8 -0
- package/lib/esm/utils.js +24 -0
- package/lib/esm/utils.js.map +1 -1
- package/package.json +1 -6
- package/src/core-bot.ts +2 -56
- package/src/handoff.ts +29 -19
- package/src/index.ts +0 -3
- package/src/models/legacy-types.ts +78 -76
- package/src/plugins.ts +2 -8
- package/src/utils.ts +32 -0
- package/lib/cjs/data-provider/dynamodb-data-provider.d.ts +0 -26
- package/lib/cjs/data-provider/dynamodb-data-provider.js +0 -107
- package/lib/cjs/data-provider/dynamodb-data-provider.js.map +0 -1
- package/lib/cjs/data-provider/dynamodb-utils.d.ts +0 -11
- package/lib/cjs/data-provider/dynamodb-utils.js +0 -121
- package/lib/cjs/data-provider/dynamodb-utils.js.map +0 -1
- package/lib/cjs/data-provider/factory.d.ts +0 -25
- package/lib/cjs/data-provider/factory.js +0 -31
- package/lib/cjs/data-provider/factory.js.map +0 -1
- package/lib/cjs/data-provider/index.d.ts +0 -4
- package/lib/cjs/data-provider/index.js +0 -8
- package/lib/cjs/data-provider/index.js.map +0 -1
- package/lib/cjs/data-provider/local-data-provider.d.ts +0 -26
- package/lib/cjs/data-provider/local-data-provider.js +0 -137
- package/lib/cjs/data-provider/local-data-provider.js.map +0 -1
- package/lib/cjs/output-parser/botonic-output-parser.d.ts +0 -16
- package/lib/cjs/output-parser/botonic-output-parser.js +0 -37
- package/lib/cjs/output-parser/botonic-output-parser.js.map +0 -1
- package/lib/cjs/output-parser/factory.d.ts +0 -4
- package/lib/cjs/output-parser/factory.js +0 -36
- package/lib/cjs/output-parser/factory.js.map +0 -1
- package/lib/cjs/output-parser/index.d.ts +0 -3
- package/lib/cjs/output-parser/index.js +0 -7
- package/lib/cjs/output-parser/index.js.map +0 -1
- package/lib/cjs/output-parser/parsers.d.ts +0 -26
- package/lib/cjs/output-parser/parsers.js +0 -171
- package/lib/cjs/output-parser/parsers.js.map +0 -1
- package/lib/esm/data-provider/dynamodb-data-provider.d.ts +0 -26
- package/lib/esm/data-provider/dynamodb-data-provider.js +0 -103
- package/lib/esm/data-provider/dynamodb-data-provider.js.map +0 -1
- package/lib/esm/data-provider/dynamodb-utils.d.ts +0 -11
- package/lib/esm/data-provider/dynamodb-utils.js +0 -113
- package/lib/esm/data-provider/dynamodb-utils.js.map +0 -1
- package/lib/esm/data-provider/factory.d.ts +0 -25
- package/lib/esm/data-provider/factory.js +0 -27
- package/lib/esm/data-provider/factory.js.map +0 -1
- package/lib/esm/data-provider/index.d.ts +0 -4
- package/lib/esm/data-provider/index.js +0 -5
- package/lib/esm/data-provider/index.js.map +0 -1
- package/lib/esm/data-provider/local-data-provider.d.ts +0 -26
- package/lib/esm/data-provider/local-data-provider.js +0 -133
- package/lib/esm/data-provider/local-data-provider.js.map +0 -1
- package/lib/esm/output-parser/botonic-output-parser.d.ts +0 -16
- package/lib/esm/output-parser/botonic-output-parser.js +0 -33
- package/lib/esm/output-parser/botonic-output-parser.js.map +0 -1
- package/lib/esm/output-parser/factory.d.ts +0 -4
- package/lib/esm/output-parser/factory.js +0 -32
- package/lib/esm/output-parser/factory.js.map +0 -1
- package/lib/esm/output-parser/index.d.ts +0 -3
- package/lib/esm/output-parser/index.js +0 -4
- package/lib/esm/output-parser/index.js.map +0 -1
- package/lib/esm/output-parser/parsers.d.ts +0 -26
- package/lib/esm/output-parser/parsers.js +0 -151
- package/lib/esm/output-parser/parsers.js.map +0 -1
- package/src/data-provider/dynamodb-data-provider.ts +0 -105
- package/src/data-provider/dynamodb-utils.ts +0 -149
- package/src/data-provider/factory.ts +0 -60
- package/src/data-provider/index.ts +0 -4
- package/src/data-provider/local-data-provider.ts +0 -154
- package/src/output-parser/botonic-output-parser.ts +0 -38
- package/src/output-parser/factory.ts +0 -45
- package/src/output-parser/index.ts +0 -3
- package/src/output-parser/parsers.ts +0 -237
package/lib/cjs/core-bot.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Inspector } from './debug';
|
|
2
2
|
import { BotRequest, BotResponse, Locales, ResolvedPlugins, Route, Routes, Session } from './models';
|
|
3
|
-
import { BotonicOutputParser } from './output-parser';
|
|
4
3
|
import { Router } from './routing';
|
|
5
4
|
export interface CoreBotConfig {
|
|
6
5
|
appId?: string;
|
|
@@ -27,9 +26,8 @@ export declare class CoreBot {
|
|
|
27
26
|
router: Router | null;
|
|
28
27
|
routes: Routes;
|
|
29
28
|
theme?: any;
|
|
30
|
-
botonicOutputParser: BotonicOutputParser;
|
|
31
29
|
constructor({ renderer, routes, locales, theme, plugins, appId, defaultTyping, defaultDelay, defaultRoutes, inspector, }: CoreBotConfig);
|
|
32
30
|
getString(id: string, session: Session): string;
|
|
33
31
|
setLocale(locale: string, session: Session): void;
|
|
34
|
-
input({ input, session, lastRoutePath,
|
|
32
|
+
input({ input, session, lastRoutePath, }: BotRequest): Promise<BotResponse>;
|
|
35
33
|
}
|
package/lib/cjs/core-bot.js
CHANGED
|
@@ -2,18 +2,15 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CoreBot = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const ulid_1 = require("ulid");
|
|
6
5
|
const debug_1 = require("./debug");
|
|
7
6
|
const i18n_1 = require("./i18n");
|
|
8
7
|
const models_1 = require("./models");
|
|
9
|
-
const output_parser_1 = require("./output-parser");
|
|
10
8
|
const plugins_1 = require("./plugins");
|
|
11
9
|
const routing_1 = require("./routing");
|
|
12
10
|
class CoreBot {
|
|
13
11
|
constructor({
|
|
14
12
|
// TODO: Receives dataProvider
|
|
15
13
|
renderer, routes, locales, theme, plugins, appId, defaultTyping, defaultDelay, defaultRoutes, inspector, }) {
|
|
16
|
-
this.botonicOutputParser = new output_parser_1.BotonicOutputParser();
|
|
17
14
|
this.renderer = renderer;
|
|
18
15
|
this.plugins = (0, plugins_1.loadPlugins)(plugins);
|
|
19
16
|
this.theme = theme || {};
|
|
@@ -41,7 +38,7 @@ class CoreBot {
|
|
|
41
38
|
setLocale(locale, session) {
|
|
42
39
|
session.__locale = locale;
|
|
43
40
|
}
|
|
44
|
-
input({ input, session, lastRoutePath,
|
|
41
|
+
input({ input, session, lastRoutePath, }) {
|
|
45
42
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
46
43
|
session = session || {};
|
|
47
44
|
if (!session.__locale)
|
|
@@ -51,20 +48,11 @@ class CoreBot {
|
|
|
51
48
|
input,
|
|
52
49
|
session,
|
|
53
50
|
lastRoutePath,
|
|
54
|
-
dataProvider,
|
|
55
51
|
response: [],
|
|
56
|
-
messageEvents: null,
|
|
57
52
|
};
|
|
58
53
|
}
|
|
59
|
-
const parsedUserEvent = this.botonicOutputParser.parseFromUserInput(input);
|
|
60
|
-
const userId = session.user.id;
|
|
61
|
-
if (dataProvider) {
|
|
62
|
-
// TODO: Next iterations. Review cycle of commited events to DB when messages change their ACK
|
|
63
|
-
// @ts-ignore
|
|
64
|
-
const userEvent = yield dataProvider.saveEvent(Object.assign(Object.assign({}, parsedUserEvent), { userId, eventId: (0, ulid_1.ulid)(), createdAt: new Date().toISOString(), from: models_1.MessageEventFrom.USER, ack: models_1.MessageEventAck.RECEIVED }));
|
|
65
|
-
}
|
|
66
54
|
if (this.plugins) {
|
|
67
|
-
yield (0, plugins_1.runPlugins)(this.plugins, 'pre', input, session, lastRoutePath, undefined
|
|
55
|
+
yield (0, plugins_1.runPlugins)(this.plugins, 'pre', input, session, lastRoutePath, undefined);
|
|
68
56
|
}
|
|
69
57
|
if (this.routes instanceof Function) {
|
|
70
58
|
this.router = new routing_1.Router([
|
|
@@ -87,39 +75,21 @@ class CoreBot {
|
|
|
87
75
|
defaultTyping: this.defaultTyping,
|
|
88
76
|
defaultDelay: this.defaultDelay,
|
|
89
77
|
lastRoutePath,
|
|
90
|
-
dataProvider,
|
|
91
78
|
};
|
|
92
79
|
const response = yield this.renderer({
|
|
93
80
|
request,
|
|
94
81
|
actions: [output.fallbackAction, output.action, output.emptyAction],
|
|
95
82
|
});
|
|
96
|
-
let messageEvents = [];
|
|
97
|
-
try {
|
|
98
|
-
messageEvents = this.botonicOutputParser.xmlToMessageEvents(response);
|
|
99
|
-
}
|
|
100
|
-
catch (e) {
|
|
101
|
-
// Disabling Botonic 1.0 error log for LTS version:
|
|
102
|
-
// console.error(e)
|
|
103
|
-
}
|
|
104
83
|
lastRoutePath = output.lastRoutePath;
|
|
105
84
|
if (this.plugins) {
|
|
106
|
-
yield (0, plugins_1.runPlugins)(this.plugins, 'post', input, session, lastRoutePath, response
|
|
107
|
-
}
|
|
108
|
-
if (dataProvider) {
|
|
109
|
-
// TODO: save bot responses to db and update user with new session and new params
|
|
110
|
-
for (const messageEvent of messageEvents) {
|
|
111
|
-
// @ts-ignore
|
|
112
|
-
const botEvent = yield dataProvider.saveEvent(Object.assign(Object.assign({}, messageEvent), { userId, eventId: (0, ulid_1.ulid)(), createdAt: new Date().toISOString(), from: models_1.MessageEventFrom.BOT, ack: models_1.MessageEventAck.SENT }));
|
|
113
|
-
}
|
|
85
|
+
yield (0, plugins_1.runPlugins)(this.plugins, 'post', input, session, lastRoutePath, response);
|
|
114
86
|
}
|
|
115
87
|
session.is_first_interaction = false;
|
|
116
88
|
return {
|
|
117
89
|
input,
|
|
118
90
|
response,
|
|
119
|
-
messageEvents,
|
|
120
91
|
session,
|
|
121
92
|
lastRoutePath,
|
|
122
|
-
dataProvider,
|
|
123
93
|
};
|
|
124
94
|
});
|
|
125
95
|
}
|
package/lib/cjs/core-bot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":";;;;AAAA
|
|
1
|
+
{"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":"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"}
|
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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"}
|
package/lib/cjs/index.d.ts
CHANGED
package/lib/cjs/index.js
CHANGED
|
@@ -3,14 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./constants"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./core-bot"), exports);
|
|
6
|
-
// TODO: Review @botonic/react's tree-shaking to remove dataProvider from bundle
|
|
7
|
-
// export * from './data-provider'
|
|
8
6
|
tslib_1.__exportStar(require("./debug"), exports);
|
|
9
7
|
tslib_1.__exportStar(require("./handoff"), exports);
|
|
10
8
|
tslib_1.__exportStar(require("./hubtype-service"), exports);
|
|
11
9
|
tslib_1.__exportStar(require("./i18n"), exports);
|
|
12
10
|
tslib_1.__exportStar(require("./models"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./output-parser"), exports);
|
|
14
11
|
tslib_1.__exportStar(require("./plugins"), exports);
|
|
15
12
|
tslib_1.__exportStar(require("./routing"), exports);
|
|
16
13
|
tslib_1.__exportStar(require("./utils"), exports);
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,qDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,qDAA0B;AAC1B,kDAAuB;AACvB,oDAAyB;AACzB,4DAAiC;AACjC,iDAAsB;AACtB,mDAAwB;AACxB,oDAAyB;AACzB,oDAAyB;AACzB,kDAAuB"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export declare enum CASE_STATUS {
|
|
2
|
+
WAITING = "status_waiting",
|
|
3
|
+
ATTENDING = "status_attending",
|
|
4
|
+
IDLE = "status_idle",
|
|
5
|
+
RESOLVED = "status_resolved"
|
|
6
|
+
}
|
|
7
|
+
export type CaseStatusType = CASE_STATUS.ATTENDING | CASE_STATUS.IDLE | CASE_STATUS.RESOLVED | CASE_STATUS.WAITING;
|
|
8
|
+
export declare enum CASE_RESOLUTION {
|
|
9
|
+
OK = "result_ok",
|
|
10
|
+
NOK = "result_nok",
|
|
11
|
+
NOT_SOLVED = "result_not_solved",
|
|
12
|
+
BANNED = "result_banned"
|
|
13
|
+
}
|
|
14
|
+
export type CaseResolution = CASE_RESOLUTION.BANNED | CASE_RESOLUTION.NOK | CASE_RESOLUTION.NOT_SOLVED | CASE_RESOLUTION.OK;
|
|
5
15
|
export declare enum PROVIDER {
|
|
6
16
|
APPLE = "apple",
|
|
7
17
|
DEV = "dev",
|
|
@@ -16,6 +26,7 @@ export declare enum PROVIDER {
|
|
|
16
26
|
WECHAT = "wechat",
|
|
17
27
|
WHATSAPP = "whatsapp"
|
|
18
28
|
}
|
|
29
|
+
export type ProviderType = PROVIDER.DEV | PROVIDER.FACEBOOK | PROVIDER.GENERIC | PROVIDER.INSTAGRAM | PROVIDER.INTERCOM | PROVIDER.SMOOCH | PROVIDER.TELEGRAM | PROVIDER.TWITTER | PROVIDER.WEBCHAT | PROVIDER.WECHAT | PROVIDER.WHATSAPP;
|
|
19
30
|
export declare enum INPUT {
|
|
20
31
|
TEXT = "text",
|
|
21
32
|
POSTBACK = "postback",
|
|
@@ -35,18 +46,6 @@ export declare enum INPUT {
|
|
|
35
46
|
WHATSAPP_BUTTON_LIST = "whatsapp-button-list",
|
|
36
47
|
WHATSAPP_CTA_URL_BUTTON = "whatsapp-cta-url-button"
|
|
37
48
|
}
|
|
38
|
-
export declare enum CASE_STATUS {
|
|
39
|
-
WAITING = "status_waiting",
|
|
40
|
-
ATTENDING = "status_attending",
|
|
41
|
-
IDLE = "status_idle",
|
|
42
|
-
RESOLVED = "status_resolved"
|
|
43
|
-
}
|
|
44
|
-
export declare enum CASE_RESOLUTION {
|
|
45
|
-
OK = "result_ok",
|
|
46
|
-
NOK = "result_nok",
|
|
47
|
-
NOT_SOLVED = "result_not_solved",
|
|
48
|
-
BANNED = "result_banned"
|
|
49
|
-
}
|
|
50
49
|
export interface Locales {
|
|
51
50
|
[id: string]: string | string[] | Locales;
|
|
52
51
|
}
|
|
@@ -66,7 +65,7 @@ export interface ResolvedPlugin extends Plugin {
|
|
|
66
65
|
config: any;
|
|
67
66
|
}
|
|
68
67
|
export type ResolvedPlugins = Record<string, ResolvedPlugin>;
|
|
69
|
-
export type InputType =
|
|
68
|
+
export type InputType = INPUT.AUDIO | INPUT.BUTTON_MESSAGE | INPUT.CAROUSEL | INPUT.CONTACT | INPUT.CUSTOM | INPUT.DOCUMENT | INPUT.IMAGE | INPUT.LOCATION | INPUT.POSTBACK | INPUT.TEXT | INPUT.VIDEO | INPUT.WEBCHAT_SETTINGS | INPUT.WHATSAPP_TEMPLATE | INPUT.CHAT_EVENT | INPUT.WHATSAPP_BUTTON_LIST | INPUT.WHATSAPP_CTA_URL_BUTTON;
|
|
70
69
|
export interface IntentResult {
|
|
71
70
|
intent: string;
|
|
72
71
|
confidence: number;
|
|
@@ -91,9 +90,22 @@ export interface Input extends Partial<NluResult> {
|
|
|
91
90
|
data?: string;
|
|
92
91
|
path?: string;
|
|
93
92
|
payload?: string;
|
|
93
|
+
referral?: string;
|
|
94
94
|
type: InputType;
|
|
95
|
+
context?: {
|
|
96
|
+
campaign?: Campaign;
|
|
97
|
+
};
|
|
98
|
+
message_id?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface Campaign {
|
|
101
|
+
id: string;
|
|
102
|
+
name: string;
|
|
103
|
+
status: string;
|
|
104
|
+
start_date: string;
|
|
105
|
+
end_date: string;
|
|
106
|
+
bot_path: string;
|
|
107
|
+
template_name: string;
|
|
95
108
|
}
|
|
96
|
-
export type ProviderType = typeof PROVIDER.DEV | typeof PROVIDER.FACEBOOK | typeof PROVIDER.GENERIC | typeof PROVIDER.INSTAGRAM | typeof PROVIDER.INTERCOM | typeof PROVIDER.SMOOCH | typeof PROVIDER.TELEGRAM | typeof PROVIDER.TWITTER | typeof PROVIDER.WEBCHAT | typeof PROVIDER.WECHAT | typeof PROVIDER.WHATSAPP;
|
|
97
109
|
export interface SessionUser {
|
|
98
110
|
id: string;
|
|
99
111
|
username?: string;
|
|
@@ -103,6 +115,11 @@ export interface SessionUser {
|
|
|
103
115
|
imp_id?: string;
|
|
104
116
|
provider_id?: string;
|
|
105
117
|
}
|
|
118
|
+
export interface HubtypeCaseContactReason {
|
|
119
|
+
id: string;
|
|
120
|
+
name: string;
|
|
121
|
+
project_id: string;
|
|
122
|
+
}
|
|
106
123
|
export interface Session {
|
|
107
124
|
bot: {
|
|
108
125
|
id: string;
|
|
@@ -110,15 +127,22 @@ export interface Session {
|
|
|
110
127
|
};
|
|
111
128
|
__locale?: string;
|
|
112
129
|
__retries: number;
|
|
130
|
+
_access_token: string;
|
|
131
|
+
_hubtype_api: string;
|
|
113
132
|
is_first_interaction: boolean;
|
|
114
133
|
last_session?: any;
|
|
115
|
-
organization: string;
|
|
116
134
|
organization_id: string;
|
|
135
|
+
organization: string;
|
|
117
136
|
user: SessionUser;
|
|
137
|
+
_botonic_action?: string;
|
|
118
138
|
_hubtype_case_status?: CaseStatusType;
|
|
139
|
+
_hubtype_case_id?: string;
|
|
119
140
|
_hubtype_case_typification?: string;
|
|
141
|
+
_hubtype_case_contact_reasons?: HubtypeCaseContactReason[];
|
|
120
142
|
_shadowing?: boolean;
|
|
121
|
-
|
|
143
|
+
external?: any;
|
|
144
|
+
zendesk_ticket_id?: string;
|
|
145
|
+
flow_thread_id?: string;
|
|
122
146
|
}
|
|
123
147
|
export type InputMatcher = (input: Input) => boolean;
|
|
124
148
|
export type ParamsMatcher = {
|
|
@@ -153,7 +177,6 @@ export interface BotRequest {
|
|
|
153
177
|
input: Input;
|
|
154
178
|
lastRoutePath: RoutePath;
|
|
155
179
|
session: Session;
|
|
156
|
-
dataProvider?: DataProvider;
|
|
157
180
|
}
|
|
158
181
|
/** The response of the bot for the triggered actions, which can be
|
|
159
182
|
* the one matched by the routes, the default action and the retry actions.
|
|
@@ -161,7 +184,6 @@ export interface BotRequest {
|
|
|
161
184
|
* */
|
|
162
185
|
export interface BotResponse extends BotRequest {
|
|
163
186
|
response: any;
|
|
164
|
-
messageEvents: Partial<BotonicEvent>[] | null;
|
|
165
187
|
}
|
|
166
188
|
export interface PluginPreRequest extends BotRequest {
|
|
167
189
|
plugins: ResolvedPlugins;
|
|
@@ -176,23 +198,6 @@ export interface Plugin {
|
|
|
176
198
|
export interface Params {
|
|
177
199
|
[key: string]: any;
|
|
178
200
|
}
|
|
179
|
-
export declare const Providers: Readonly<{
|
|
180
|
-
Messaging: {
|
|
181
|
-
APPLE: string;
|
|
182
|
-
FACEBOOK: string;
|
|
183
|
-
GENERIC: string;
|
|
184
|
-
IMBEE: string;
|
|
185
|
-
INSTAGRAM: string;
|
|
186
|
-
INTERCOM: string;
|
|
187
|
-
SMOOCH_WEB: string;
|
|
188
|
-
SMOOCH: string;
|
|
189
|
-
TELEGRAM: string;
|
|
190
|
-
TWITTER: string;
|
|
191
|
-
WEBCHAT: string;
|
|
192
|
-
WECHAT: string;
|
|
193
|
-
WHATSAPP: string;
|
|
194
|
-
};
|
|
195
|
-
}>;
|
|
196
201
|
export type Nullable<T> = T | null;
|
|
197
202
|
export type Action = Nullable<() => any>;
|
|
198
203
|
export type RoutePath = Nullable<string>;
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// TODO: This file contains all the legacy types we had in index.ts. After some refactors, we should be able to get rid of many of them.
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
4
|
+
exports.INPUT = exports.PROVIDER = exports.CASE_RESOLUTION = exports.CASE_STATUS = void 0;
|
|
5
|
+
var CASE_STATUS;
|
|
6
|
+
(function (CASE_STATUS) {
|
|
7
|
+
CASE_STATUS["WAITING"] = "status_waiting";
|
|
8
|
+
CASE_STATUS["ATTENDING"] = "status_attending";
|
|
9
|
+
CASE_STATUS["IDLE"] = "status_idle";
|
|
10
|
+
CASE_STATUS["RESOLVED"] = "status_resolved";
|
|
11
|
+
})(CASE_STATUS = exports.CASE_STATUS || (exports.CASE_STATUS = {}));
|
|
12
|
+
var CASE_RESOLUTION;
|
|
13
|
+
(function (CASE_RESOLUTION) {
|
|
14
|
+
CASE_RESOLUTION["OK"] = "result_ok";
|
|
15
|
+
CASE_RESOLUTION["NOK"] = "result_nok";
|
|
16
|
+
CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
|
|
17
|
+
CASE_RESOLUTION["BANNED"] = "result_banned";
|
|
18
|
+
})(CASE_RESOLUTION = exports.CASE_RESOLUTION || (exports.CASE_RESOLUTION = {}));
|
|
5
19
|
var PROVIDER;
|
|
6
20
|
(function (PROVIDER) {
|
|
7
21
|
PROVIDER["APPLE"] = "apple";
|
|
@@ -37,35 +51,4 @@ var INPUT;
|
|
|
37
51
|
INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
|
|
38
52
|
INPUT["WHATSAPP_CTA_URL_BUTTON"] = "whatsapp-cta-url-button";
|
|
39
53
|
})(INPUT = exports.INPUT || (exports.INPUT = {}));
|
|
40
|
-
var CASE_STATUS;
|
|
41
|
-
(function (CASE_STATUS) {
|
|
42
|
-
CASE_STATUS["WAITING"] = "status_waiting";
|
|
43
|
-
CASE_STATUS["ATTENDING"] = "status_attending";
|
|
44
|
-
CASE_STATUS["IDLE"] = "status_idle";
|
|
45
|
-
CASE_STATUS["RESOLVED"] = "status_resolved";
|
|
46
|
-
})(CASE_STATUS = exports.CASE_STATUS || (exports.CASE_STATUS = {}));
|
|
47
|
-
var CASE_RESOLUTION;
|
|
48
|
-
(function (CASE_RESOLUTION) {
|
|
49
|
-
CASE_RESOLUTION["OK"] = "result_ok";
|
|
50
|
-
CASE_RESOLUTION["NOK"] = "result_nok";
|
|
51
|
-
CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
|
|
52
|
-
CASE_RESOLUTION["BANNED"] = "result_banned";
|
|
53
|
-
})(CASE_RESOLUTION = exports.CASE_RESOLUTION || (exports.CASE_RESOLUTION = {}));
|
|
54
|
-
exports.Providers = Object.freeze({
|
|
55
|
-
Messaging: {
|
|
56
|
-
APPLE: 'apple',
|
|
57
|
-
FACEBOOK: 'facebook',
|
|
58
|
-
GENERIC: 'generic',
|
|
59
|
-
IMBEE: 'imbee',
|
|
60
|
-
INSTAGRAM: 'instagram',
|
|
61
|
-
INTERCOM: 'intercom',
|
|
62
|
-
SMOOCH_WEB: 'smooch_web',
|
|
63
|
-
SMOOCH: 'smooch',
|
|
64
|
-
TELEGRAM: 'telegram',
|
|
65
|
-
TWITTER: 'twitter',
|
|
66
|
-
WEBCHAT: 'webchat',
|
|
67
|
-
WECHAT: 'wechat',
|
|
68
|
-
WHATSAPP: 'whatsapp',
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
54
|
//# sourceMappingURL=legacy-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":";AAAA,wIAAwI;;;
|
|
1
|
+
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":";AAAA,wIAAwI;;;AAExI,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAQD,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAQD,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;AACvB,CAAC,EAbW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAanB;AAeD,IAAY,KAkBX;AAlBD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,8BAAqB,CAAA;IACrB,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,8BAAqB,CAAA;IACrB,8BAAqB,CAAA;IACrB,4BAAmB,CAAA;IACnB,yCAAgC,CAAA;IAChC,8BAAqB,CAAA;IACrB,0BAAiB,CAAA;IACjB,6CAAoC,CAAA;IACpC,+CAAsC,CAAA;IACtC,oBAAW,CAAA;IACX,iCAAwB,CAAA;IACxB,sDAA6C,CAAA;IAC7C,4DAAmD,CAAA;AACrD,CAAC,EAlBW,KAAK,GAAL,aAAK,KAAL,aAAK,QAkBhB"}
|
package/lib/cjs/plugins.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BotonicEvent, Input, PluginConfig, ResolvedPlugins, RoutePath, Session } from './models';
|
|
1
|
+
import { Input, PluginConfig, ResolvedPlugins, RoutePath, Session } from './models';
|
|
3
2
|
type PluginMode = 'pre' | 'post';
|
|
4
3
|
export declare function loadPlugins(plugins: PluginConfig<any>[]): ResolvedPlugins;
|
|
5
|
-
export declare function runPlugins(plugins: ResolvedPlugins, mode: PluginMode, input: Input, session: Session, lastRoutePath: RoutePath, response?: string | null
|
|
4
|
+
export declare function runPlugins(plugins: ResolvedPlugins, mode: PluginMode, input: Input, session: Session, lastRoutePath: RoutePath, response?: string | null): Promise<void>;
|
|
6
5
|
export {};
|
package/lib/cjs/plugins.js
CHANGED
|
@@ -21,13 +21,13 @@ function loadPlugins(plugins) {
|
|
|
21
21
|
return _plugins;
|
|
22
22
|
}
|
|
23
23
|
exports.loadPlugins = loadPlugins;
|
|
24
|
-
function runPlugins(plugins, mode, input, session, lastRoutePath, response = null
|
|
24
|
+
function runPlugins(plugins, mode, input, session, lastRoutePath, response = null) {
|
|
25
25
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
26
26
|
for (const key in plugins) {
|
|
27
27
|
const p = yield plugins[key];
|
|
28
28
|
try {
|
|
29
29
|
if (mode === 'pre' && p.pre) {
|
|
30
|
-
yield p.pre({ input, session, lastRoutePath,
|
|
30
|
+
yield p.pre({ input, session, lastRoutePath, plugins });
|
|
31
31
|
}
|
|
32
32
|
if (mode === 'post' && p.post) {
|
|
33
33
|
yield p.post({
|
|
@@ -35,8 +35,6 @@ function runPlugins(plugins, mode, input, session, lastRoutePath, response = nul
|
|
|
35
35
|
session,
|
|
36
36
|
lastRoutePath,
|
|
37
37
|
response,
|
|
38
|
-
messageEvents,
|
|
39
|
-
dataProvider,
|
|
40
38
|
plugins,
|
|
41
39
|
});
|
|
42
40
|
}
|
package/lib/cjs/plugins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":";;;;AAUA,SAAgB,WAAW,CAAC,OAA4B;IACtD,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAA;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAClC,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAC1D,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAA;QACvB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAA;QACpB,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAA;QAC7B,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;KACnD;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAhBD,kCAgBC;AAED,SAAsB,UAAU,CAC9B,OAAwB,EACxB,IAAgB,EAChB,KAAY,EACZ,OAAgB,EAChB,aAAwB,EACxB,WAA0B,IAAI;;QAE9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACzB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI;gBACF,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE;oBAC3B,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAA;iBACxD;gBACD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE;oBAC7B,MAAM,CAAC,CAAC,IAAI,CAAC;wBACX,KAAK;wBACL,OAAO;wBACP,aAAa;wBACb,QAAQ;wBACR,OAAO;qBACR,CAAC,CAAA;iBACH;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;aACf;SACF;IACH,CAAC;CAAA;AA3BD,gCA2BC"}
|
package/lib/cjs/utils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Session } from './models/legacy-types';
|
|
1
2
|
export declare const isNode: () => boolean;
|
|
2
3
|
export declare const isBrowser: () => boolean;
|
|
3
4
|
export declare const isMobile: (mobileBreakpoint?: number) => boolean;
|
|
@@ -8,3 +9,10 @@ export declare const params2queryString: (params: {
|
|
|
8
9
|
}) => string;
|
|
9
10
|
export declare const join: (...segments: string[]) => string;
|
|
10
11
|
export declare const dirname: (path: string) => string;
|
|
12
|
+
export declare function isDev(session: Session): boolean;
|
|
13
|
+
export declare function isWebchat(session: Session): boolean;
|
|
14
|
+
export declare function isWhatsapp(session: Session): boolean;
|
|
15
|
+
export declare function isTelegram(session: Session): boolean;
|
|
16
|
+
export declare function isFacebook(session: Session): boolean;
|
|
17
|
+
export declare function isInstagram(session: Session): boolean;
|
|
18
|
+
export declare function isTwitter(session: Session): boolean;
|
package/lib/cjs/utils.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.dirname = exports.join = exports.params2queryString = exports.cloneObject = exports.isFunction = exports.isMobile = exports.isBrowser = exports.isNode = void 0;
|
|
3
|
+
exports.isTwitter = exports.isInstagram = exports.isFacebook = exports.isTelegram = exports.isWhatsapp = exports.isWebchat = exports.isDev = exports.dirname = exports.join = exports.params2queryString = exports.cloneObject = exports.isFunction = exports.isMobile = exports.isBrowser = exports.isNode = void 0;
|
|
4
|
+
const legacy_types_1 = require("./models/legacy-types");
|
|
4
5
|
const isNode = () => {
|
|
5
6
|
// @ts-ignore
|
|
6
7
|
return typeof IS_NODE !== 'undefined'
|
|
@@ -82,4 +83,34 @@ exports.join = join;
|
|
|
82
83
|
// Trailing slashes are ignored. Leading slash is preserved.
|
|
83
84
|
const dirname = (path) => (0, exports.join)(path, '..');
|
|
84
85
|
exports.dirname = dirname;
|
|
86
|
+
// To check Provider in session
|
|
87
|
+
function isDev(session) {
|
|
88
|
+
return session.user.provider === legacy_types_1.PROVIDER.DEV;
|
|
89
|
+
}
|
|
90
|
+
exports.isDev = isDev;
|
|
91
|
+
function isWebchat(session) {
|
|
92
|
+
// When the provider is DEV should we return true because it is a webchat?
|
|
93
|
+
return session.user.provider === legacy_types_1.PROVIDER.WEBCHAT;
|
|
94
|
+
}
|
|
95
|
+
exports.isWebchat = isWebchat;
|
|
96
|
+
function isWhatsapp(session) {
|
|
97
|
+
return session.user.provider === legacy_types_1.PROVIDER.WHATSAPP;
|
|
98
|
+
}
|
|
99
|
+
exports.isWhatsapp = isWhatsapp;
|
|
100
|
+
function isTelegram(session) {
|
|
101
|
+
return session.user.provider === legacy_types_1.PROVIDER.TELEGRAM;
|
|
102
|
+
}
|
|
103
|
+
exports.isTelegram = isTelegram;
|
|
104
|
+
function isFacebook(session) {
|
|
105
|
+
return session.user.provider === legacy_types_1.PROVIDER.FACEBOOK;
|
|
106
|
+
}
|
|
107
|
+
exports.isFacebook = isFacebook;
|
|
108
|
+
function isInstagram(session) {
|
|
109
|
+
return session.user.provider === legacy_types_1.PROVIDER.INSTAGRAM;
|
|
110
|
+
}
|
|
111
|
+
exports.isInstagram = isInstagram;
|
|
112
|
+
function isTwitter(session) {
|
|
113
|
+
return session.user.provider === legacy_types_1.PROVIDER.TWITTER;
|
|
114
|
+
}
|
|
115
|
+
exports.isTwitter = isTwitter;
|
|
85
116
|
//# sourceMappingURL=utils.js.map
|