@botonic/core 0.22.0-alpha.0 → 0.22.0-alpha.2
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.js +10 -0
- package/lib/cjs/core-bot.js.map +1 -1
- package/lib/cjs/handoff.d.ts +1 -1
- package/lib/cjs/models/events/botonic-event.d.ts +1 -1
- package/lib/cjs/models/events/message/buttons.d.ts +1 -1
- package/lib/cjs/models/events/message/message-event.d.ts +2 -1
- package/lib/cjs/models/events/message/message-event.js +1 -0
- package/lib/cjs/models/events/message/message-event.js.map +1 -1
- package/lib/cjs/models/legacy-types.d.ts +21 -20
- package/lib/cjs/models/legacy-types.js +1 -0
- package/lib/cjs/models/legacy-types.js.map +1 -1
- package/lib/cjs/output-parser/parsers.d.ts +1 -1
- package/lib/cjs/plugins.d.ts +1 -1
- package/lib/esm/core-bot.js +11 -1
- package/lib/esm/core-bot.js.map +1 -1
- package/lib/esm/handoff.d.ts +1 -1
- package/lib/esm/models/events/botonic-event.d.ts +1 -1
- package/lib/esm/models/events/message/buttons.d.ts +1 -1
- package/lib/esm/models/events/message/message-event.d.ts +2 -1
- package/lib/esm/models/events/message/message-event.js +1 -0
- package/lib/esm/models/events/message/message-event.js.map +1 -1
- package/lib/esm/models/legacy-types.d.ts +21 -20
- package/lib/esm/models/legacy-types.js +1 -0
- package/lib/esm/models/legacy-types.js.map +1 -1
- package/lib/esm/output-parser/parsers.d.ts +1 -1
- package/lib/esm/plugins.d.ts +1 -1
- package/package.json +2 -2
- package/src/core-bot.ts +12 -0
- package/src/models/events/message/message-event.ts +1 -0
- package/src/models/legacy-types.ts +3 -0
package/lib/cjs/core-bot.js
CHANGED
|
@@ -44,6 +44,16 @@ class CoreBot {
|
|
|
44
44
|
session = session || {};
|
|
45
45
|
if (!session.__locale)
|
|
46
46
|
session.__locale = 'en';
|
|
47
|
+
if (input.type === models_1.INPUT.CHAT_EVENT) {
|
|
48
|
+
return {
|
|
49
|
+
input,
|
|
50
|
+
session,
|
|
51
|
+
lastRoutePath,
|
|
52
|
+
dataProvider,
|
|
53
|
+
response: [],
|
|
54
|
+
messageEvents: null,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
47
57
|
const parsedUserEvent = this.botonicOutputParser.parseFromUserInput(input);
|
|
48
58
|
const userId = session.user.id;
|
|
49
59
|
if (dataProvider) {
|
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,+BAA2B;AAE3B,mCAAmC;AACnC,iCAAkC;AAClC,
|
|
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
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ConnectionEvent } from './connections';
|
|
2
2
|
import { AudioMessageEvent, CarouselMessageEvent, CustomMessageEvent, DocumentMessageEvent, FormMessageEvent, ImageMessageEvent, LocationMessageEvent, PostbackMessageEvent, TextMessageEvent, VideoMessageEvent } from './message';
|
|
3
|
-
export type BotonicEvent = TextMessageEvent | PostbackMessageEvent | AudioMessageEvent | DocumentMessageEvent | ImageMessageEvent | VideoMessageEvent | LocationMessageEvent | CarouselMessageEvent | CustomMessageEvent | ConnectionEvent | FormMessageEvent;
|
|
3
|
+
export declare type BotonicEvent = TextMessageEvent | PostbackMessageEvent | AudioMessageEvent | DocumentMessageEvent | ImageMessageEvent | VideoMessageEvent | LocationMessageEvent | CarouselMessageEvent | CustomMessageEvent | ConnectionEvent | FormMessageEvent;
|
|
@@ -12,7 +12,7 @@ export interface UrlButton extends BaseButton {
|
|
|
12
12
|
export interface PayloadButton extends BaseButton {
|
|
13
13
|
payload: string;
|
|
14
14
|
}
|
|
15
|
-
export type Button = PayloadButton | UrlButton | WebviewButton;
|
|
15
|
+
export declare type Button = PayloadButton | UrlButton | WebviewButton;
|
|
16
16
|
export interface WithButtons {
|
|
17
17
|
buttons?: Button[];
|
|
18
18
|
}
|
|
@@ -15,6 +15,7 @@ var MessageEventTypes;
|
|
|
15
15
|
MessageEventTypes["VIDEO"] = "video";
|
|
16
16
|
MessageEventTypes["MISSED"] = "missed";
|
|
17
17
|
MessageEventTypes["FORM"] = "form";
|
|
18
|
+
MessageEventTypes["CHAT_EVENT"] = "chatevent";
|
|
18
19
|
/**
|
|
19
20
|
* TODO: buttonmessage?, webchatsettings, whatsapp template
|
|
20
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-event.js","sourceRoot":"","sources":["../../../../../src/models/events/message/message-event.ts"],"names":[],"mappings":";;;AAEA,IAAY,
|
|
1
|
+
{"version":3,"file":"message-event.js","sourceRoot":"","sources":["../../../../../src/models/events/message/message-event.ts"],"names":[],"mappings":";;;AAEA,IAAY,iBAiBX;AAjBD,WAAY,iBAAiB;IAC3B,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,sCAAiB,CAAA;IACjB,kCAAa,CAAA;IACb,6CAAwB,CAAA;IACxB;;OAEG;AACL,CAAC,EAjBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAiB5B;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,gCAAa,CAAA;AACf,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,+BAAW,CAAA;IACX,iCAAa,CAAA;AACf,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DataProvider } from '../data-provider';
|
|
2
2
|
import { BotonicEvent } from './events';
|
|
3
|
-
export type CaseStatusType = typeof CASE_STATUS.ATTENDING | typeof CASE_STATUS.IDLE | typeof CASE_STATUS.RESOLVED | typeof CASE_STATUS.WAITING;
|
|
4
|
-
export type CaseResolution = typeof CASE_RESOLUTION.BANNED | typeof CASE_RESOLUTION.NOK | typeof CASE_RESOLUTION.NOT_SOLVED | typeof CASE_RESOLUTION.OK;
|
|
3
|
+
export declare type CaseStatusType = typeof CASE_STATUS.ATTENDING | typeof CASE_STATUS.IDLE | typeof CASE_STATUS.RESOLVED | typeof CASE_STATUS.WAITING;
|
|
4
|
+
export declare type CaseResolution = typeof CASE_RESOLUTION.BANNED | typeof CASE_RESOLUTION.NOK | typeof CASE_RESOLUTION.NOT_SOLVED | typeof CASE_RESOLUTION.OK;
|
|
5
5
|
export declare enum PROVIDER {
|
|
6
6
|
APPLE = "apple",
|
|
7
7
|
DEV = "dev",
|
|
@@ -31,7 +31,8 @@ export declare enum INPUT {
|
|
|
31
31
|
WEBCHAT_SETTINGS = "webchatsettings",
|
|
32
32
|
WHATSAPP_TEMPLATE = "whatsapptemplate",
|
|
33
33
|
RAW = "raw",
|
|
34
|
-
CHAT_EVENT = "chatevent"
|
|
34
|
+
CHAT_EVENT = "chatevent",
|
|
35
|
+
WHATSAPP_BUTTON_LIST = "whatsapp-button-list"
|
|
35
36
|
}
|
|
36
37
|
export declare enum CASE_STATUS {
|
|
37
38
|
WAITING = "status_waiting",
|
|
@@ -63,8 +64,8 @@ export interface ResolvedPlugin extends Plugin {
|
|
|
63
64
|
name: string;
|
|
64
65
|
config: any;
|
|
65
66
|
}
|
|
66
|
-
export type ResolvedPlugins = Record<string, ResolvedPlugin>;
|
|
67
|
-
export type InputType = typeof INPUT.AUDIO | typeof INPUT.BUTTON_MESSAGE | typeof INPUT.CAROUSEL | typeof INPUT.CONTACT | typeof INPUT.CUSTOM | typeof INPUT.DOCUMENT | typeof INPUT.IMAGE | typeof INPUT.LOCATION | typeof INPUT.POSTBACK | typeof INPUT.TEXT | typeof INPUT.VIDEO | typeof INPUT.WEBCHAT_SETTINGS | typeof INPUT.WHATSAPP_TEMPLATE;
|
|
67
|
+
export declare type ResolvedPlugins = Record<string, ResolvedPlugin>;
|
|
68
|
+
export declare type InputType = typeof INPUT.AUDIO | typeof INPUT.BUTTON_MESSAGE | typeof INPUT.CAROUSEL | typeof INPUT.CONTACT | typeof INPUT.CUSTOM | typeof INPUT.DOCUMENT | typeof INPUT.IMAGE | typeof INPUT.LOCATION | typeof INPUT.POSTBACK | typeof INPUT.TEXT | typeof INPUT.VIDEO | typeof INPUT.WEBCHAT_SETTINGS | typeof INPUT.WHATSAPP_TEMPLATE | typeof INPUT.CHAT_EVENT | typeof INPUT.WHATSAPP_BUTTON_LIST;
|
|
68
69
|
export interface IntentResult {
|
|
69
70
|
intent: string;
|
|
70
71
|
confidence: number;
|
|
@@ -91,7 +92,7 @@ export interface Input extends Partial<NluResult> {
|
|
|
91
92
|
payload?: string;
|
|
92
93
|
type: InputType;
|
|
93
94
|
}
|
|
94
|
-
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;
|
|
95
|
+
export declare 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;
|
|
95
96
|
export interface SessionUser {
|
|
96
97
|
id: string;
|
|
97
98
|
username?: string;
|
|
@@ -117,16 +118,16 @@ export interface Session {
|
|
|
117
118
|
_shadowing?: boolean;
|
|
118
119
|
_access_token?: string;
|
|
119
120
|
}
|
|
120
|
-
export type InputMatcher = (input: Input) => boolean;
|
|
121
|
-
export type ParamsMatcher = {
|
|
121
|
+
export declare type InputMatcher = (input: Input) => boolean;
|
|
122
|
+
export declare type ParamsMatcher = {
|
|
122
123
|
[key: string]: string;
|
|
123
124
|
} | ((params: {
|
|
124
125
|
[key: string]: string;
|
|
125
126
|
}) => boolean);
|
|
126
|
-
export type SessionMatcher = (session: Session) => boolean;
|
|
127
|
-
export type RequestMatcher = (request: BotRequest) => boolean;
|
|
128
|
-
export type StringMatcher = RegExp | string | ((data: string) => boolean);
|
|
129
|
-
export type RouteMatcher = InputMatcher | ParamsMatcher | RequestMatcher | SessionMatcher | StringMatcher;
|
|
127
|
+
export declare type SessionMatcher = (session: Session) => boolean;
|
|
128
|
+
export declare type RequestMatcher = (request: BotRequest) => boolean;
|
|
129
|
+
export declare type StringMatcher = RegExp | string | ((data: string) => boolean);
|
|
130
|
+
export declare type RouteMatcher = InputMatcher | ParamsMatcher | RequestMatcher | SessionMatcher | StringMatcher;
|
|
130
131
|
export interface Route {
|
|
131
132
|
action?: any;
|
|
132
133
|
childRoutes?: Route[];
|
|
@@ -145,7 +146,7 @@ export interface Route {
|
|
|
145
146
|
data?: StringMatcher;
|
|
146
147
|
type?: StringMatcher;
|
|
147
148
|
}
|
|
148
|
-
export type Routes<R = Route> = R[] | ((_: BotRequest) => R[]);
|
|
149
|
+
export declare type Routes<R = Route> = R[] | ((_: BotRequest) => R[]);
|
|
149
150
|
export interface BotRequest {
|
|
150
151
|
input: Input;
|
|
151
152
|
lastRoutePath: RoutePath;
|
|
@@ -190,9 +191,9 @@ export declare const Providers: Readonly<{
|
|
|
190
191
|
WHATSAPP: string;
|
|
191
192
|
};
|
|
192
193
|
}>;
|
|
193
|
-
export type Nullable<T> = T | null;
|
|
194
|
-
export type Action = Nullable<() => any>;
|
|
195
|
-
export type RoutePath = Nullable<string>;
|
|
194
|
+
export declare type Nullable<T> = T | null;
|
|
195
|
+
export declare type Action = Nullable<() => any>;
|
|
196
|
+
export declare type RoutePath = Nullable<string>;
|
|
196
197
|
export interface ProcessInputResult {
|
|
197
198
|
action: Action;
|
|
198
199
|
emptyAction: Action;
|
|
@@ -200,8 +201,8 @@ export interface ProcessInputResult {
|
|
|
200
201
|
lastRoutePath: RoutePath;
|
|
201
202
|
params: Params;
|
|
202
203
|
}
|
|
203
|
-
export type MatchedValue = boolean | RegExpExecArray | null;
|
|
204
|
-
export type RoutingState = {
|
|
204
|
+
export declare type MatchedValue = boolean | RegExpExecArray | null;
|
|
205
|
+
export declare type RoutingState = {
|
|
205
206
|
currentRoute: Nullable<Route>;
|
|
206
207
|
matchedRoute: Nullable<Route>;
|
|
207
208
|
params: Params;
|
|
@@ -215,6 +216,6 @@ export interface PathParams {
|
|
|
215
216
|
path: RoutePath;
|
|
216
217
|
params: Params;
|
|
217
218
|
}
|
|
218
|
-
export type MatchingProp = 'text' | 'payload' | 'intent' | 'type' | 'input' | 'session' | 'request';
|
|
219
|
-
export type Matcher = string | RegExp | ((args: any) => boolean);
|
|
219
|
+
export declare type MatchingProp = 'text' | 'payload' | 'intent' | 'type' | 'input' | 'session' | 'request';
|
|
220
|
+
export declare type Matcher = string | RegExp | ((args: any) => boolean);
|
|
220
221
|
export {};
|
|
@@ -34,6 +34,7 @@ var INPUT;
|
|
|
34
34
|
INPUT["WHATSAPP_TEMPLATE"] = "whatsapptemplate";
|
|
35
35
|
INPUT["RAW"] = "raw";
|
|
36
36
|
INPUT["CHAT_EVENT"] = "chatevent";
|
|
37
|
+
INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
|
|
37
38
|
})(INPUT = exports.INPUT || (exports.INPUT = {}));
|
|
38
39
|
var CASE_STATUS;
|
|
39
40
|
(function (CASE_STATUS) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":";AAAA,wIAAwI;;;AAiBxI,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,
|
|
1
|
+
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":";AAAA,wIAAwI;;;AAiBxI,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,KAiBX;AAjBD,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;AAC/C,CAAC,EAjBW,KAAK,GAAL,aAAK,KAAL,aAAK,QAiBhB;AAED,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;AAED,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;AA6LY,QAAA,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE;QACT,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { AudioMessageEvent, BotonicMessageEvent, Button, CarouselElement, Carous
|
|
|
2
2
|
import { ContactMessageEvent } from '../models/events/message/contact';
|
|
3
3
|
export declare function parseNumber(strNumber: string): number;
|
|
4
4
|
export declare function parseBoolean(strNumber: string): boolean;
|
|
5
|
-
export type ParseFunction<Out> = (args: {
|
|
5
|
+
export declare type ParseFunction<Out> = (args: {
|
|
6
6
|
toParse: any;
|
|
7
7
|
parsed?: any;
|
|
8
8
|
}) => {
|
package/lib/cjs/plugins.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataProvider } from './data-provider';
|
|
2
2
|
import { BotonicEvent, Input, PluginConfig, ResolvedPlugins, RoutePath, Session } from './models';
|
|
3
|
-
type PluginMode = 'pre' | 'post';
|
|
3
|
+
declare type PluginMode = 'pre' | 'post';
|
|
4
4
|
export declare function loadPlugins(plugins: PluginConfig<any>[]): ResolvedPlugins;
|
|
5
5
|
export declare function runPlugins(plugins: ResolvedPlugins, mode: PluginMode, input: Input, session: Session, lastRoutePath: RoutePath, response?: string | null, messageEvents?: Partial<BotonicEvent>[] | null, dataProvider?: DataProvider): Promise<void>;
|
|
6
6
|
export {};
|
package/lib/esm/core-bot.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ulid } from 'ulid';
|
|
2
2
|
import { Inspector } from './debug';
|
|
3
3
|
import { getString } from './i18n';
|
|
4
|
-
import { MessageEventAck, MessageEventFrom, } from './models';
|
|
4
|
+
import { INPUT, MessageEventAck, MessageEventFrom, } from './models';
|
|
5
5
|
import { BotonicOutputParser } from './output-parser';
|
|
6
6
|
import { loadPlugins, runPlugins } from './plugins';
|
|
7
7
|
import { getComputedRoutes, Router } from './routing';
|
|
@@ -41,6 +41,16 @@ export class CoreBot {
|
|
|
41
41
|
session = session || {};
|
|
42
42
|
if (!session.__locale)
|
|
43
43
|
session.__locale = 'en';
|
|
44
|
+
if (input.type === INPUT.CHAT_EVENT) {
|
|
45
|
+
return {
|
|
46
|
+
input,
|
|
47
|
+
session,
|
|
48
|
+
lastRoutePath,
|
|
49
|
+
dataProvider,
|
|
50
|
+
response: [],
|
|
51
|
+
messageEvents: null,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
44
54
|
const parsedUserEvent = this.botonicOutputParser.parseFromUserInput(input);
|
|
45
55
|
const userId = session.user.id;
|
|
46
56
|
if (dataProvider) {
|
package/lib/esm/core-bot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/handoff.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ConnectionEvent } from './connections';
|
|
2
2
|
import { AudioMessageEvent, CarouselMessageEvent, CustomMessageEvent, DocumentMessageEvent, FormMessageEvent, ImageMessageEvent, LocationMessageEvent, PostbackMessageEvent, TextMessageEvent, VideoMessageEvent } from './message';
|
|
3
|
-
export type BotonicEvent = TextMessageEvent | PostbackMessageEvent | AudioMessageEvent | DocumentMessageEvent | ImageMessageEvent | VideoMessageEvent | LocationMessageEvent | CarouselMessageEvent | CustomMessageEvent | ConnectionEvent | FormMessageEvent;
|
|
3
|
+
export declare type BotonicEvent = TextMessageEvent | PostbackMessageEvent | AudioMessageEvent | DocumentMessageEvent | ImageMessageEvent | VideoMessageEvent | LocationMessageEvent | CarouselMessageEvent | CustomMessageEvent | ConnectionEvent | FormMessageEvent;
|
|
@@ -12,7 +12,7 @@ export interface UrlButton extends BaseButton {
|
|
|
12
12
|
export interface PayloadButton extends BaseButton {
|
|
13
13
|
payload: string;
|
|
14
14
|
}
|
|
15
|
-
export type Button = PayloadButton | UrlButton | WebviewButton;
|
|
15
|
+
export declare type Button = PayloadButton | UrlButton | WebviewButton;
|
|
16
16
|
export interface WithButtons {
|
|
17
17
|
buttons?: Button[];
|
|
18
18
|
}
|
|
@@ -12,6 +12,7 @@ export var MessageEventTypes;
|
|
|
12
12
|
MessageEventTypes["VIDEO"] = "video";
|
|
13
13
|
MessageEventTypes["MISSED"] = "missed";
|
|
14
14
|
MessageEventTypes["FORM"] = "form";
|
|
15
|
+
MessageEventTypes["CHAT_EVENT"] = "chatevent";
|
|
15
16
|
/**
|
|
16
17
|
* TODO: buttonmessage?, webchatsettings, whatsapp template
|
|
17
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-event.js","sourceRoot":"","sources":["../../../../../src/models/events/message/message-event.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"message-event.js","sourceRoot":"","sources":["../../../../../src/models/events/message/message-event.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,iBAiBX;AAjBD,WAAY,iBAAiB;IAC3B,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,sCAAiB,CAAA;IACjB,kCAAa,CAAA;IACb,6CAAwB,CAAA;IACxB;;OAEG;AACL,CAAC,EAjBW,iBAAiB,KAAjB,iBAAiB,QAiB5B;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,gCAAa,CAAA;AACf,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,+BAAW,CAAA;IACX,iCAAa,CAAA;AACf,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DataProvider } from '../data-provider';
|
|
2
2
|
import { BotonicEvent } from './events';
|
|
3
|
-
export type CaseStatusType = typeof CASE_STATUS.ATTENDING | typeof CASE_STATUS.IDLE | typeof CASE_STATUS.RESOLVED | typeof CASE_STATUS.WAITING;
|
|
4
|
-
export type CaseResolution = typeof CASE_RESOLUTION.BANNED | typeof CASE_RESOLUTION.NOK | typeof CASE_RESOLUTION.NOT_SOLVED | typeof CASE_RESOLUTION.OK;
|
|
3
|
+
export declare type CaseStatusType = typeof CASE_STATUS.ATTENDING | typeof CASE_STATUS.IDLE | typeof CASE_STATUS.RESOLVED | typeof CASE_STATUS.WAITING;
|
|
4
|
+
export declare type CaseResolution = typeof CASE_RESOLUTION.BANNED | typeof CASE_RESOLUTION.NOK | typeof CASE_RESOLUTION.NOT_SOLVED | typeof CASE_RESOLUTION.OK;
|
|
5
5
|
export declare enum PROVIDER {
|
|
6
6
|
APPLE = "apple",
|
|
7
7
|
DEV = "dev",
|
|
@@ -31,7 +31,8 @@ export declare enum INPUT {
|
|
|
31
31
|
WEBCHAT_SETTINGS = "webchatsettings",
|
|
32
32
|
WHATSAPP_TEMPLATE = "whatsapptemplate",
|
|
33
33
|
RAW = "raw",
|
|
34
|
-
CHAT_EVENT = "chatevent"
|
|
34
|
+
CHAT_EVENT = "chatevent",
|
|
35
|
+
WHATSAPP_BUTTON_LIST = "whatsapp-button-list"
|
|
35
36
|
}
|
|
36
37
|
export declare enum CASE_STATUS {
|
|
37
38
|
WAITING = "status_waiting",
|
|
@@ -63,8 +64,8 @@ export interface ResolvedPlugin extends Plugin {
|
|
|
63
64
|
name: string;
|
|
64
65
|
config: any;
|
|
65
66
|
}
|
|
66
|
-
export type ResolvedPlugins = Record<string, ResolvedPlugin>;
|
|
67
|
-
export type InputType = typeof INPUT.AUDIO | typeof INPUT.BUTTON_MESSAGE | typeof INPUT.CAROUSEL | typeof INPUT.CONTACT | typeof INPUT.CUSTOM | typeof INPUT.DOCUMENT | typeof INPUT.IMAGE | typeof INPUT.LOCATION | typeof INPUT.POSTBACK | typeof INPUT.TEXT | typeof INPUT.VIDEO | typeof INPUT.WEBCHAT_SETTINGS | typeof INPUT.WHATSAPP_TEMPLATE;
|
|
67
|
+
export declare type ResolvedPlugins = Record<string, ResolvedPlugin>;
|
|
68
|
+
export declare type InputType = typeof INPUT.AUDIO | typeof INPUT.BUTTON_MESSAGE | typeof INPUT.CAROUSEL | typeof INPUT.CONTACT | typeof INPUT.CUSTOM | typeof INPUT.DOCUMENT | typeof INPUT.IMAGE | typeof INPUT.LOCATION | typeof INPUT.POSTBACK | typeof INPUT.TEXT | typeof INPUT.VIDEO | typeof INPUT.WEBCHAT_SETTINGS | typeof INPUT.WHATSAPP_TEMPLATE | typeof INPUT.CHAT_EVENT | typeof INPUT.WHATSAPP_BUTTON_LIST;
|
|
68
69
|
export interface IntentResult {
|
|
69
70
|
intent: string;
|
|
70
71
|
confidence: number;
|
|
@@ -91,7 +92,7 @@ export interface Input extends Partial<NluResult> {
|
|
|
91
92
|
payload?: string;
|
|
92
93
|
type: InputType;
|
|
93
94
|
}
|
|
94
|
-
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;
|
|
95
|
+
export declare 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;
|
|
95
96
|
export interface SessionUser {
|
|
96
97
|
id: string;
|
|
97
98
|
username?: string;
|
|
@@ -117,16 +118,16 @@ export interface Session {
|
|
|
117
118
|
_shadowing?: boolean;
|
|
118
119
|
_access_token?: string;
|
|
119
120
|
}
|
|
120
|
-
export type InputMatcher = (input: Input) => boolean;
|
|
121
|
-
export type ParamsMatcher = {
|
|
121
|
+
export declare type InputMatcher = (input: Input) => boolean;
|
|
122
|
+
export declare type ParamsMatcher = {
|
|
122
123
|
[key: string]: string;
|
|
123
124
|
} | ((params: {
|
|
124
125
|
[key: string]: string;
|
|
125
126
|
}) => boolean);
|
|
126
|
-
export type SessionMatcher = (session: Session) => boolean;
|
|
127
|
-
export type RequestMatcher = (request: BotRequest) => boolean;
|
|
128
|
-
export type StringMatcher = RegExp | string | ((data: string) => boolean);
|
|
129
|
-
export type RouteMatcher = InputMatcher | ParamsMatcher | RequestMatcher | SessionMatcher | StringMatcher;
|
|
127
|
+
export declare type SessionMatcher = (session: Session) => boolean;
|
|
128
|
+
export declare type RequestMatcher = (request: BotRequest) => boolean;
|
|
129
|
+
export declare type StringMatcher = RegExp | string | ((data: string) => boolean);
|
|
130
|
+
export declare type RouteMatcher = InputMatcher | ParamsMatcher | RequestMatcher | SessionMatcher | StringMatcher;
|
|
130
131
|
export interface Route {
|
|
131
132
|
action?: any;
|
|
132
133
|
childRoutes?: Route[];
|
|
@@ -145,7 +146,7 @@ export interface Route {
|
|
|
145
146
|
data?: StringMatcher;
|
|
146
147
|
type?: StringMatcher;
|
|
147
148
|
}
|
|
148
|
-
export type Routes<R = Route> = R[] | ((_: BotRequest) => R[]);
|
|
149
|
+
export declare type Routes<R = Route> = R[] | ((_: BotRequest) => R[]);
|
|
149
150
|
export interface BotRequest {
|
|
150
151
|
input: Input;
|
|
151
152
|
lastRoutePath: RoutePath;
|
|
@@ -190,9 +191,9 @@ export declare const Providers: Readonly<{
|
|
|
190
191
|
WHATSAPP: string;
|
|
191
192
|
};
|
|
192
193
|
}>;
|
|
193
|
-
export type Nullable<T> = T | null;
|
|
194
|
-
export type Action = Nullable<() => any>;
|
|
195
|
-
export type RoutePath = Nullable<string>;
|
|
194
|
+
export declare type Nullable<T> = T | null;
|
|
195
|
+
export declare type Action = Nullable<() => any>;
|
|
196
|
+
export declare type RoutePath = Nullable<string>;
|
|
196
197
|
export interface ProcessInputResult {
|
|
197
198
|
action: Action;
|
|
198
199
|
emptyAction: Action;
|
|
@@ -200,8 +201,8 @@ export interface ProcessInputResult {
|
|
|
200
201
|
lastRoutePath: RoutePath;
|
|
201
202
|
params: Params;
|
|
202
203
|
}
|
|
203
|
-
export type MatchedValue = boolean | RegExpExecArray | null;
|
|
204
|
-
export type RoutingState = {
|
|
204
|
+
export declare type MatchedValue = boolean | RegExpExecArray | null;
|
|
205
|
+
export declare type RoutingState = {
|
|
205
206
|
currentRoute: Nullable<Route>;
|
|
206
207
|
matchedRoute: Nullable<Route>;
|
|
207
208
|
params: Params;
|
|
@@ -215,6 +216,6 @@ export interface PathParams {
|
|
|
215
216
|
path: RoutePath;
|
|
216
217
|
params: Params;
|
|
217
218
|
}
|
|
218
|
-
export type MatchingProp = 'text' | 'payload' | 'intent' | 'type' | 'input' | 'session' | 'request';
|
|
219
|
-
export type Matcher = string | RegExp | ((args: any) => boolean);
|
|
219
|
+
export declare type MatchingProp = 'text' | 'payload' | 'intent' | 'type' | 'input' | 'session' | 'request';
|
|
220
|
+
export declare type Matcher = string | RegExp | ((args: any) => boolean);
|
|
220
221
|
export {};
|
|
@@ -31,6 +31,7 @@ export var INPUT;
|
|
|
31
31
|
INPUT["WHATSAPP_TEMPLATE"] = "whatsapptemplate";
|
|
32
32
|
INPUT["RAW"] = "raw";
|
|
33
33
|
INPUT["CHAT_EVENT"] = "chatevent";
|
|
34
|
+
INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
|
|
34
35
|
})(INPUT || (INPUT = {}));
|
|
35
36
|
export var CASE_STATUS;
|
|
36
37
|
(function (CASE_STATUS) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":"AAAA,wIAAwI;AAiBxI,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,
|
|
1
|
+
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":"AAAA,wIAAwI;AAiBxI,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,KAiBX;AAjBD,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;AAC/C,CAAC,EAjBW,KAAK,KAAL,KAAK,QAiBhB;AAED,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;AAED,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;AA6LD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE;QACT,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { AudioMessageEvent, BotonicMessageEvent, Button, CarouselElement, Carous
|
|
|
2
2
|
import { ContactMessageEvent } from '../models/events/message/contact';
|
|
3
3
|
export declare function parseNumber(strNumber: string): number;
|
|
4
4
|
export declare function parseBoolean(strNumber: string): boolean;
|
|
5
|
-
export type ParseFunction<Out> = (args: {
|
|
5
|
+
export declare type ParseFunction<Out> = (args: {
|
|
6
6
|
toParse: any;
|
|
7
7
|
parsed?: any;
|
|
8
8
|
}) => {
|
package/lib/esm/plugins.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataProvider } from './data-provider';
|
|
2
2
|
import { BotonicEvent, Input, PluginConfig, ResolvedPlugins, RoutePath, Session } from './models';
|
|
3
|
-
type PluginMode = 'pre' | 'post';
|
|
3
|
+
declare type PluginMode = 'pre' | 'post';
|
|
4
4
|
export declare function loadPlugins(plugins: PluginConfig<any>[]): ResolvedPlugins;
|
|
5
5
|
export declare function runPlugins(plugins: ResolvedPlugins, mode: PluginMode, input: Input, session: Session, lastRoutePath: RoutePath, response?: string | null, messageEvents?: Partial<BotonicEvent>[] | null, dataProvider?: DataProvider): Promise<void>;
|
|
6
6
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/core",
|
|
3
|
-
"version": "0.22.0-alpha.
|
|
3
|
+
"version": "0.22.0-alpha.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Build Chatbots using React",
|
|
6
6
|
"main": "./lib/cjs/index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"README.md"
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"aws-sdk": "^2.
|
|
33
|
+
"aws-sdk": "^2.1360.0",
|
|
34
34
|
"axios": "^1.4.0",
|
|
35
35
|
"decode": "^0.3.0",
|
|
36
36
|
"dynamodb-toolbox": "^0.3.4",
|
package/src/core-bot.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
BotonicEvent,
|
|
7
7
|
BotRequest,
|
|
8
8
|
BotResponse,
|
|
9
|
+
INPUT,
|
|
9
10
|
Locales,
|
|
10
11
|
MessageEventAck,
|
|
11
12
|
MessageEventFrom,
|
|
@@ -100,6 +101,17 @@ export class CoreBot {
|
|
|
100
101
|
session = session || {}
|
|
101
102
|
if (!session.__locale) session.__locale = 'en'
|
|
102
103
|
|
|
104
|
+
if (input.type === INPUT.CHAT_EVENT) {
|
|
105
|
+
return {
|
|
106
|
+
input,
|
|
107
|
+
session,
|
|
108
|
+
lastRoutePath,
|
|
109
|
+
dataProvider,
|
|
110
|
+
response: [],
|
|
111
|
+
messageEvents: null,
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
103
115
|
const parsedUserEvent = this.botonicOutputParser.parseFromUserInput(input)
|
|
104
116
|
const userId = session.user.id
|
|
105
117
|
if (dataProvider) {
|
|
@@ -46,6 +46,7 @@ export enum INPUT {
|
|
|
46
46
|
WHATSAPP_TEMPLATE = 'whatsapptemplate',
|
|
47
47
|
RAW = 'raw',
|
|
48
48
|
CHAT_EVENT = 'chatevent',
|
|
49
|
+
WHATSAPP_BUTTON_LIST = 'whatsapp-button-list',
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
export enum CASE_STATUS {
|
|
@@ -97,6 +98,8 @@ export type InputType =
|
|
|
97
98
|
| typeof INPUT.VIDEO
|
|
98
99
|
| typeof INPUT.WEBCHAT_SETTINGS
|
|
99
100
|
| typeof INPUT.WHATSAPP_TEMPLATE
|
|
101
|
+
| typeof INPUT.CHAT_EVENT
|
|
102
|
+
| typeof INPUT.WHATSAPP_BUTTON_LIST
|
|
100
103
|
|
|
101
104
|
export interface IntentResult {
|
|
102
105
|
intent: string
|