@botonic/core 0.26.0 → 0.26.1-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 +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 +42 -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 +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 +42 -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 +1 -1
- package/src/index.ts +0 -3
- package/src/models/legacy-types.ts +76 -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/esm/handoff.d.ts
CHANGED
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
export * from './constants';
|
|
2
2
|
export * from './core-bot';
|
|
3
|
-
// TODO: Review @botonic/react's tree-shaking to remove dataProvider from bundle
|
|
4
|
-
// export * from './data-provider'
|
|
5
3
|
export * from './debug';
|
|
6
4
|
export * from './handoff';
|
|
7
5
|
export * from './hubtype-service';
|
|
8
6
|
export * from './i18n';
|
|
9
7
|
export * from './models';
|
|
10
|
-
export * from './output-parser';
|
|
11
8
|
export * from './plugins';
|
|
12
9
|
export * from './routing';
|
|
13
10
|
export * from './utils';
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
|
|
@@ -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,21 @@ 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
|
+
}
|
|
99
|
+
export interface Campaign {
|
|
100
|
+
id: string;
|
|
101
|
+
name: string;
|
|
102
|
+
status: string;
|
|
103
|
+
start_date: string;
|
|
104
|
+
end_date: string;
|
|
105
|
+
bot_path: string;
|
|
106
|
+
template_name: string;
|
|
95
107
|
}
|
|
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
108
|
export interface SessionUser {
|
|
98
109
|
id: string;
|
|
99
110
|
username?: string;
|
|
@@ -103,6 +114,11 @@ export interface SessionUser {
|
|
|
103
114
|
imp_id?: string;
|
|
104
115
|
provider_id?: string;
|
|
105
116
|
}
|
|
117
|
+
export interface HubtypeCaseContactReason {
|
|
118
|
+
id: string;
|
|
119
|
+
name: string;
|
|
120
|
+
project_id: string;
|
|
121
|
+
}
|
|
106
122
|
export interface Session {
|
|
107
123
|
bot: {
|
|
108
124
|
id: string;
|
|
@@ -110,15 +126,21 @@ export interface Session {
|
|
|
110
126
|
};
|
|
111
127
|
__locale?: string;
|
|
112
128
|
__retries: number;
|
|
129
|
+
_access_token: string;
|
|
130
|
+
_hubtype_api: string;
|
|
113
131
|
is_first_interaction: boolean;
|
|
114
132
|
last_session?: any;
|
|
115
|
-
organization: string;
|
|
116
133
|
organization_id: string;
|
|
134
|
+
organization: string;
|
|
117
135
|
user: SessionUser;
|
|
136
|
+
_botonic_action?: string;
|
|
118
137
|
_hubtype_case_status?: CaseStatusType;
|
|
138
|
+
_hubtype_case_id?: string;
|
|
119
139
|
_hubtype_case_typification?: string;
|
|
140
|
+
_hubtype_case_contact_reasons?: HubtypeCaseContactReason[];
|
|
120
141
|
_shadowing?: boolean;
|
|
121
|
-
|
|
142
|
+
external?: any;
|
|
143
|
+
zendesk_ticket_id?: string;
|
|
122
144
|
}
|
|
123
145
|
export type InputMatcher = (input: Input) => boolean;
|
|
124
146
|
export type ParamsMatcher = {
|
|
@@ -153,7 +175,6 @@ export interface BotRequest {
|
|
|
153
175
|
input: Input;
|
|
154
176
|
lastRoutePath: RoutePath;
|
|
155
177
|
session: Session;
|
|
156
|
-
dataProvider?: DataProvider;
|
|
157
178
|
}
|
|
158
179
|
/** The response of the bot for the triggered actions, which can be
|
|
159
180
|
* the one matched by the routes, the default action and the retry actions.
|
|
@@ -161,7 +182,6 @@ export interface BotRequest {
|
|
|
161
182
|
* */
|
|
162
183
|
export interface BotResponse extends BotRequest {
|
|
163
184
|
response: any;
|
|
164
|
-
messageEvents: Partial<BotonicEvent>[] | null;
|
|
165
185
|
}
|
|
166
186
|
export interface PluginPreRequest extends BotRequest {
|
|
167
187
|
plugins: ResolvedPlugins;
|
|
@@ -176,23 +196,6 @@ export interface Plugin {
|
|
|
176
196
|
export interface Params {
|
|
177
197
|
[key: string]: any;
|
|
178
198
|
}
|
|
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
199
|
export type Nullable<T> = T | null;
|
|
197
200
|
export type Action = Nullable<() => any>;
|
|
198
201
|
export type RoutePath = Nullable<string>;
|
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
// 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.
|
|
2
|
+
export var CASE_STATUS;
|
|
3
|
+
(function (CASE_STATUS) {
|
|
4
|
+
CASE_STATUS["WAITING"] = "status_waiting";
|
|
5
|
+
CASE_STATUS["ATTENDING"] = "status_attending";
|
|
6
|
+
CASE_STATUS["IDLE"] = "status_idle";
|
|
7
|
+
CASE_STATUS["RESOLVED"] = "status_resolved";
|
|
8
|
+
})(CASE_STATUS || (CASE_STATUS = {}));
|
|
9
|
+
export var CASE_RESOLUTION;
|
|
10
|
+
(function (CASE_RESOLUTION) {
|
|
11
|
+
CASE_RESOLUTION["OK"] = "result_ok";
|
|
12
|
+
CASE_RESOLUTION["NOK"] = "result_nok";
|
|
13
|
+
CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
|
|
14
|
+
CASE_RESOLUTION["BANNED"] = "result_banned";
|
|
15
|
+
})(CASE_RESOLUTION || (CASE_RESOLUTION = {}));
|
|
2
16
|
export var PROVIDER;
|
|
3
17
|
(function (PROVIDER) {
|
|
4
18
|
PROVIDER["APPLE"] = "apple";
|
|
@@ -34,35 +48,4 @@ export var INPUT;
|
|
|
34
48
|
INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
|
|
35
49
|
INPUT["WHATSAPP_CTA_URL_BUTTON"] = "whatsapp-cta-url-button";
|
|
36
50
|
})(INPUT || (INPUT = {}));
|
|
37
|
-
export var CASE_STATUS;
|
|
38
|
-
(function (CASE_STATUS) {
|
|
39
|
-
CASE_STATUS["WAITING"] = "status_waiting";
|
|
40
|
-
CASE_STATUS["ATTENDING"] = "status_attending";
|
|
41
|
-
CASE_STATUS["IDLE"] = "status_idle";
|
|
42
|
-
CASE_STATUS["RESOLVED"] = "status_resolved";
|
|
43
|
-
})(CASE_STATUS || (CASE_STATUS = {}));
|
|
44
|
-
export var CASE_RESOLUTION;
|
|
45
|
-
(function (CASE_RESOLUTION) {
|
|
46
|
-
CASE_RESOLUTION["OK"] = "result_ok";
|
|
47
|
-
CASE_RESOLUTION["NOK"] = "result_nok";
|
|
48
|
-
CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
|
|
49
|
-
CASE_RESOLUTION["BANNED"] = "result_banned";
|
|
50
|
-
})(CASE_RESOLUTION || (CASE_RESOLUTION = {}));
|
|
51
|
-
export const Providers = Object.freeze({
|
|
52
|
-
Messaging: {
|
|
53
|
-
APPLE: 'apple',
|
|
54
|
-
FACEBOOK: 'facebook',
|
|
55
|
-
GENERIC: 'generic',
|
|
56
|
-
IMBEE: 'imbee',
|
|
57
|
-
INSTAGRAM: 'instagram',
|
|
58
|
-
INTERCOM: 'intercom',
|
|
59
|
-
SMOOCH_WEB: 'smooch_web',
|
|
60
|
-
SMOOCH: 'smooch',
|
|
61
|
-
TELEGRAM: 'telegram',
|
|
62
|
-
TWITTER: 'twitter',
|
|
63
|
-
WEBCHAT: 'webchat',
|
|
64
|
-
WECHAT: 'wechat',
|
|
65
|
-
WHATSAPP: 'whatsapp',
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
51
|
//# 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,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAQD,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAQD,MAAM,CAAN,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,KAAR,QAAQ,QAanB;AAeD,MAAM,CAAN,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,KAAL,KAAK,QAkBhB"}
|
package/lib/esm/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/esm/plugins.js
CHANGED
|
@@ -17,13 +17,13 @@ export function loadPlugins(plugins) {
|
|
|
17
17
|
}
|
|
18
18
|
return _plugins;
|
|
19
19
|
}
|
|
20
|
-
export function runPlugins(plugins, mode, input, session, lastRoutePath, response = null
|
|
20
|
+
export function runPlugins(plugins, mode, input, session, lastRoutePath, response = null) {
|
|
21
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
22
|
for (const key in plugins) {
|
|
23
23
|
const p = yield plugins[key];
|
|
24
24
|
try {
|
|
25
25
|
if (mode === 'pre' && p.pre) {
|
|
26
|
-
yield p.pre({ input, session, lastRoutePath,
|
|
26
|
+
yield p.pre({ input, session, lastRoutePath, plugins });
|
|
27
27
|
}
|
|
28
28
|
if (mode === 'post' && p.post) {
|
|
29
29
|
yield p.post({
|
|
@@ -31,8 +31,6 @@ export function runPlugins(plugins, mode, input, session, lastRoutePath, respons
|
|
|
31
31
|
session,
|
|
32
32
|
lastRoutePath,
|
|
33
33
|
response,
|
|
34
|
-
messageEvents,
|
|
35
|
-
dataProvider,
|
|
36
34
|
plugins,
|
|
37
35
|
});
|
|
38
36
|
}
|
package/lib/esm/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,MAAM,UAAU,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;AAED,MAAM,UAAgB,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"}
|
package/lib/esm/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/esm/utils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PROVIDER } from './models/legacy-types';
|
|
1
2
|
export const isNode = () => {
|
|
2
3
|
// @ts-ignore
|
|
3
4
|
return typeof IS_NODE !== 'undefined'
|
|
@@ -71,4 +72,27 @@ export const join = (...segments) => {
|
|
|
71
72
|
// A simple function to get the dirname of a path
|
|
72
73
|
// Trailing slashes are ignored. Leading slash is preserved.
|
|
73
74
|
export const dirname = (path) => join(path, '..');
|
|
75
|
+
// To check Provider in session
|
|
76
|
+
export function isDev(session) {
|
|
77
|
+
return session.user.provider === PROVIDER.DEV;
|
|
78
|
+
}
|
|
79
|
+
export function isWebchat(session) {
|
|
80
|
+
// When the provider is DEV should we return true because it is a webchat?
|
|
81
|
+
return session.user.provider === PROVIDER.WEBCHAT;
|
|
82
|
+
}
|
|
83
|
+
export function isWhatsapp(session) {
|
|
84
|
+
return session.user.provider === PROVIDER.WHATSAPP;
|
|
85
|
+
}
|
|
86
|
+
export function isTelegram(session) {
|
|
87
|
+
return session.user.provider === PROVIDER.TELEGRAM;
|
|
88
|
+
}
|
|
89
|
+
export function isFacebook(session) {
|
|
90
|
+
return session.user.provider === PROVIDER.FACEBOOK;
|
|
91
|
+
}
|
|
92
|
+
export function isInstagram(session) {
|
|
93
|
+
return session.user.provider === PROVIDER.INSTAGRAM;
|
|
94
|
+
}
|
|
95
|
+
export function isTwitter(session) {
|
|
96
|
+
return session.user.provider === PROVIDER.TWITTER;
|
|
97
|
+
}
|
|
74
98
|
//# sourceMappingURL=utils.js.map
|
package/lib/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/core",
|
|
3
|
-
"version": "0.26.0",
|
|
3
|
+
"version": "0.26.1-alpha.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Build Chatbots using React",
|
|
6
6
|
"main": "./lib/cjs/index.js",
|
|
@@ -30,13 +30,8 @@
|
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@babel/plugin-transform-runtime": "^7.23.9",
|
|
33
|
-
"aws-sdk": "^2.1404.0",
|
|
34
33
|
"axios": "^1.6.8",
|
|
35
34
|
"decode": "^0.3.0",
|
|
36
|
-
"dynamodb-toolbox": "^0.3.4",
|
|
37
|
-
"fast-xml-parser": "3.19.0",
|
|
38
|
-
"html-entities": "^2.4.0",
|
|
39
|
-
"node-json-db": "^1.6.0",
|
|
40
35
|
"pako": "^2.1.0",
|
|
41
36
|
"process": "^0.11.10",
|
|
42
37
|
"pusher-js": "^5.1.1",
|
package/src/core-bot.ts
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
import { ulid } from 'ulid'
|
|
2
|
-
|
|
3
1
|
import { Inspector } from './debug'
|
|
4
2
|
import { getString } from './i18n'
|
|
5
3
|
import {
|
|
6
|
-
BotonicEvent,
|
|
7
4
|
BotRequest,
|
|
8
5
|
BotResponse,
|
|
9
6
|
INPUT,
|
|
10
7
|
Locales,
|
|
11
|
-
MessageEventAck,
|
|
12
|
-
MessageEventFrom,
|
|
13
8
|
ResolvedPlugins,
|
|
14
9
|
Route,
|
|
15
10
|
Routes,
|
|
16
11
|
Session,
|
|
17
12
|
} from './models'
|
|
18
|
-
import { BotonicOutputParser } from './output-parser'
|
|
19
13
|
import { loadPlugins, runPlugins } from './plugins'
|
|
20
14
|
import { getComputedRoutes, Router } from './routing'
|
|
21
15
|
|
|
@@ -44,7 +38,6 @@ export class CoreBot {
|
|
|
44
38
|
router: Router | null
|
|
45
39
|
routes: Routes
|
|
46
40
|
theme?: any
|
|
47
|
-
botonicOutputParser = new BotonicOutputParser()
|
|
48
41
|
|
|
49
42
|
constructor({
|
|
50
43
|
// TODO: Receives dataProvider
|
|
@@ -96,7 +89,6 @@ export class CoreBot {
|
|
|
96
89
|
input,
|
|
97
90
|
session,
|
|
98
91
|
lastRoutePath,
|
|
99
|
-
dataProvider,
|
|
100
92
|
}: BotRequest): Promise<BotResponse> {
|
|
101
93
|
session = session || {}
|
|
102
94
|
if (!session.__locale) session.__locale = 'en'
|
|
@@ -106,27 +98,10 @@ export class CoreBot {
|
|
|
106
98
|
input,
|
|
107
99
|
session,
|
|
108
100
|
lastRoutePath,
|
|
109
|
-
dataProvider,
|
|
110
101
|
response: [],
|
|
111
|
-
messageEvents: null,
|
|
112
102
|
}
|
|
113
103
|
}
|
|
114
104
|
|
|
115
|
-
const parsedUserEvent = this.botonicOutputParser.parseFromUserInput(input)
|
|
116
|
-
const userId = session.user.id
|
|
117
|
-
if (dataProvider) {
|
|
118
|
-
// TODO: Next iterations. Review cycle of commited events to DB when messages change their ACK
|
|
119
|
-
// @ts-ignore
|
|
120
|
-
const userEvent = await dataProvider.saveEvent({
|
|
121
|
-
...parsedUserEvent,
|
|
122
|
-
userId,
|
|
123
|
-
eventId: ulid(),
|
|
124
|
-
createdAt: new Date().toISOString(),
|
|
125
|
-
from: MessageEventFrom.USER,
|
|
126
|
-
ack: MessageEventAck.RECEIVED,
|
|
127
|
-
})
|
|
128
|
-
}
|
|
129
|
-
|
|
130
105
|
if (this.plugins) {
|
|
131
106
|
await runPlugins(
|
|
132
107
|
this.plugins,
|
|
@@ -134,9 +109,7 @@ export class CoreBot {
|
|
|
134
109
|
input,
|
|
135
110
|
session,
|
|
136
111
|
lastRoutePath,
|
|
137
|
-
undefined
|
|
138
|
-
undefined,
|
|
139
|
-
dataProvider
|
|
112
|
+
undefined
|
|
140
113
|
)
|
|
141
114
|
}
|
|
142
115
|
|
|
@@ -169,20 +142,12 @@ export class CoreBot {
|
|
|
169
142
|
defaultTyping: this.defaultTyping,
|
|
170
143
|
defaultDelay: this.defaultDelay,
|
|
171
144
|
lastRoutePath,
|
|
172
|
-
dataProvider,
|
|
173
145
|
}
|
|
174
146
|
|
|
175
147
|
const response = await this.renderer({
|
|
176
148
|
request,
|
|
177
149
|
actions: [output.fallbackAction, output.action, output.emptyAction],
|
|
178
150
|
})
|
|
179
|
-
let messageEvents: Partial<BotonicEvent>[] = []
|
|
180
|
-
try {
|
|
181
|
-
messageEvents = this.botonicOutputParser.xmlToMessageEvents(response)
|
|
182
|
-
} catch (e) {
|
|
183
|
-
// Disabling Botonic 1.0 error log for LTS version:
|
|
184
|
-
// console.error(e)
|
|
185
|
-
}
|
|
186
151
|
|
|
187
152
|
lastRoutePath = output.lastRoutePath
|
|
188
153
|
if (this.plugins) {
|
|
@@ -192,35 +157,16 @@ export class CoreBot {
|
|
|
192
157
|
input,
|
|
193
158
|
session,
|
|
194
159
|
lastRoutePath,
|
|
195
|
-
response
|
|
196
|
-
messageEvents,
|
|
197
|
-
dataProvider
|
|
160
|
+
response
|
|
198
161
|
)
|
|
199
162
|
}
|
|
200
163
|
|
|
201
|
-
if (dataProvider) {
|
|
202
|
-
// TODO: save bot responses to db and update user with new session and new params
|
|
203
|
-
for (const messageEvent of messageEvents) {
|
|
204
|
-
// @ts-ignore
|
|
205
|
-
const botEvent = await dataProvider.saveEvent({
|
|
206
|
-
...messageEvent,
|
|
207
|
-
userId,
|
|
208
|
-
eventId: ulid(),
|
|
209
|
-
createdAt: new Date().toISOString(),
|
|
210
|
-
from: MessageEventFrom.BOT,
|
|
211
|
-
ack: MessageEventAck.SENT,
|
|
212
|
-
})
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
|
|
216
164
|
session.is_first_interaction = false
|
|
217
165
|
return {
|
|
218
166
|
input,
|
|
219
167
|
response,
|
|
220
|
-
messageEvents,
|
|
221
168
|
session,
|
|
222
169
|
lastRoutePath,
|
|
223
|
-
dataProvider,
|
|
224
170
|
}
|
|
225
171
|
}
|
|
226
172
|
}
|
package/src/handoff.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
export * from './constants'
|
|
2
2
|
export * from './core-bot'
|
|
3
|
-
// TODO: Review @botonic/react's tree-shaking to remove dataProvider from bundle
|
|
4
|
-
// export * from './data-provider'
|
|
5
3
|
export * from './debug'
|
|
6
4
|
export * from './handoff'
|
|
7
5
|
export * from './hubtype-service'
|
|
8
6
|
export * from './i18n'
|
|
9
7
|
export * from './models'
|
|
10
|
-
export * from './output-parser'
|
|
11
8
|
export * from './plugins'
|
|
12
9
|
export * from './routing'
|
|
13
10
|
export * from './utils'
|