@botonic/core 1.0.0-dev.0 → 1.0.0-dev.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/constants.d.ts +4 -15
- package/lib/cjs/constants.js +5 -16
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/core-bot.d.ts +12 -9
- package/lib/cjs/core-bot.js +54 -43
- package/lib/cjs/core-bot.js.map +1 -1
- package/lib/cjs/debug/index.d.ts +1 -1
- package/lib/cjs/debug/index.js +2 -6
- package/lib/cjs/debug/index.js.map +1 -1
- package/lib/cjs/debug/inspector.d.ts +1 -1
- package/lib/cjs/handoff.d.ts +5 -5
- package/lib/cjs/handoff.js +13 -10
- package/lib/cjs/handoff.js.map +1 -1
- package/lib/cjs/hubtype-service.d.ts +4 -4
- package/lib/cjs/hubtype-service.js +1 -1
- package/lib/cjs/hubtype-service.js.map +1 -1
- package/lib/cjs/i18n.d.ts +1 -1
- package/lib/cjs/index.d.ts +8 -163
- package/lib/cjs/index.js +8 -51
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/models/bot-state.d.ts +11 -0
- package/lib/cjs/models/bot-state.js +3 -0
- package/lib/cjs/models/bot-state.js.map +1 -0
- package/lib/cjs/models/channels.d.ts +9 -0
- package/lib/cjs/models/channels.js +14 -0
- package/lib/cjs/models/channels.js.map +1 -0
- package/lib/cjs/models/events/base-event.d.ts +20 -0
- package/lib/cjs/models/events/base-event.js +17 -0
- package/lib/cjs/models/events/base-event.js.map +1 -0
- package/lib/cjs/models/events/botonic-event.d.ts +4 -0
- package/lib/cjs/models/events/botonic-event.js +3 -0
- package/lib/cjs/models/events/botonic-event.js.map +1 -0
- package/lib/{esm/models/events/connections/index.d.ts → cjs/models/events/connection/connection-event.d.ts} +1 -1
- package/lib/cjs/models/events/{connections/index.js → connection/connection-event.js} +1 -1
- package/lib/cjs/models/events/connection/connection-event.js.map +1 -0
- package/lib/cjs/models/events/connection/index.d.ts +1 -0
- package/lib/cjs/models/events/connection/index.js +5 -0
- package/lib/cjs/models/events/connection/index.js.map +1 -0
- package/lib/cjs/models/events/index.d.ts +4 -21
- package/lib/cjs/models/events/index.js +5 -8
- package/lib/cjs/models/events/index.js.map +1 -1
- package/lib/cjs/models/events/integration/index.d.ts +1 -0
- package/lib/cjs/models/events/integration/index.js +5 -0
- package/lib/cjs/models/events/integration/index.js.map +1 -0
- package/lib/cjs/models/events/integration/integration-event.d.ts +6 -0
- package/lib/cjs/models/events/integration/integration-event.js +3 -0
- package/lib/cjs/models/events/integration/integration-event.js.map +1 -0
- package/lib/cjs/models/events/message/carousel.d.ts +1 -1
- package/lib/cjs/models/events/message/custom.d.ts +2 -2
- package/lib/cjs/models/events/message/index.d.ts +9 -30
- package/lib/cjs/models/events/message/index.js +10 -29
- package/lib/cjs/models/events/message/index.js.map +1 -1
- package/lib/cjs/models/events/message/location.d.ts +1 -1
- package/lib/cjs/models/events/message/media.d.ts +1 -1
- package/lib/cjs/models/events/message/media.js +5 -5
- package/lib/cjs/models/events/message/media.js.map +1 -1
- package/lib/cjs/models/events/message/message-event.d.ts +30 -0
- package/lib/cjs/models/events/message/message-event.js +32 -0
- package/lib/cjs/models/events/message/message-event.js.map +1 -0
- package/lib/cjs/models/events/message/postback.d.ts +1 -1
- package/lib/cjs/models/events/message/text.d.ts +1 -1
- package/lib/cjs/models/index.d.ts +6 -0
- package/lib/cjs/models/index.js +10 -0
- package/lib/cjs/models/index.js.map +1 -0
- package/lib/cjs/models/legacy-types.d.ts +184 -0
- package/lib/cjs/models/legacy-types.js +59 -0
- package/lib/cjs/models/legacy-types.js.map +1 -0
- package/lib/cjs/models/session.d.ts +3 -0
- package/lib/cjs/models/session.js +3 -0
- package/lib/cjs/models/session.js.map +1 -0
- package/lib/cjs/models/user.d.ts +8 -4
- package/lib/cjs/output-parser/botonic-output-parser.d.ts +16 -0
- package/lib/cjs/output-parser/botonic-output-parser.js +37 -0
- package/lib/cjs/output-parser/botonic-output-parser.js.map +1 -0
- package/lib/cjs/output-parser/factory.d.ts +1 -1
- package/lib/cjs/output-parser/factory.js +7 -8
- package/lib/cjs/output-parser/factory.js.map +1 -1
- package/lib/cjs/output-parser/index.d.ts +3 -16
- package/lib/cjs/output-parser/index.js +4 -34
- package/lib/cjs/output-parser/index.js.map +1 -1
- package/lib/cjs/output-parser/parsers.d.ts +3 -9
- package/lib/cjs/output-parser/parsers.js +21 -12
- package/lib/cjs/output-parser/parsers.js.map +1 -1
- package/lib/cjs/plugins.d.ts +2 -3
- package/lib/cjs/plugins.js +9 -6
- package/lib/cjs/plugins.js.map +1 -1
- package/lib/cjs/routing/index.d.ts +2 -0
- package/lib/cjs/routing/index.js +6 -0
- package/lib/cjs/routing/index.js.map +1 -0
- package/lib/cjs/routing/router-utils.d.ts +11 -0
- package/lib/cjs/routing/router-utils.js +89 -0
- package/lib/cjs/routing/router-utils.js.map +1 -0
- package/lib/cjs/routing/router.d.ts +54 -0
- package/lib/cjs/routing/router.js +319 -0
- package/lib/cjs/routing/router.js.map +1 -0
- package/lib/cjs/utils.d.ts +1 -0
- package/lib/cjs/utils.js +7 -1
- package/lib/cjs/utils.js.map +1 -1
- package/lib/esm/constants.d.ts +4 -15
- package/lib/esm/constants.js +4 -15
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/core-bot.d.ts +12 -9
- package/lib/esm/core-bot.js +52 -41
- package/lib/esm/core-bot.js.map +1 -1
- package/lib/esm/debug/index.d.ts +1 -1
- package/lib/esm/debug/index.js +1 -1
- package/lib/esm/debug/index.js.map +1 -1
- package/lib/esm/debug/inspector.d.ts +1 -1
- package/lib/esm/handoff.d.ts +5 -5
- package/lib/esm/handoff.js +13 -10
- package/lib/esm/handoff.js.map +1 -1
- package/lib/esm/hubtype-service.d.ts +4 -4
- package/lib/esm/hubtype-service.js +1 -1
- package/lib/esm/hubtype-service.js.map +1 -1
- package/lib/esm/i18n.d.ts +1 -1
- package/lib/esm/index.d.ts +8 -163
- package/lib/esm/index.js +8 -45
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/models/bot-state.d.ts +11 -0
- package/lib/esm/models/bot-state.js +2 -0
- package/lib/esm/models/bot-state.js.map +1 -0
- package/lib/esm/models/channels.d.ts +9 -0
- package/lib/esm/models/channels.js +11 -0
- package/lib/esm/models/channels.js.map +1 -0
- package/lib/esm/models/events/base-event.d.ts +20 -0
- package/lib/esm/models/events/base-event.js +14 -0
- package/lib/esm/models/events/base-event.js.map +1 -0
- package/lib/esm/models/events/botonic-event.d.ts +4 -0
- package/lib/esm/models/events/botonic-event.js +2 -0
- package/lib/esm/models/events/botonic-event.js.map +1 -0
- package/lib/{cjs/models/events/connections/index.d.ts → esm/models/events/connection/connection-event.d.ts} +1 -1
- package/lib/esm/models/events/{connections/index.js → connection/connection-event.js} +1 -1
- package/lib/esm/models/events/connection/connection-event.js.map +1 -0
- package/lib/esm/models/events/connection/index.d.ts +1 -0
- package/lib/esm/models/events/connection/index.js +2 -0
- package/lib/esm/models/events/connection/index.js.map +1 -0
- package/lib/esm/models/events/index.d.ts +4 -21
- package/lib/esm/models/events/index.js +4 -7
- package/lib/esm/models/events/index.js.map +1 -1
- package/lib/esm/models/events/integration/index.d.ts +1 -0
- package/lib/esm/models/events/integration/index.js +2 -0
- package/lib/esm/models/events/integration/index.js.map +1 -0
- package/lib/esm/models/events/integration/integration-event.d.ts +6 -0
- package/lib/esm/models/events/integration/integration-event.js +2 -0
- package/lib/esm/models/events/integration/integration-event.js.map +1 -0
- package/lib/esm/models/events/message/carousel.d.ts +1 -1
- package/lib/esm/models/events/message/custom.d.ts +2 -2
- package/lib/esm/models/events/message/index.d.ts +9 -30
- package/lib/esm/models/events/message/index.js +9 -28
- package/lib/esm/models/events/message/index.js.map +1 -1
- package/lib/esm/models/events/message/location.d.ts +1 -1
- package/lib/esm/models/events/message/media.d.ts +1 -1
- package/lib/esm/models/events/message/media.js +1 -1
- package/lib/esm/models/events/message/media.js.map +1 -1
- package/lib/esm/models/events/message/message-event.d.ts +30 -0
- package/lib/esm/models/events/message/message-event.js +29 -0
- package/lib/esm/models/events/message/message-event.js.map +1 -0
- package/lib/esm/models/events/message/postback.d.ts +1 -1
- package/lib/esm/models/events/message/text.d.ts +1 -1
- package/lib/esm/models/index.d.ts +6 -0
- package/lib/esm/models/index.js +7 -0
- package/lib/esm/models/index.js.map +1 -0
- package/lib/esm/models/legacy-types.d.ts +184 -0
- package/lib/esm/models/legacy-types.js +56 -0
- package/lib/esm/models/legacy-types.js.map +1 -0
- package/lib/esm/models/session.d.ts +3 -0
- package/lib/esm/models/session.js +2 -0
- package/lib/esm/models/session.js.map +1 -0
- package/lib/esm/models/user.d.ts +8 -4
- package/lib/esm/output-parser/botonic-output-parser.d.ts +16 -0
- package/lib/esm/output-parser/botonic-output-parser.js +33 -0
- package/lib/esm/output-parser/botonic-output-parser.js.map +1 -0
- package/lib/esm/output-parser/factory.d.ts +1 -1
- package/lib/esm/output-parser/factory.js +1 -2
- package/lib/esm/output-parser/factory.js.map +1 -1
- package/lib/esm/output-parser/index.d.ts +3 -16
- package/lib/esm/output-parser/index.js +3 -32
- package/lib/esm/output-parser/index.js.map +1 -1
- package/lib/esm/output-parser/parsers.d.ts +3 -9
- package/lib/esm/output-parser/parsers.js +14 -7
- package/lib/esm/output-parser/parsers.js.map +1 -1
- package/lib/esm/plugins.d.ts +2 -3
- package/lib/esm/plugins.js +9 -6
- package/lib/esm/plugins.js.map +1 -1
- package/lib/esm/routing/index.d.ts +2 -0
- package/lib/esm/routing/index.js +3 -0
- package/lib/esm/routing/index.js.map +1 -0
- package/lib/esm/routing/router-utils.d.ts +11 -0
- package/lib/esm/routing/router-utils.js +79 -0
- package/lib/esm/routing/router-utils.js.map +1 -0
- package/lib/esm/routing/router.d.ts +54 -0
- package/lib/esm/routing/router.js +315 -0
- package/lib/esm/routing/router.js.map +1 -0
- package/lib/esm/utils.d.ts +1 -0
- package/lib/esm/utils.js +5 -0
- package/lib/esm/utils.js.map +1 -1
- package/package.json +6 -6
- package/src/constants.ts +6 -15
- package/src/core-bot.ts +84 -47
- package/src/debug/index.ts +1 -6
- package/src/debug/inspector.ts +1 -1
- package/src/handoff.ts +15 -12
- package/src/hubtype-service.ts +5 -5
- package/src/i18n.ts +1 -1
- package/src/index.ts +8 -230
- package/src/models/bot-state.ts +12 -0
- package/src/models/channels.ts +9 -0
- package/src/models/events/base-event.ts +22 -0
- package/src/models/events/botonic-event.ts +26 -0
- package/src/models/events/{connections/index.ts → connection/connection-event.ts} +1 -1
- package/src/models/events/connection/index.ts +1 -0
- package/src/models/events/index.ts +4 -39
- package/src/models/events/integration/index.ts +1 -0
- package/src/models/events/integration/integration-event.ts +13 -0
- package/src/models/events/message/carousel.ts +1 -1
- package/src/models/events/message/custom.ts +2 -2
- package/src/models/events/message/index.ts +9 -37
- package/src/models/events/message/location.ts +1 -1
- package/src/models/events/message/media.ts +1 -1
- package/src/models/events/message/message-event.ts +37 -0
- package/src/models/events/message/postback.ts +1 -1
- package/src/models/events/message/text.ts +1 -1
- package/src/models/index.ts +6 -0
- package/src/models/legacy-types.ts +262 -0
- package/src/models/session.ts +3 -0
- package/src/models/user.ts +10 -4
- package/src/output-parser/botonic-output-parser.ts +38 -0
- package/src/output-parser/factory.ts +1 -3
- package/src/output-parser/index.ts +3 -38
- package/src/output-parser/parsers.ts +29 -17
- package/src/plugins.ts +18 -8
- package/src/routing/index.ts +2 -0
- package/src/routing/router-utils.ts +100 -0
- package/src/routing/router.ts +415 -0
- package/src/utils.ts +6 -0
- package/lib/cjs/errors.d.ts +0 -5
- package/lib/cjs/errors.js +0 -11
- package/lib/cjs/errors.js.map +0 -1
- package/lib/cjs/models/events/connections/index.js.map +0 -1
- package/lib/cjs/output-parser/util.d.ts +0 -2
- package/lib/cjs/output-parser/util.js +0 -14
- package/lib/cjs/output-parser/util.js.map +0 -1
- package/lib/cjs/router.d.ts +0 -35
- package/lib/cjs/router.js +0 -262
- package/lib/cjs/router.js.map +0 -1
- package/lib/esm/errors.d.ts +0 -5
- package/lib/esm/errors.js +0 -7
- package/lib/esm/errors.js.map +0 -1
- package/lib/esm/models/events/connections/index.js.map +0 -1
- package/lib/esm/output-parser/util.d.ts +0 -2
- package/lib/esm/output-parser/util.js +0 -9
- package/lib/esm/output-parser/util.js.map +0 -1
- package/lib/esm/router.d.ts +0 -35
- package/lib/esm/router.js +0 -258
- package/lib/esm/router.js.map +0 -1
- package/src/errors.ts +0 -11
- package/src/output-parser/util.ts +0 -8
- package/src/router.ts +0 -316
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-event.js","sourceRoot":"","sources":["../../../../../src/models/events/message/message-event.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,iBAaX;AAbD,WAAY,iBAAiB;IAC3B,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf;;OAEG;AACL,CAAC,EAbW,iBAAiB,KAAjB,iBAAiB,QAa5B;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,5 +1,5 @@
|
|
|
1
|
-
import { BotonicMessageEvent, MessageEventTypes } from '.';
|
|
2
1
|
import { WithButtons } from './buttons';
|
|
2
|
+
import { BotonicMessageEvent, MessageEventTypes } from './message-event';
|
|
3
3
|
import { WithReplies } from './replies';
|
|
4
4
|
export interface TextMessageEvent extends BotonicMessageEvent, WithReplies, WithButtons {
|
|
5
5
|
type: MessageEventTypes.TEXT;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { BotState } from './bot-state';
|
|
2
|
+
import { BotonicEvent } from './events';
|
|
3
|
+
import { Session } from './session';
|
|
4
|
+
export declare type CaseStatusType = typeof CASE_STATUS.ATTENDING | typeof CASE_STATUS.IDLE | typeof CASE_STATUS.RESOLVED | typeof CASE_STATUS.WAITING;
|
|
5
|
+
export declare type CaseResolution = typeof CASE_RESOLUTION.BANNED | typeof CASE_RESOLUTION.NOK | typeof CASE_RESOLUTION.NOT_SOLVED | typeof CASE_RESOLUTION.OK;
|
|
6
|
+
export declare const PROVIDER: Readonly<{
|
|
7
|
+
DEV: string;
|
|
8
|
+
FACEBOOK: string;
|
|
9
|
+
GENERIC: string;
|
|
10
|
+
INTERCOM: string;
|
|
11
|
+
SMOOCH: string;
|
|
12
|
+
TELEGRAM: string;
|
|
13
|
+
TWITTER: string;
|
|
14
|
+
WEBCHAT: string;
|
|
15
|
+
WECHAT: string;
|
|
16
|
+
WHATSAPP: string;
|
|
17
|
+
}>;
|
|
18
|
+
export declare const INPUT: Readonly<{
|
|
19
|
+
TEXT: string;
|
|
20
|
+
POSTBACK: string;
|
|
21
|
+
AUDIO: string;
|
|
22
|
+
IMAGE: string;
|
|
23
|
+
VIDEO: string;
|
|
24
|
+
DOCUMENT: string;
|
|
25
|
+
LOCATION: string;
|
|
26
|
+
CONTACT: string;
|
|
27
|
+
BUTTON_MESSAGE: string;
|
|
28
|
+
CAROUSEL: string;
|
|
29
|
+
CUSTOM: string;
|
|
30
|
+
WEBCHAT_SETTINGS: string;
|
|
31
|
+
WHATSAPP_TEMPLATE: string;
|
|
32
|
+
RAW: string;
|
|
33
|
+
}>;
|
|
34
|
+
export declare const CASE_STATUS: Readonly<{
|
|
35
|
+
WAITING: string;
|
|
36
|
+
ATTENDING: string;
|
|
37
|
+
IDLE: string;
|
|
38
|
+
RESOLVED: string;
|
|
39
|
+
}>;
|
|
40
|
+
export declare const CASE_RESOLUTION: Readonly<{
|
|
41
|
+
OK: string;
|
|
42
|
+
NOK: string;
|
|
43
|
+
NOT_SOLVED: string;
|
|
44
|
+
BANNED: string;
|
|
45
|
+
}>;
|
|
46
|
+
export interface Locales {
|
|
47
|
+
[id: string]: string | string[] | Locales;
|
|
48
|
+
}
|
|
49
|
+
interface PluginConstructor<T> {
|
|
50
|
+
new (arg: T): Plugin;
|
|
51
|
+
}
|
|
52
|
+
export interface PluginConfig<T> {
|
|
53
|
+
id: string;
|
|
54
|
+
options?: T;
|
|
55
|
+
resolve: {
|
|
56
|
+
default: PluginConstructor<T>;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
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;
|
|
60
|
+
export interface IntentResult {
|
|
61
|
+
intent: string;
|
|
62
|
+
confidence: number;
|
|
63
|
+
}
|
|
64
|
+
/** Generated by Translation plugins: GoogleTranslation **/
|
|
65
|
+
export interface Translations {
|
|
66
|
+
[languageCode: string]: string;
|
|
67
|
+
}
|
|
68
|
+
/** Fields set by NLU plugins: Luis, Dialogflow, ... **/
|
|
69
|
+
export interface NluResult {
|
|
70
|
+
confidence: number;
|
|
71
|
+
intent: string;
|
|
72
|
+
intents: IntentResult[];
|
|
73
|
+
language: string;
|
|
74
|
+
entities?: any;
|
|
75
|
+
translations: Translations;
|
|
76
|
+
}
|
|
77
|
+
export interface Input extends Partial<NluResult> {
|
|
78
|
+
text?: string;
|
|
79
|
+
src?: string;
|
|
80
|
+
data?: string;
|
|
81
|
+
path?: string;
|
|
82
|
+
payload?: string;
|
|
83
|
+
type: InputType;
|
|
84
|
+
}
|
|
85
|
+
export declare type ProviderType = typeof PROVIDER.DEV | typeof PROVIDER.FACEBOOK | typeof PROVIDER.GENERIC | typeof PROVIDER.INTERCOM | typeof PROVIDER.SMOOCH | typeof PROVIDER.TELEGRAM | typeof PROVIDER.TWITTER | typeof PROVIDER.WEBCHAT | typeof PROVIDER.WECHAT | typeof PROVIDER.WHATSAPP;
|
|
86
|
+
export declare type InputMatcher = (input: Input) => boolean;
|
|
87
|
+
export declare type ParamsMatcher = {
|
|
88
|
+
[key: string]: string;
|
|
89
|
+
} | ((params: {
|
|
90
|
+
[key: string]: string;
|
|
91
|
+
}) => boolean);
|
|
92
|
+
export declare type SessionMatcher = (session: Session) => boolean;
|
|
93
|
+
export declare type RequestMatcher = (request: BotRequest) => boolean;
|
|
94
|
+
export declare type StringMatcher = RegExp | string | ((data: string) => boolean);
|
|
95
|
+
export declare type RouteMatcher = InputMatcher | ParamsMatcher | RequestMatcher | SessionMatcher | StringMatcher;
|
|
96
|
+
export interface Route {
|
|
97
|
+
action?: any;
|
|
98
|
+
childRoutes?: Route[];
|
|
99
|
+
lastRoutePath?: string;
|
|
100
|
+
ignoreRetry?: boolean;
|
|
101
|
+
path: RoutePath;
|
|
102
|
+
redirect?: string;
|
|
103
|
+
retry?: number;
|
|
104
|
+
input?: InputMatcher;
|
|
105
|
+
intent?: StringMatcher;
|
|
106
|
+
params?: ParamsMatcher;
|
|
107
|
+
payload?: StringMatcher;
|
|
108
|
+
request?: RequestMatcher;
|
|
109
|
+
session?: SessionMatcher;
|
|
110
|
+
text?: StringMatcher;
|
|
111
|
+
data?: StringMatcher;
|
|
112
|
+
type?: StringMatcher;
|
|
113
|
+
}
|
|
114
|
+
export declare type Routes<R = Route> = R[] | ((_: BotRequest) => R[]);
|
|
115
|
+
export interface BotRequest {
|
|
116
|
+
input: Input;
|
|
117
|
+
session: Session;
|
|
118
|
+
botState: BotState;
|
|
119
|
+
dataProvider?: any;
|
|
120
|
+
}
|
|
121
|
+
/** The response of the bot for the triggered actions, which can be
|
|
122
|
+
* the one matched by the routes, the default action and the retry actions.
|
|
123
|
+
* See Response at @botonic/react's index.d.ts for the React type
|
|
124
|
+
* */
|
|
125
|
+
export interface BotResponse extends BotRequest {
|
|
126
|
+
response: any;
|
|
127
|
+
messageEvents: Partial<BotonicEvent>[] | null;
|
|
128
|
+
}
|
|
129
|
+
export interface PluginPreRequest extends BotRequest {
|
|
130
|
+
plugins: Plugin[];
|
|
131
|
+
}
|
|
132
|
+
export interface PluginPostRequest extends BotResponse {
|
|
133
|
+
plugins: Plugin[];
|
|
134
|
+
}
|
|
135
|
+
export interface Plugin {
|
|
136
|
+
post(request: PluginPostRequest): void;
|
|
137
|
+
pre(request: PluginPreRequest): void;
|
|
138
|
+
}
|
|
139
|
+
export interface Params {
|
|
140
|
+
[key: string]: any;
|
|
141
|
+
}
|
|
142
|
+
export declare const Providers: Readonly<{
|
|
143
|
+
Messaging: {
|
|
144
|
+
FACEBOOK: string;
|
|
145
|
+
GENERIC: string;
|
|
146
|
+
IMBEE: string;
|
|
147
|
+
INTERCOM: string;
|
|
148
|
+
SMOOCH_WEB: string;
|
|
149
|
+
SMOOCH: string;
|
|
150
|
+
TELEGRAM: string;
|
|
151
|
+
TWITTER: string;
|
|
152
|
+
WEBCHAT: string;
|
|
153
|
+
WECHAT: string;
|
|
154
|
+
WHATSAPP: string;
|
|
155
|
+
};
|
|
156
|
+
}>;
|
|
157
|
+
export declare type Nullable<T> = T | null;
|
|
158
|
+
export declare type Action = Nullable<() => any>;
|
|
159
|
+
export declare type RoutePath = Nullable<string>;
|
|
160
|
+
export interface ProcessInputResult {
|
|
161
|
+
action: Action;
|
|
162
|
+
emptyAction: Action;
|
|
163
|
+
fallbackAction: Action;
|
|
164
|
+
botState: BotState;
|
|
165
|
+
params: Params;
|
|
166
|
+
}
|
|
167
|
+
export declare type MatchedValue = boolean | RegExpExecArray | null;
|
|
168
|
+
export declare type RoutingState = {
|
|
169
|
+
currentRoute: Nullable<Route>;
|
|
170
|
+
matchedRoute: Nullable<Route>;
|
|
171
|
+
params: Params;
|
|
172
|
+
isFlowBroken: boolean;
|
|
173
|
+
};
|
|
174
|
+
export interface RouteParams {
|
|
175
|
+
route: Nullable<Route>;
|
|
176
|
+
params: Params;
|
|
177
|
+
}
|
|
178
|
+
export interface PathParams {
|
|
179
|
+
path: RoutePath;
|
|
180
|
+
params: Params;
|
|
181
|
+
}
|
|
182
|
+
export declare type MatchingProp = 'text' | 'payload' | 'intent' | 'type' | 'input' | 'session' | 'request';
|
|
183
|
+
export declare type Matcher = string | RegExp | ((args: any) => boolean);
|
|
184
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export const PROVIDER = Object.freeze({
|
|
2
|
+
DEV: 'dev',
|
|
3
|
+
FACEBOOK: 'facebook',
|
|
4
|
+
GENERIC: 'generic',
|
|
5
|
+
INTERCOM: 'intercom',
|
|
6
|
+
SMOOCH: 'smooch',
|
|
7
|
+
TELEGRAM: 'telegram',
|
|
8
|
+
TWITTER: 'twitter',
|
|
9
|
+
WEBCHAT: 'webchat',
|
|
10
|
+
WECHAT: 'wechat',
|
|
11
|
+
WHATSAPP: 'whatsapp',
|
|
12
|
+
});
|
|
13
|
+
export const INPUT = Object.freeze({
|
|
14
|
+
TEXT: 'text',
|
|
15
|
+
POSTBACK: 'postback',
|
|
16
|
+
AUDIO: 'audio',
|
|
17
|
+
IMAGE: 'image',
|
|
18
|
+
VIDEO: 'video',
|
|
19
|
+
DOCUMENT: 'document',
|
|
20
|
+
LOCATION: 'location',
|
|
21
|
+
CONTACT: 'contact',
|
|
22
|
+
BUTTON_MESSAGE: 'buttonmessage',
|
|
23
|
+
CAROUSEL: 'carousel',
|
|
24
|
+
CUSTOM: 'custom',
|
|
25
|
+
WEBCHAT_SETTINGS: 'webchatsettings',
|
|
26
|
+
WHATSAPP_TEMPLATE: 'whatsapptemplate',
|
|
27
|
+
RAW: 'raw',
|
|
28
|
+
});
|
|
29
|
+
export const CASE_STATUS = Object.freeze({
|
|
30
|
+
WAITING: 'status_waiting',
|
|
31
|
+
ATTENDING: 'status_attending',
|
|
32
|
+
IDLE: 'status_idle',
|
|
33
|
+
RESOLVED: 'status_resolved',
|
|
34
|
+
});
|
|
35
|
+
export const CASE_RESOLUTION = Object.freeze({
|
|
36
|
+
OK: 'result_ok',
|
|
37
|
+
NOK: 'result_nok',
|
|
38
|
+
NOT_SOLVED: 'result_not_solved',
|
|
39
|
+
BANNED: 'result_banned',
|
|
40
|
+
});
|
|
41
|
+
export const Providers = Object.freeze({
|
|
42
|
+
Messaging: {
|
|
43
|
+
FACEBOOK: 'facebook',
|
|
44
|
+
GENERIC: 'generic',
|
|
45
|
+
IMBEE: 'imbee',
|
|
46
|
+
INTERCOM: 'intercom',
|
|
47
|
+
SMOOCH_WEB: 'smooch_web',
|
|
48
|
+
SMOOCH: 'smooch',
|
|
49
|
+
TELEGRAM: 'telegram',
|
|
50
|
+
TWITTER: 'twitter',
|
|
51
|
+
WEBCHAT: 'webchat',
|
|
52
|
+
WECHAT: 'wechat',
|
|
53
|
+
WHATSAPP: 'whatsapp',
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=legacy-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,eAAe;IAC/B,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,iBAAiB;IACnC,iBAAiB,EAAE,kBAAkB;IACrC,GAAG,EAAE,KAAK;CACX,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,gBAAgB;IACzB,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,iBAAiB;CAC5B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,WAAW;IACf,GAAG,EAAE,YAAY;IACjB,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,eAAe;CACxB,CAAC,CAAA;AAkJF,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE;QACT,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/models/session.ts"],"names":[],"mappings":""}
|
package/lib/esm/models/user.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BotState } from './bot-state';
|
|
2
|
+
import { Session } from './session';
|
|
2
3
|
export interface User {
|
|
3
4
|
id: string;
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
name?: string;
|
|
6
|
+
userName?: string;
|
|
7
|
+
channel: string;
|
|
8
|
+
idFromChannel: string;
|
|
6
9
|
session: Session;
|
|
7
|
-
|
|
10
|
+
botState: BotState;
|
|
8
11
|
isOnline: boolean;
|
|
12
|
+
websocketId?: string;
|
|
9
13
|
locationInfo: string;
|
|
10
14
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BotonicEvent } from '../models';
|
|
2
|
+
import { MessageParsingFactory } from './factory';
|
|
3
|
+
export declare const TEXT_NODE_NAME = "text";
|
|
4
|
+
export declare class BotonicOutputParser {
|
|
5
|
+
private readonly factory;
|
|
6
|
+
private static OPTIONS;
|
|
7
|
+
constructor(factory?: MessageParsingFactory);
|
|
8
|
+
xmlToMessageEvents(html: string): Partial<BotonicEvent>[];
|
|
9
|
+
/**
|
|
10
|
+
* Right now, when saving BotonicEvents to DataProvider, we need the standarized Botonic event
|
|
11
|
+
* to be saved. This is, converting a botonic input like: '{id: 'msgId', data: 'rawData', payload: 'somePayload'}'
|
|
12
|
+
* into a BotonicEvent with the expected properties.
|
|
13
|
+
*/
|
|
14
|
+
inputToBotonicEvent(input: any): Partial<BotonicEvent>;
|
|
15
|
+
private xmlToJSONMessages;
|
|
16
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// eslint-disable-next-line import/named
|
|
2
|
+
import { parse } from 'fast-xml-parser';
|
|
3
|
+
import { decode } from 'html-entities';
|
|
4
|
+
import { MessageParsingFactory } from './factory';
|
|
5
|
+
export const TEXT_NODE_NAME = 'text';
|
|
6
|
+
export class BotonicOutputParser {
|
|
7
|
+
constructor(factory = new MessageParsingFactory()) {
|
|
8
|
+
this.factory = factory;
|
|
9
|
+
}
|
|
10
|
+
xmlToMessageEvents(html) {
|
|
11
|
+
const jsonMessages = this.xmlToJSONMessages(html);
|
|
12
|
+
return jsonMessages.map(msgToParse => this.factory.parse(msgToParse));
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Right now, when saving BotonicEvents to DataProvider, we need the standarized Botonic event
|
|
16
|
+
* to be saved. This is, converting a botonic input like: '{id: 'msgId', data: 'rawData', payload: 'somePayload'}'
|
|
17
|
+
* into a BotonicEvent with the expected properties.
|
|
18
|
+
*/
|
|
19
|
+
inputToBotonicEvent(input) {
|
|
20
|
+
return this.factory.parse(input);
|
|
21
|
+
}
|
|
22
|
+
xmlToJSONMessages(html) {
|
|
23
|
+
return parse(html, BotonicOutputParser.OPTIONS).message;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
BotonicOutputParser.OPTIONS = {
|
|
27
|
+
ignoreAttributes: false,
|
|
28
|
+
attributeNamePrefix: '',
|
|
29
|
+
textNodeName: TEXT_NODE_NAME,
|
|
30
|
+
arrayMode: true,
|
|
31
|
+
attrValueProcessor: a => decode(a),
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=botonic-output-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"botonic-output-parser.js","sourceRoot":"","sources":["../../../src/output-parser/botonic-output-parser.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,KAAK,EAAc,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEjD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AAEpC,MAAM,OAAO,mBAAmB;IAS9B,YAA6B,UAAU,IAAI,qBAAqB,EAAE;QAArC,YAAO,GAAP,OAAO,CAA8B;IAAG,CAAC;IAEtE,kBAAkB,CAAC,IAAY;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACjD,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IACvE,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,KAAU;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAEO,iBAAiB,CAAC,IAAS;QACjC,OAAO,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;IACzD,CAAC;;AA1Bc,2BAAO,GAAwB;IAC5C,gBAAgB,EAAE,KAAK;IACvB,mBAAmB,EAAE,EAAE;IACvB,YAAY,EAAE,cAAc;IAC5B,SAAS,EAAE,IAAI;IACf,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;CACnC,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { MessageEventTypes } from '../models
|
|
2
|
-
import { MEDIA_TYPES } from '../models/events/message/media';
|
|
1
|
+
import { MEDIA_TYPES, MessageEventTypes } from '../models';
|
|
3
2
|
import { parseButtons, parseCarousel, parseCustom, parseLocation, parseMedia, parseMessage, parsePostback, parseReplies, parseText, } from './parsers';
|
|
4
3
|
export class MessageParsingFactory {
|
|
5
4
|
parse(msgToParse) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/output-parser/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/output-parser/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACxE,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,GACV,MAAM,WAAW,CAAA;AAElB,MAAM,OAAO,qBAAqB;IAChC,KAAK,CAAC,UAAe;QACnB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QAC5B,MAAM,aAAa,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;QAC3D,IAAI,IAAI,KAAK,iBAAiB,CAAC,IAAI,EAAE;YACnC,OAAO,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;SACnE;QACD,IAAI,IAAI,KAAK,iBAAiB,CAAC,QAAQ,EAAE;YACvC,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,MAAM,CAAA;SAC3C;QACD,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAA;SACtD;QACD,IAAI,IAAI,KAAK,iBAAiB,CAAC,QAAQ,EAAE;YACvC,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,MAAM,CAAA;SAC3C;QACD,IAAI,IAAI,KAAK,iBAAiB,CAAC,QAAQ,EAAE;YACvC,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,MAAM,CAAA;SAC3C;QACD,IAAI,IAAI,KAAK,iBAAiB,CAAC,MAAM,EAAE;YACrC,OAAO,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAA;SACvD;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,oBAAoB,CAAC,CAAA;IACjE,CAAC;CACF"}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export declare class BotonicOutputParser {
|
|
5
|
-
private readonly factory;
|
|
6
|
-
private static OPTIONS;
|
|
7
|
-
constructor(factory?: MessageParsingFactory);
|
|
8
|
-
xmlToMessageEvents(html: string): Partial<BotonicEvent>[];
|
|
9
|
-
/**
|
|
10
|
-
* Right now, when saving BotonicEvents to DataProvider, we need the standarized Botonic event
|
|
11
|
-
* to be saved. This is, converting a botonic input like: '{id: 'msgId', data: 'rawData', payload: 'somePayload'}'
|
|
12
|
-
* into a BotonicEvent with the expected properties.
|
|
13
|
-
*/
|
|
14
|
-
parseFromUserInput(input: any): Partial<BotonicEvent>;
|
|
15
|
-
private xmlToJSONMessages;
|
|
16
|
-
}
|
|
1
|
+
export * from './botonic-output-parser';
|
|
2
|
+
export * from './factory';
|
|
3
|
+
export * from './parsers';
|
|
@@ -1,33 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { MessageParsingFactory } from './factory';
|
|
5
|
-
export const TEXT_NODE_NAME = 'text';
|
|
6
|
-
export class BotonicOutputParser {
|
|
7
|
-
constructor(factory = new MessageParsingFactory()) {
|
|
8
|
-
this.factory = factory;
|
|
9
|
-
}
|
|
10
|
-
xmlToMessageEvents(html) {
|
|
11
|
-
const jsonMessages = this.xmlToJSONMessages(html);
|
|
12
|
-
return jsonMessages.map(msgToParse => this.factory.parse(msgToParse));
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Right now, when saving BotonicEvents to DataProvider, we need the standarized Botonic event
|
|
16
|
-
* to be saved. This is, converting a botonic input like: '{id: 'msgId', data: 'rawData', payload: 'somePayload'}'
|
|
17
|
-
* into a BotonicEvent with the expected properties.
|
|
18
|
-
*/
|
|
19
|
-
parseFromUserInput(input) {
|
|
20
|
-
return this.factory.parse(input);
|
|
21
|
-
}
|
|
22
|
-
xmlToJSONMessages(html) {
|
|
23
|
-
return parse(html, BotonicOutputParser.OPTIONS).message;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
BotonicOutputParser.OPTIONS = {
|
|
27
|
-
ignoreAttributes: false,
|
|
28
|
-
attributeNamePrefix: '',
|
|
29
|
-
textNodeName: TEXT_NODE_NAME,
|
|
30
|
-
arrayMode: true,
|
|
31
|
-
attrValueProcessor: a => decode(a),
|
|
32
|
-
};
|
|
1
|
+
export * from './botonic-output-parser';
|
|
2
|
+
export * from './factory';
|
|
3
|
+
export * from './parsers';
|
|
33
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-parser/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-parser/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import { BotonicMessageEvent } from '../models
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { CustomMessageEvent } from '../models/events/message/custom';
|
|
5
|
-
import { LocationMessageEvent } from '../models/events/message/location';
|
|
6
|
-
import { AudioMessageEvent, DocumentMessageEvent, ImageMessageEvent, VideoMessageEvent } from '../models/events/message/media';
|
|
7
|
-
import { PostbackMessageEvent } from '../models/events/message/postback';
|
|
8
|
-
import { Reply, WithReplies } from '../models/events/message/replies';
|
|
9
|
-
import { TextMessageEvent } from '../models/events/message/text';
|
|
1
|
+
import { AudioMessageEvent, BotonicMessageEvent, Button, CarouselElement, CarouselMessageEvent, CustomMessageEvent, DocumentMessageEvent, ImageMessageEvent, LocationMessageEvent, PostbackMessageEvent, Reply, TextMessageEvent, VideoMessageEvent, WithButtons, WithReplies } from '../models';
|
|
2
|
+
export declare function parseNumber(strNumber: string): number;
|
|
3
|
+
export declare function parseBoolean(strNumber: string): boolean;
|
|
10
4
|
export declare type ParseFunction<Out> = (args: {
|
|
11
5
|
toParse: any;
|
|
12
6
|
parsed?: any;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { EventTypes } from '../models
|
|
2
|
-
import { TEXT_NODE_NAME } from '
|
|
3
|
-
|
|
1
|
+
import { EventTypes, } from '../models';
|
|
2
|
+
import { TEXT_NODE_NAME } from './botonic-output-parser';
|
|
3
|
+
export function parseNumber(strNumber) {
|
|
4
|
+
return parseInt(strNumber);
|
|
5
|
+
}
|
|
6
|
+
export function parseBoolean(strNumber) {
|
|
7
|
+
if (strNumber === '0')
|
|
8
|
+
return false;
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
4
11
|
// COMMON
|
|
5
12
|
export const parseMessage = args => {
|
|
6
13
|
const typingAndDelay = {};
|
|
@@ -14,7 +21,7 @@ export const parseMessage = args => {
|
|
|
14
21
|
toParse: args.toParse,
|
|
15
22
|
parsed: Object.assign({
|
|
16
23
|
// Following properties added later before saving event: eventId, userId, createdAt, from, ack
|
|
17
|
-
eventType: EventTypes.MESSAGE, type: args.toParse.type }, typingAndDelay),
|
|
24
|
+
eventType: EventTypes.MESSAGE, type: args.toParse.type, ack: args.toParse.ack, from: args.toParse.from, channel: args.toParse.channel, idFromChannel: args.toParse.idFromChannel }, typingAndDelay),
|
|
18
25
|
};
|
|
19
26
|
};
|
|
20
27
|
// BUTTONS
|
|
@@ -71,7 +78,7 @@ export const parseReplies = args => {
|
|
|
71
78
|
export const parseText = args => {
|
|
72
79
|
return {
|
|
73
80
|
toParse: args.toParse,
|
|
74
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { text: args.toParse[TEXT_NODE_NAME]
|
|
81
|
+
parsed: Object.assign(Object.assign({}, args.parsed), { text: args.toParse[TEXT_NODE_NAME], markdown: parseBoolean(args.toParse.markdown) }),
|
|
75
82
|
};
|
|
76
83
|
};
|
|
77
84
|
// POSTBACK
|
|
@@ -85,7 +92,7 @@ export const parsePostback = args => {
|
|
|
85
92
|
export const parseMedia = args => {
|
|
86
93
|
return {
|
|
87
94
|
toParse: args.toParse,
|
|
88
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { src: args.toParse.src
|
|
95
|
+
parsed: Object.assign(Object.assign({}, args.parsed), { src: args.toParse.src }),
|
|
89
96
|
};
|
|
90
97
|
};
|
|
91
98
|
// LOCATION
|
|
@@ -117,7 +124,7 @@ export const parseCarousel = args => {
|
|
|
117
124
|
export const parseCustom = args => {
|
|
118
125
|
return {
|
|
119
126
|
toParse: args.toParse,
|
|
120
|
-
parsed: Object.assign(Object.assign({}, args.parsed), {
|
|
127
|
+
parsed: Object.assign(Object.assign({}, args.parsed), { json: JSON.parse(args.toParse.json) }),
|
|
121
128
|
};
|
|
122
129
|
};
|
|
123
130
|
//# sourceMappingURL=parsers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/output-parser/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/output-parser/parsers.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/plugins.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Input, PluginConfig, Session } from './
|
|
2
|
-
import { BotonicEvent } from './models/events';
|
|
1
|
+
import { BotonicEvent, BotState, Input, PluginConfig, Session } from './models';
|
|
3
2
|
declare type PluginMode = 'pre' | 'post';
|
|
4
3
|
export declare function loadPlugins(plugins: PluginConfig<any>[]): any;
|
|
5
4
|
export declare function runPlugins(plugins: any, // // TODO: Add type for resolvedPlugins, they differ from loaded plugins
|
|
6
|
-
mode: PluginMode, input: Input, session: Session,
|
|
5
|
+
mode: PluginMode, input: Input, session: Session, botState: BotState, response?: string | null, messageEvents?: Partial<BotonicEvent>[] | null, dataProvider?: any): Promise<void>;
|
|
7
6
|
export {};
|
package/lib/esm/plugins.js
CHANGED
|
@@ -17,19 +17,22 @@ export function loadPlugins(plugins) {
|
|
|
17
17
|
return _plugins;
|
|
18
18
|
}
|
|
19
19
|
export async function runPlugins(plugins, // // TODO: Add type for resolvedPlugins, they differ from loaded plugins
|
|
20
|
-
mode, input, session,
|
|
20
|
+
mode, input, session, botState, response = null, messageEvents = null, dataProvider // TODO: type as dataProvider
|
|
21
|
+
) {
|
|
21
22
|
for (const key in plugins) {
|
|
22
23
|
const p = await plugins[key];
|
|
23
24
|
try {
|
|
24
|
-
if (mode
|
|
25
|
-
await p.pre({ input, session,
|
|
26
|
-
if (mode
|
|
25
|
+
if (mode === 'pre')
|
|
26
|
+
await p.pre({ input, session, botState, dataProvider, plugins });
|
|
27
|
+
if (mode === 'post')
|
|
27
28
|
await p.post({
|
|
28
29
|
input,
|
|
29
30
|
session,
|
|
30
|
-
|
|
31
|
+
botState,
|
|
31
32
|
response,
|
|
32
|
-
|
|
33
|
+
messageEvents,
|
|
34
|
+
dataProvider,
|
|
35
|
+
plugins,
|
|
33
36
|
});
|
|
34
37
|
}
|
|
35
38
|
catch (e) {
|
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":"AAWA,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,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAY,EAAE,yEAAyE;AACvF,IAAgB,EAChB,KAAY,EACZ,OAAgB,EAChB,QAAkB,EAClB,WAA0B,IAAI,EAC9B,gBAAgD,IAAI,EACpD,YAAkB,CAAC,6BAA6B;;IAEhD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;QACzB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI;YACF,IAAI,IAAI,KAAK,KAAK;gBAChB,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAA;YAClE,IAAI,IAAI,KAAK,MAAM;gBACjB,MAAM,CAAC,CAAC,IAAI,CAAC;oBACX,KAAK;oBACL,OAAO;oBACP,QAAQ;oBACR,QAAQ;oBACR,aAAa;oBACb,YAAY;oBACZ,OAAO;iBACR,CAAC,CAAA;SACL;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;SACf;KACF;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Action, BotRequest, Input, Params, PathParams, Route, Routes } from '../models';
|
|
2
|
+
export declare class NoMatchingRouteError extends Error {
|
|
3
|
+
input: Input;
|
|
4
|
+
constructor(input: Input);
|
|
5
|
+
}
|
|
6
|
+
export declare function isPathPayload(payload?: string): boolean;
|
|
7
|
+
export declare function getPathParamsFromPathPayload(payload?: string): PathParams;
|
|
8
|
+
export declare function pathParamsToParams(pathParams?: string): Params;
|
|
9
|
+
export declare function getEmptyAction(childRoutes?: Route[]): Action;
|
|
10
|
+
export declare function getNotFoundAction(input: Input, routes: Route[]): Action;
|
|
11
|
+
export declare function getComputedRoutes(routes: Routes, request: BotRequest): Promise<Route[]>;
|