@botonic/core 0.26.0-beta.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 +44 -40
- package/lib/cjs/models/legacy-types.js +16 -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 +44 -40
- package/lib/esm/models/legacy-types.js +15 -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 +77 -75
- 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",
|
|
@@ -32,19 +43,8 @@ export declare enum INPUT {
|
|
|
32
43
|
WHATSAPP_TEMPLATE = "whatsapptemplate",
|
|
33
44
|
RAW = "raw",
|
|
34
45
|
CHAT_EVENT = "chatevent",
|
|
35
|
-
WHATSAPP_BUTTON_LIST = "whatsapp-button-list"
|
|
36
|
-
|
|
37
|
-
export declare enum CASE_STATUS {
|
|
38
|
-
WAITING = "status_waiting",
|
|
39
|
-
ATTENDING = "status_attending",
|
|
40
|
-
IDLE = "status_idle",
|
|
41
|
-
RESOLVED = "status_resolved"
|
|
42
|
-
}
|
|
43
|
-
export declare enum CASE_RESOLUTION {
|
|
44
|
-
OK = "result_ok",
|
|
45
|
-
NOK = "result_nok",
|
|
46
|
-
NOT_SOLVED = "result_not_solved",
|
|
47
|
-
BANNED = "result_banned"
|
|
46
|
+
WHATSAPP_BUTTON_LIST = "whatsapp-button-list",
|
|
47
|
+
WHATSAPP_CTA_URL_BUTTON = "whatsapp-cta-url-button"
|
|
48
48
|
}
|
|
49
49
|
export interface Locales {
|
|
50
50
|
[id: string]: string | string[] | Locales;
|
|
@@ -65,7 +65,7 @@ export interface ResolvedPlugin extends Plugin {
|
|
|
65
65
|
config: any;
|
|
66
66
|
}
|
|
67
67
|
export type ResolvedPlugins = Record<string, ResolvedPlugin>;
|
|
68
|
-
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;
|
|
69
69
|
export interface IntentResult {
|
|
70
70
|
intent: string;
|
|
71
71
|
confidence: number;
|
|
@@ -90,9 +90,21 @@ export interface Input extends Partial<NluResult> {
|
|
|
90
90
|
data?: string;
|
|
91
91
|
path?: string;
|
|
92
92
|
payload?: string;
|
|
93
|
+
referral?: string;
|
|
93
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;
|
|
94
107
|
}
|
|
95
|
-
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;
|
|
96
108
|
export interface SessionUser {
|
|
97
109
|
id: string;
|
|
98
110
|
username?: string;
|
|
@@ -102,6 +114,11 @@ export interface SessionUser {
|
|
|
102
114
|
imp_id?: string;
|
|
103
115
|
provider_id?: string;
|
|
104
116
|
}
|
|
117
|
+
export interface HubtypeCaseContactReason {
|
|
118
|
+
id: string;
|
|
119
|
+
name: string;
|
|
120
|
+
project_id: string;
|
|
121
|
+
}
|
|
105
122
|
export interface Session {
|
|
106
123
|
bot: {
|
|
107
124
|
id: string;
|
|
@@ -109,15 +126,21 @@ export interface Session {
|
|
|
109
126
|
};
|
|
110
127
|
__locale?: string;
|
|
111
128
|
__retries: number;
|
|
129
|
+
_access_token: string;
|
|
130
|
+
_hubtype_api: string;
|
|
112
131
|
is_first_interaction: boolean;
|
|
113
132
|
last_session?: any;
|
|
114
|
-
organization: string;
|
|
115
133
|
organization_id: string;
|
|
134
|
+
organization: string;
|
|
116
135
|
user: SessionUser;
|
|
136
|
+
_botonic_action?: string;
|
|
117
137
|
_hubtype_case_status?: CaseStatusType;
|
|
138
|
+
_hubtype_case_id?: string;
|
|
118
139
|
_hubtype_case_typification?: string;
|
|
140
|
+
_hubtype_case_contact_reasons?: HubtypeCaseContactReason[];
|
|
119
141
|
_shadowing?: boolean;
|
|
120
|
-
|
|
142
|
+
external?: any;
|
|
143
|
+
zendesk_ticket_id?: string;
|
|
121
144
|
}
|
|
122
145
|
export type InputMatcher = (input: Input) => boolean;
|
|
123
146
|
export type ParamsMatcher = {
|
|
@@ -152,7 +175,6 @@ export interface BotRequest {
|
|
|
152
175
|
input: Input;
|
|
153
176
|
lastRoutePath: RoutePath;
|
|
154
177
|
session: Session;
|
|
155
|
-
dataProvider?: DataProvider;
|
|
156
178
|
}
|
|
157
179
|
/** The response of the bot for the triggered actions, which can be
|
|
158
180
|
* the one matched by the routes, the default action and the retry actions.
|
|
@@ -160,7 +182,6 @@ export interface BotRequest {
|
|
|
160
182
|
* */
|
|
161
183
|
export interface BotResponse extends BotRequest {
|
|
162
184
|
response: any;
|
|
163
|
-
messageEvents: Partial<BotonicEvent>[] | null;
|
|
164
185
|
}
|
|
165
186
|
export interface PluginPreRequest extends BotRequest {
|
|
166
187
|
plugins: ResolvedPlugins;
|
|
@@ -175,23 +196,6 @@ export interface Plugin {
|
|
|
175
196
|
export interface Params {
|
|
176
197
|
[key: string]: any;
|
|
177
198
|
}
|
|
178
|
-
export declare const Providers: Readonly<{
|
|
179
|
-
Messaging: {
|
|
180
|
-
APPLE: string;
|
|
181
|
-
FACEBOOK: string;
|
|
182
|
-
GENERIC: string;
|
|
183
|
-
IMBEE: string;
|
|
184
|
-
INSTAGRAM: string;
|
|
185
|
-
INTERCOM: string;
|
|
186
|
-
SMOOCH_WEB: string;
|
|
187
|
-
SMOOCH: string;
|
|
188
|
-
TELEGRAM: string;
|
|
189
|
-
TWITTER: string;
|
|
190
|
-
WEBCHAT: string;
|
|
191
|
-
WECHAT: string;
|
|
192
|
-
WHATSAPP: string;
|
|
193
|
-
};
|
|
194
|
-
}>;
|
|
195
199
|
export type Nullable<T> = T | null;
|
|
196
200
|
export type Action = Nullable<() => any>;
|
|
197
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";
|
|
@@ -32,36 +46,6 @@ export var INPUT;
|
|
|
32
46
|
INPUT["RAW"] = "raw";
|
|
33
47
|
INPUT["CHAT_EVENT"] = "chatevent";
|
|
34
48
|
INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
|
|
49
|
+
INPUT["WHATSAPP_CTA_URL_BUTTON"] = "whatsapp-cta-url-button";
|
|
35
50
|
})(INPUT || (INPUT = {}));
|
|
36
|
-
export var CASE_STATUS;
|
|
37
|
-
(function (CASE_STATUS) {
|
|
38
|
-
CASE_STATUS["WAITING"] = "status_waiting";
|
|
39
|
-
CASE_STATUS["ATTENDING"] = "status_attending";
|
|
40
|
-
CASE_STATUS["IDLE"] = "status_idle";
|
|
41
|
-
CASE_STATUS["RESOLVED"] = "status_resolved";
|
|
42
|
-
})(CASE_STATUS || (CASE_STATUS = {}));
|
|
43
|
-
export var CASE_RESOLUTION;
|
|
44
|
-
(function (CASE_RESOLUTION) {
|
|
45
|
-
CASE_RESOLUTION["OK"] = "result_ok";
|
|
46
|
-
CASE_RESOLUTION["NOK"] = "result_nok";
|
|
47
|
-
CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
|
|
48
|
-
CASE_RESOLUTION["BANNED"] = "result_banned";
|
|
49
|
-
})(CASE_RESOLUTION || (CASE_RESOLUTION = {}));
|
|
50
|
-
export const Providers = Object.freeze({
|
|
51
|
-
Messaging: {
|
|
52
|
-
APPLE: 'apple',
|
|
53
|
-
FACEBOOK: 'facebook',
|
|
54
|
-
GENERIC: 'generic',
|
|
55
|
-
IMBEE: 'imbee',
|
|
56
|
-
INSTAGRAM: 'instagram',
|
|
57
|
-
INTERCOM: 'intercom',
|
|
58
|
-
SMOOCH_WEB: 'smooch_web',
|
|
59
|
-
SMOOCH: 'smooch',
|
|
60
|
-
TELEGRAM: 'telegram',
|
|
61
|
-
TWITTER: 'twitter',
|
|
62
|
-
WEBCHAT: 'webchat',
|
|
63
|
-
WECHAT: 'wechat',
|
|
64
|
-
WHATSAPP: 'whatsapp',
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
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.
|
|
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'
|