@botonic/core 1.0.0-dev.2 → 2.23.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/CHANGELOG.md +226 -0
- package/README.md +7 -9
- package/package.json +19 -57
- package/src/index.d.ts +4 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/src/lib/core-bot/index.d.ts +33 -0
- package/src/lib/core-bot/index.js +113 -0
- package/src/lib/core-bot/index.js.map +1 -0
- package/src/lib/hubtype-service/handoff.d.ts +4 -0
- package/src/lib/hubtype-service/handoff.js +32 -0
- package/src/lib/hubtype-service/handoff.js.map +1 -0
- package/src/lib/hubtype-service/index.d.ts +10 -0
- package/src/lib/hubtype-service/index.js +96 -0
- package/src/lib/hubtype-service/index.js.map +1 -0
- package/src/lib/messages/button.d.ts +8 -0
- package/src/lib/messages/button.js +10 -0
- package/src/lib/messages/button.js.map +1 -0
- package/src/lib/plugins/index.d.ts +2 -0
- package/src/lib/plugins/index.js +23 -0
- package/src/lib/plugins/index.js.map +1 -0
- package/src/lib/routes/index.d.ts +0 -0
- package/src/lib/routes/index.js +2 -0
- package/src/lib/routes/index.js.map +1 -0
- package/src/lib/routes/router.d.ts +14 -0
- package/src/lib/routes/router.js +68 -0
- package/src/lib/routes/router.js.map +1 -0
- package/src/lib/routes/types.d.ts +15 -0
- package/src/lib/routes/types.js +2 -0
- package/src/lib/routes/types.js.map +1 -0
- package/{lib/cjs/utils.d.ts → src/lib/utils/index.d.ts} +0 -4
- package/{lib/esm/utils.js → src/lib/utils/index.js} +1 -34
- package/src/lib/utils/index.js.map +1 -0
- package/lib/cjs/constants.d.ts +0 -4
- package/lib/cjs/constants.js +0 -8
- package/lib/cjs/constants.js.map +0 -1
- package/lib/cjs/core-bot.d.ts +0 -36
- package/lib/cjs/core-bot.js +0 -96
- package/lib/cjs/core-bot.js.map +0 -1
- package/lib/cjs/debug/index.d.ts +0 -1
- package/lib/cjs/debug/index.js +0 -5
- package/lib/cjs/debug/index.js.map +0 -1
- package/lib/cjs/debug/inspector.d.ts +0 -24
- package/lib/cjs/debug/inspector.js +0 -72
- package/lib/cjs/debug/inspector.js.map +0 -1
- package/lib/cjs/handoff.d.ts +0 -67
- package/lib/cjs/handoff.js +0 -186
- package/lib/cjs/handoff.js.map +0 -1
- package/lib/cjs/hubtype-service.d.ts +0 -69
- package/lib/cjs/hubtype-service.js +0 -190
- package/lib/cjs/hubtype-service.js.map +0 -1
- package/lib/cjs/i18n.d.ts +0 -2
- package/lib/cjs/i18n.js +0 -11
- package/lib/cjs/i18n.js.map +0 -1
- package/lib/cjs/index.d.ts +0 -11
- package/lib/cjs/index.js +0 -15
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/models/bot-state.d.ts +0 -11
- package/lib/cjs/models/bot-state.js +0 -3
- package/lib/cjs/models/bot-state.js.map +0 -1
- package/lib/cjs/models/channels.d.ts +0 -9
- package/lib/cjs/models/channels.js +0 -14
- package/lib/cjs/models/channels.js.map +0 -1
- package/lib/cjs/models/events/base-event.d.ts +0 -20
- package/lib/cjs/models/events/base-event.js +0 -17
- package/lib/cjs/models/events/base-event.js.map +0 -1
- package/lib/cjs/models/events/botonic-event.d.ts +0 -4
- package/lib/cjs/models/events/botonic-event.js +0 -3
- package/lib/cjs/models/events/botonic-event.js.map +0 -1
- package/lib/cjs/models/events/connection/connection-event.d.ts +0 -9
- package/lib/cjs/models/events/connection/connection-event.js +0 -9
- package/lib/cjs/models/events/connection/connection-event.js.map +0 -1
- package/lib/cjs/models/events/connection/index.d.ts +0 -1
- package/lib/cjs/models/events/connection/index.js +0 -5
- package/lib/cjs/models/events/connection/index.js.map +0 -1
- package/lib/cjs/models/events/index.d.ts +0 -4
- package/lib/cjs/models/events/index.js +0 -8
- package/lib/cjs/models/events/index.js.map +0 -1
- package/lib/cjs/models/events/integration/index.d.ts +0 -1
- package/lib/cjs/models/events/integration/index.js +0 -5
- package/lib/cjs/models/events/integration/index.js.map +0 -1
- package/lib/cjs/models/events/integration/integration-event.d.ts +0 -6
- package/lib/cjs/models/events/integration/integration-event.js +0 -3
- package/lib/cjs/models/events/integration/integration-event.js.map +0 -1
- package/lib/cjs/models/events/message/buttons.d.ts +0 -18
- package/lib/cjs/models/events/message/buttons.js +0 -3
- package/lib/cjs/models/events/message/buttons.js.map +0 -1
- package/lib/cjs/models/events/message/carousel.d.ts +0 -11
- package/lib/cjs/models/events/message/carousel.js +0 -3
- package/lib/cjs/models/events/message/carousel.js.map +0 -1
- package/lib/cjs/models/events/message/custom.d.ts +0 -6
- package/lib/cjs/models/events/message/custom.js +0 -3
- package/lib/cjs/models/events/message/custom.js.map +0 -1
- package/lib/cjs/models/events/message/index.d.ts +0 -9
- package/lib/cjs/models/events/message/index.js +0 -13
- package/lib/cjs/models/events/message/index.js.map +0 -1
- package/lib/cjs/models/events/message/location.d.ts +0 -6
- package/lib/cjs/models/events/message/location.js +0 -3
- package/lib/cjs/models/events/message/location.js.map +0 -1
- package/lib/cjs/models/events/message/media.d.ts +0 -18
- package/lib/cjs/models/events/message/media.js +0 -11
- package/lib/cjs/models/events/message/media.js.map +0 -1
- package/lib/cjs/models/events/message/message-event.d.ts +0 -30
- package/lib/cjs/models/events/message/message-event.js +0 -32
- package/lib/cjs/models/events/message/message-event.js.map +0 -1
- package/lib/cjs/models/events/message/postback.d.ts +0 -4
- package/lib/cjs/models/events/message/postback.js +0 -3
- package/lib/cjs/models/events/message/postback.js.map +0 -1
- package/lib/cjs/models/events/message/replies.d.ts +0 -7
- package/lib/cjs/models/events/message/replies.js +0 -3
- package/lib/cjs/models/events/message/replies.js.map +0 -1
- package/lib/cjs/models/events/message/text.d.ts +0 -8
- package/lib/cjs/models/events/message/text.js +0 -3
- package/lib/cjs/models/events/message/text.js.map +0 -1
- package/lib/cjs/models/index.d.ts +0 -6
- package/lib/cjs/models/index.js +0 -10
- package/lib/cjs/models/index.js.map +0 -1
- package/lib/cjs/models/legacy-types.d.ts +0 -184
- package/lib/cjs/models/legacy-types.js +0 -59
- package/lib/cjs/models/legacy-types.js.map +0 -1
- package/lib/cjs/models/session.d.ts +0 -3
- package/lib/cjs/models/session.js +0 -3
- package/lib/cjs/models/session.js.map +0 -1
- package/lib/cjs/models/user.d.ts +0 -14
- package/lib/cjs/models/user.js +0 -3
- package/lib/cjs/models/user.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 -32
- 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 -22
- package/lib/cjs/output-parser/parsers.js +0 -147
- package/lib/cjs/output-parser/parsers.js.map +0 -1
- package/lib/cjs/plugins.d.ts +0 -6
- package/lib/cjs/plugins.js +0 -48
- package/lib/cjs/plugins.js.map +0 -1
- package/lib/cjs/routing/index.d.ts +0 -2
- package/lib/cjs/routing/index.js +0 -6
- package/lib/cjs/routing/index.js.map +0 -1
- package/lib/cjs/routing/router-utils.d.ts +0 -11
- package/lib/cjs/routing/router-utils.js +0 -89
- package/lib/cjs/routing/router-utils.js.map +0 -1
- package/lib/cjs/routing/router.d.ts +0 -54
- package/lib/cjs/routing/router.js +0 -319
- package/lib/cjs/routing/router.js.map +0 -1
- package/lib/cjs/utils.js +0 -90
- package/lib/cjs/utils.js.map +0 -1
- package/lib/esm/constants.d.ts +0 -4
- package/lib/esm/constants.js +0 -5
- package/lib/esm/constants.js.map +0 -1
- package/lib/esm/core-bot.d.ts +0 -36
- package/lib/esm/core-bot.js +0 -92
- package/lib/esm/core-bot.js.map +0 -1
- package/lib/esm/debug/index.d.ts +0 -1
- package/lib/esm/debug/index.js +0 -2
- package/lib/esm/debug/index.js.map +0 -1
- package/lib/esm/debug/inspector.d.ts +0 -24
- package/lib/esm/debug/inspector.js +0 -65
- package/lib/esm/debug/inspector.js.map +0 -1
- package/lib/esm/handoff.d.ts +0 -67
- package/lib/esm/handoff.js +0 -173
- package/lib/esm/handoff.js.map +0 -1
- package/lib/esm/hubtype-service.d.ts +0 -69
- package/lib/esm/hubtype-service.js +0 -185
- package/lib/esm/hubtype-service.js.map +0 -1
- package/lib/esm/i18n.d.ts +0 -2
- package/lib/esm/i18n.js +0 -7
- package/lib/esm/i18n.js.map +0 -1
- package/lib/esm/index.d.ts +0 -11
- package/lib/esm/index.js +0 -12
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/models/bot-state.d.ts +0 -11
- package/lib/esm/models/bot-state.js +0 -2
- package/lib/esm/models/bot-state.js.map +0 -1
- package/lib/esm/models/channels.d.ts +0 -9
- package/lib/esm/models/channels.js +0 -11
- package/lib/esm/models/channels.js.map +0 -1
- package/lib/esm/models/events/base-event.d.ts +0 -20
- package/lib/esm/models/events/base-event.js +0 -14
- package/lib/esm/models/events/base-event.js.map +0 -1
- package/lib/esm/models/events/botonic-event.d.ts +0 -4
- package/lib/esm/models/events/botonic-event.js +0 -2
- package/lib/esm/models/events/botonic-event.js.map +0 -1
- package/lib/esm/models/events/connection/connection-event.d.ts +0 -9
- package/lib/esm/models/events/connection/connection-event.js +0 -6
- package/lib/esm/models/events/connection/connection-event.js.map +0 -1
- package/lib/esm/models/events/connection/index.d.ts +0 -1
- package/lib/esm/models/events/connection/index.js +0 -2
- package/lib/esm/models/events/connection/index.js.map +0 -1
- package/lib/esm/models/events/index.d.ts +0 -4
- package/lib/esm/models/events/index.js +0 -5
- package/lib/esm/models/events/index.js.map +0 -1
- package/lib/esm/models/events/integration/index.d.ts +0 -1
- package/lib/esm/models/events/integration/index.js +0 -2
- package/lib/esm/models/events/integration/index.js.map +0 -1
- package/lib/esm/models/events/integration/integration-event.d.ts +0 -6
- package/lib/esm/models/events/integration/integration-event.js +0 -2
- package/lib/esm/models/events/integration/integration-event.js.map +0 -1
- package/lib/esm/models/events/message/buttons.d.ts +0 -18
- package/lib/esm/models/events/message/buttons.js +0 -2
- package/lib/esm/models/events/message/buttons.js.map +0 -1
- package/lib/esm/models/events/message/carousel.d.ts +0 -11
- package/lib/esm/models/events/message/carousel.js +0 -2
- package/lib/esm/models/events/message/carousel.js.map +0 -1
- package/lib/esm/models/events/message/custom.d.ts +0 -6
- package/lib/esm/models/events/message/custom.js +0 -2
- package/lib/esm/models/events/message/custom.js.map +0 -1
- package/lib/esm/models/events/message/index.d.ts +0 -9
- package/lib/esm/models/events/message/index.js +0 -10
- package/lib/esm/models/events/message/index.js.map +0 -1
- package/lib/esm/models/events/message/location.d.ts +0 -6
- package/lib/esm/models/events/message/location.js +0 -2
- package/lib/esm/models/events/message/location.js.map +0 -1
- package/lib/esm/models/events/message/media.d.ts +0 -18
- package/lib/esm/models/events/message/media.js +0 -8
- package/lib/esm/models/events/message/media.js.map +0 -1
- package/lib/esm/models/events/message/message-event.d.ts +0 -30
- package/lib/esm/models/events/message/message-event.js +0 -29
- package/lib/esm/models/events/message/message-event.js.map +0 -1
- package/lib/esm/models/events/message/postback.d.ts +0 -4
- package/lib/esm/models/events/message/postback.js +0 -2
- package/lib/esm/models/events/message/postback.js.map +0 -1
- package/lib/esm/models/events/message/replies.d.ts +0 -7
- package/lib/esm/models/events/message/replies.js +0 -2
- package/lib/esm/models/events/message/replies.js.map +0 -1
- package/lib/esm/models/events/message/text.d.ts +0 -8
- package/lib/esm/models/events/message/text.js +0 -2
- package/lib/esm/models/events/message/text.js.map +0 -1
- package/lib/esm/models/index.d.ts +0 -6
- package/lib/esm/models/index.js +0 -7
- package/lib/esm/models/index.js.map +0 -1
- package/lib/esm/models/legacy-types.d.ts +0 -184
- package/lib/esm/models/legacy-types.js +0 -56
- package/lib/esm/models/legacy-types.js.map +0 -1
- package/lib/esm/models/session.d.ts +0 -3
- package/lib/esm/models/session.js +0 -2
- package/lib/esm/models/session.js.map +0 -1
- package/lib/esm/models/user.d.ts +0 -14
- package/lib/esm/models/user.js +0 -2
- package/lib/esm/models/user.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 -28
- 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 -22
- package/lib/esm/output-parser/parsers.js +0 -130
- package/lib/esm/output-parser/parsers.js.map +0 -1
- package/lib/esm/plugins.d.ts +0 -6
- package/lib/esm/plugins.js +0 -43
- package/lib/esm/plugins.js.map +0 -1
- package/lib/esm/routing/index.d.ts +0 -2
- package/lib/esm/routing/index.js +0 -3
- package/lib/esm/routing/index.js.map +0 -1
- package/lib/esm/routing/router-utils.d.ts +0 -11
- package/lib/esm/routing/router-utils.js +0 -79
- package/lib/esm/routing/router-utils.js.map +0 -1
- package/lib/esm/routing/router.d.ts +0 -54
- package/lib/esm/routing/router.js +0 -315
- package/lib/esm/routing/router.js.map +0 -1
- package/lib/esm/utils.d.ts +0 -11
- package/lib/esm/utils.js.map +0 -1
- package/src/constants.ts +0 -6
- package/src/core-bot.ts +0 -181
- package/src/debug/index.ts +0 -1
- package/src/debug/inspector.ts +0 -102
- package/src/handoff.ts +0 -271
- package/src/hubtype-service.ts +0 -266
- package/src/i18n.ts +0 -12
- package/src/index.ts +0 -11
- package/src/models/bot-state.ts +0 -12
- package/src/models/channels.ts +0 -9
- package/src/models/events/base-event.ts +0 -22
- package/src/models/events/botonic-event.ts +0 -26
- package/src/models/events/connection/connection-event.ts +0 -11
- package/src/models/events/connection/index.ts +0 -1
- package/src/models/events/index.ts +0 -4
- package/src/models/events/integration/index.ts +0 -1
- package/src/models/events/integration/integration-event.ts +0 -13
- package/src/models/events/message/buttons.ts +0 -23
- package/src/models/events/message/carousel.ts +0 -13
- package/src/models/events/message/custom.ts +0 -7
- package/src/models/events/message/index.ts +0 -9
- package/src/models/events/message/location.ts +0 -7
- package/src/models/events/message/media.ts +0 -28
- package/src/models/events/message/message-event.ts +0 -37
- package/src/models/events/message/postback.ts +0 -5
- package/src/models/events/message/replies.ts +0 -8
- package/src/models/events/message/text.ts +0 -12
- package/src/models/index.ts +0 -6
- package/src/models/legacy-types.ts +0 -262
- package/src/models/session.ts +0 -3
- package/src/models/user.ts +0 -16
- package/src/output-parser/botonic-output-parser.ts +0 -38
- package/src/output-parser/factory.ts +0 -38
- package/src/output-parser/index.ts +0 -3
- package/src/output-parser/parsers.ts +0 -202
- package/src/plugins.ts +0 -59
- package/src/routing/index.ts +0 -2
- package/src/routing/router-utils.ts +0 -100
- package/src/routing/router.ts +0 -415
- package/src/utils.ts +0 -90
|
@@ -1,56 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/models/session.ts"],"names":[],"mappings":""}
|
package/lib/esm/models/user.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { BotState } from './bot-state';
|
|
2
|
-
import { Session } from './session';
|
|
3
|
-
export interface User {
|
|
4
|
-
id: string;
|
|
5
|
-
name?: string;
|
|
6
|
-
userName?: string;
|
|
7
|
-
channel: string;
|
|
8
|
-
idFromChannel: string;
|
|
9
|
-
session: Session;
|
|
10
|
-
botState: BotState;
|
|
11
|
-
isOnline: boolean;
|
|
12
|
-
websocketId?: string;
|
|
13
|
-
locationInfo: string;
|
|
14
|
-
}
|
package/lib/esm/models/user.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/models/user.ts"],"names":[],"mappings":""}
|
|
@@ -1,16 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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,28 +0,0 @@
|
|
|
1
|
-
import { MEDIA_TYPES, MessageEventTypes } from '../models';
|
|
2
|
-
import { parseButtons, parseCarousel, parseCustom, parseLocation, parseMedia, parseMessage, parsePostback, parseReplies, parseText, } from './parsers';
|
|
3
|
-
export class MessageParsingFactory {
|
|
4
|
-
parse(msgToParse) {
|
|
5
|
-
const type = msgToParse.type;
|
|
6
|
-
const parsedMessage = parseMessage({ toParse: msgToParse });
|
|
7
|
-
if (type === MessageEventTypes.TEXT) {
|
|
8
|
-
return parseText(parseReplies(parseButtons(parsedMessage))).parsed;
|
|
9
|
-
}
|
|
10
|
-
if (type === MessageEventTypes.POSTBACK) {
|
|
11
|
-
return parsePostback(parsedMessage).parsed;
|
|
12
|
-
}
|
|
13
|
-
if (MEDIA_TYPES.includes(type)) {
|
|
14
|
-
return parseMedia(parseButtons(parsedMessage)).parsed;
|
|
15
|
-
}
|
|
16
|
-
if (type === MessageEventTypes.LOCATION) {
|
|
17
|
-
return parseLocation(parsedMessage).parsed;
|
|
18
|
-
}
|
|
19
|
-
if (type === MessageEventTypes.CAROUSEL) {
|
|
20
|
-
return parseCarousel(parsedMessage).parsed;
|
|
21
|
-
}
|
|
22
|
-
if (type === MessageEventTypes.CUSTOM) {
|
|
23
|
-
return parseCustom(parseReplies(parsedMessage)).parsed;
|
|
24
|
-
}
|
|
25
|
-
throw new Error(`Parsing for type: '${type}' not implemented.`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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,22 +0,0 @@
|
|
|
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;
|
|
4
|
-
export declare type ParseFunction<Out> = (args: {
|
|
5
|
-
toParse: any;
|
|
6
|
-
parsed?: any;
|
|
7
|
-
}) => {
|
|
8
|
-
toParse: any;
|
|
9
|
-
parsed: Partial<Out>;
|
|
10
|
-
};
|
|
11
|
-
export declare const parseMessage: ParseFunction<BotonicMessageEvent>;
|
|
12
|
-
export declare const parseButton: (button: any) => Button;
|
|
13
|
-
export declare const parseButtons: ParseFunction<WithButtons>;
|
|
14
|
-
export declare const parseReply: (reply: any) => Reply;
|
|
15
|
-
export declare const parseReplies: ParseFunction<WithReplies>;
|
|
16
|
-
export declare const parseText: ParseFunction<TextMessageEvent>;
|
|
17
|
-
export declare const parsePostback: ParseFunction<PostbackMessageEvent>;
|
|
18
|
-
export declare const parseMedia: ParseFunction<AudioMessageEvent | DocumentMessageEvent | ImageMessageEvent | VideoMessageEvent>;
|
|
19
|
-
export declare const parseLocation: ParseFunction<LocationMessageEvent>;
|
|
20
|
-
export declare const parseElement: (element: any) => CarouselElement;
|
|
21
|
-
export declare const parseCarousel: ParseFunction<CarouselMessageEvent>;
|
|
22
|
-
export declare const parseCustom: ParseFunction<CustomMessageEvent>;
|
|
@@ -1,130 +0,0 @@
|
|
|
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
|
-
}
|
|
11
|
-
// COMMON
|
|
12
|
-
export const parseMessage = args => {
|
|
13
|
-
const typingAndDelay = {};
|
|
14
|
-
if (args.toParse.delay !== undefined) {
|
|
15
|
-
typingAndDelay['delay'] = parseNumber(args.toParse.delay);
|
|
16
|
-
}
|
|
17
|
-
if (args.toParse.typing !== undefined) {
|
|
18
|
-
typingAndDelay['typing'] = parseNumber(args.toParse.typing);
|
|
19
|
-
}
|
|
20
|
-
return {
|
|
21
|
-
toParse: args.toParse,
|
|
22
|
-
parsed: Object.assign({
|
|
23
|
-
// Following properties added later before saving event: eventId, userId, createdAt, from, ack
|
|
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),
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
// BUTTONS
|
|
28
|
-
export const parseButton = (button) => {
|
|
29
|
-
const title = button[TEXT_NODE_NAME];
|
|
30
|
-
if ('payload' in button) {
|
|
31
|
-
return { title, payload: button.payload };
|
|
32
|
-
}
|
|
33
|
-
if ('url' in button) {
|
|
34
|
-
const b = { title, url: button.url, target: button.target };
|
|
35
|
-
if (button.target)
|
|
36
|
-
b.target = button.target;
|
|
37
|
-
return b;
|
|
38
|
-
}
|
|
39
|
-
if ('webview' in button) {
|
|
40
|
-
return {
|
|
41
|
-
title,
|
|
42
|
-
webview: button.webview,
|
|
43
|
-
params: button.params,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
throw new Error('Invalid parsed Button');
|
|
47
|
-
};
|
|
48
|
-
export const parseButtons = args => {
|
|
49
|
-
var _a, _b;
|
|
50
|
-
const hasButtons = ((_b = (_a = args.toParse) === null || _a === void 0 ? void 0 : _a.button) === null || _b === void 0 ? void 0 : _b.length) > 0;
|
|
51
|
-
let buttons = [];
|
|
52
|
-
if (hasButtons) {
|
|
53
|
-
buttons = args.toParse.button.map(button => parseButton(button));
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
toParse: args.toParse,
|
|
57
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { buttons }),
|
|
58
|
-
};
|
|
59
|
-
};
|
|
60
|
-
// REPLIES
|
|
61
|
-
export const parseReply = (reply) => ({
|
|
62
|
-
title: reply[TEXT_NODE_NAME],
|
|
63
|
-
payload: reply.payload,
|
|
64
|
-
});
|
|
65
|
-
export const parseReplies = args => {
|
|
66
|
-
var _a, _b;
|
|
67
|
-
const hasReplies = ((_b = (_a = args.toParse) === null || _a === void 0 ? void 0 : _a.reply) === null || _b === void 0 ? void 0 : _b.length) > 0;
|
|
68
|
-
let replies = [];
|
|
69
|
-
if (hasReplies) {
|
|
70
|
-
replies = args.toParse.reply.map(reply => parseReply(reply));
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
toParse: args.toParse,
|
|
74
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { replies }),
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
// TEXT
|
|
78
|
-
export const parseText = args => {
|
|
79
|
-
return {
|
|
80
|
-
toParse: args.toParse,
|
|
81
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { text: args.toParse[TEXT_NODE_NAME], markdown: parseBoolean(args.toParse.markdown) }),
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
// POSTBACK
|
|
85
|
-
export const parsePostback = args => {
|
|
86
|
-
return {
|
|
87
|
-
toParse: args.toParse,
|
|
88
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { payload: args.toParse.payload }),
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
// MEDIA
|
|
92
|
-
export const parseMedia = args => {
|
|
93
|
-
return {
|
|
94
|
-
toParse: args.toParse,
|
|
95
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { src: args.toParse.src }),
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
// LOCATION
|
|
99
|
-
export const parseLocation = args => {
|
|
100
|
-
return {
|
|
101
|
-
toParse: args.toParse,
|
|
102
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { lat: args.toParse.lat, long: args.toParse.long }),
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
// CAROUSEL
|
|
106
|
-
export const parseElement = (element) => {
|
|
107
|
-
const e = {
|
|
108
|
-
pic: element.pic,
|
|
109
|
-
title: element.title,
|
|
110
|
-
subtitle: element.desc,
|
|
111
|
-
};
|
|
112
|
-
const hasButtons = element.button !== undefined;
|
|
113
|
-
if (hasButtons)
|
|
114
|
-
e.buttons = element.button.map(b => parseButton(b));
|
|
115
|
-
return e;
|
|
116
|
-
};
|
|
117
|
-
export const parseCarousel = args => {
|
|
118
|
-
return {
|
|
119
|
-
toParse: args.toParse,
|
|
120
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { elements: args.toParse.element.map(element => parseElement(element)) }),
|
|
121
|
-
};
|
|
122
|
-
};
|
|
123
|
-
// CUSTOM
|
|
124
|
-
export const parseCustom = args => {
|
|
125
|
-
return {
|
|
126
|
-
toParse: args.toParse,
|
|
127
|
-
parsed: Object.assign(Object.assign({}, args.parsed), { json: JSON.parse(args.toParse.json) }),
|
|
128
|
-
};
|
|
129
|
-
};
|
|
130
|
-
//# sourceMappingURL=parsers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { BotonicEvent, BotState, Input, PluginConfig, Session } from './models';
|
|
2
|
-
declare type PluginMode = 'pre' | 'post';
|
|
3
|
-
export declare function loadPlugins(plugins: PluginConfig<any>[]): any;
|
|
4
|
-
export declare function runPlugins(plugins: any, // // TODO: Add type for resolvedPlugins, they differ from loaded plugins
|
|
5
|
-
mode: PluginMode, input: Input, session: Session, botState: BotState, response?: string | null, messageEvents?: Partial<BotonicEvent>[] | null, dataProvider?: any): Promise<void>;
|
|
6
|
-
export {};
|
package/lib/esm/plugins.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
export function loadPlugins(plugins) {
|
|
2
|
-
if (!plugins)
|
|
3
|
-
return [];
|
|
4
|
-
const _plugins = {};
|
|
5
|
-
const pluginsLength = plugins.length;
|
|
6
|
-
for (let i = 0; i < pluginsLength; i++) {
|
|
7
|
-
const pluginRequired = plugins[i].resolve;
|
|
8
|
-
const options = plugins[i].options;
|
|
9
|
-
const Plugin = pluginRequired.default;
|
|
10
|
-
const instance = new Plugin(options);
|
|
11
|
-
const id = plugins[i].id || `${instance.constructor.name}`;
|
|
12
|
-
_plugins[id] = instance;
|
|
13
|
-
_plugins[id].id = id;
|
|
14
|
-
_plugins[id].config = options;
|
|
15
|
-
_plugins[id].name = `${instance.constructor.name}`;
|
|
16
|
-
}
|
|
17
|
-
return _plugins;
|
|
18
|
-
}
|
|
19
|
-
export async function runPlugins(plugins, // // TODO: Add type for resolvedPlugins, they differ from loaded plugins
|
|
20
|
-
mode, input, session, botState, response = null, messageEvents = null, dataProvider // TODO: type as dataProvider
|
|
21
|
-
) {
|
|
22
|
-
for (const key in plugins) {
|
|
23
|
-
const p = await plugins[key];
|
|
24
|
-
try {
|
|
25
|
-
if (mode === 'pre')
|
|
26
|
-
await p.pre({ input, session, botState, dataProvider, plugins });
|
|
27
|
-
if (mode === 'post')
|
|
28
|
-
await p.post({
|
|
29
|
-
input,
|
|
30
|
-
session,
|
|
31
|
-
botState,
|
|
32
|
-
response,
|
|
33
|
-
messageEvents,
|
|
34
|
-
dataProvider,
|
|
35
|
-
plugins,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
console.log(e);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=plugins.js.map
|
package/lib/esm/plugins.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
package/lib/esm/routing/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
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[]>;
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { EMPTY_ACTION_PATH, NOT_FOUND_PATH, PATH_PAYLOAD_IDENTIFIER, PATH_PAYLOAD_REGEXP, } from '../constants';
|
|
2
|
-
export class NoMatchingRouteError extends Error {
|
|
3
|
-
constructor(input) {
|
|
4
|
-
super(`No route found for input '${JSON.stringify(input)}' and no ${NOT_FOUND_PATH} route defined`);
|
|
5
|
-
this.input = input;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
export function isPathPayload(payload) {
|
|
9
|
-
if (!payload)
|
|
10
|
-
return false;
|
|
11
|
-
const isPathPayload = PATH_PAYLOAD_REGEXP.exec(payload);
|
|
12
|
-
return Boolean(isPathPayload);
|
|
13
|
-
}
|
|
14
|
-
export function getPathParamsFromPathPayload(payload) {
|
|
15
|
-
const defaultPathParams = {
|
|
16
|
-
path: null,
|
|
17
|
-
params: {},
|
|
18
|
-
};
|
|
19
|
-
if (!payload)
|
|
20
|
-
return defaultPathParams;
|
|
21
|
-
if (!isPathPayload(payload))
|
|
22
|
-
return defaultPathParams;
|
|
23
|
-
try {
|
|
24
|
-
const pathWithParams = payload.split(PATH_PAYLOAD_IDENTIFIER)[1];
|
|
25
|
-
if (!pathWithParams) {
|
|
26
|
-
throw `${PATH_PAYLOAD_IDENTIFIER} is empty`;
|
|
27
|
-
}
|
|
28
|
-
const [path, params] = pathWithParams.split('?');
|
|
29
|
-
return { path: path !== null && path !== void 0 ? path : null, params: pathParamsToParams(params) };
|
|
30
|
-
}
|
|
31
|
-
catch (e) {
|
|
32
|
-
console.error('Error getting path and params from input.payload:', e);
|
|
33
|
-
return defaultPathParams;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
export function pathParamsToParams(pathParams) {
|
|
37
|
-
if (!pathParams)
|
|
38
|
-
return {};
|
|
39
|
-
try {
|
|
40
|
-
const params = {};
|
|
41
|
-
const searchParams = new URLSearchParams(pathParams);
|
|
42
|
-
for (const [key, value] of searchParams) {
|
|
43
|
-
params[key] = value;
|
|
44
|
-
}
|
|
45
|
-
return params;
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
return {};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
export function getEmptyAction(childRoutes) {
|
|
52
|
-
if (!childRoutes)
|
|
53
|
-
return null;
|
|
54
|
-
const emptyActionRoute = childRoutes.find(r => r.path === EMPTY_ACTION_PATH);
|
|
55
|
-
if (!emptyActionRoute)
|
|
56
|
-
return null;
|
|
57
|
-
return emptyActionRoute.action;
|
|
58
|
-
}
|
|
59
|
-
export function getNotFoundAction(input, routes) {
|
|
60
|
-
const notFoundActionRoute = routes.find(r => r.path === NOT_FOUND_PATH);
|
|
61
|
-
if (!notFoundActionRoute)
|
|
62
|
-
throw new NoMatchingRouteError(input);
|
|
63
|
-
return notFoundActionRoute.action;
|
|
64
|
-
}
|
|
65
|
-
export async function getComputedRoutes(routes, request) {
|
|
66
|
-
if (routes instanceof Function) {
|
|
67
|
-
return await getComputedRoutes(await routes(request), request);
|
|
68
|
-
}
|
|
69
|
-
for (const [key, route] of Object.entries(routes)) {
|
|
70
|
-
if (route.childRoutes && route.childRoutes instanceof Function) {
|
|
71
|
-
routes[key].childRoutes = await getComputedRoutes(await route.childRoutes(request), request);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
routes[key] = route;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return routes;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=router-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"router-utils.js","sourceRoot":"","sources":["../../../src/routing/router-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { RouteInspector } from '../debug/inspector';
|
|
2
|
-
import { BotState, Input, MatchedValue, Matcher, MatchingProp, Nullable, ProcessInputResult, Route, RouteParams, RoutePath, RoutingState, Session } from '../models';
|
|
3
|
-
export declare class Router {
|
|
4
|
-
routes: Route[];
|
|
5
|
-
routeInspector: RouteInspector;
|
|
6
|
-
constructor(routes: Route[], routeInspector?: RouteInspector | undefined);
|
|
7
|
-
/**
|
|
8
|
-
* Processes an input and return a representation of the new bot state.
|
|
9
|
-
* The algorithm is splitted in two main parts:
|
|
10
|
-
* 1. Getting the current routing state.
|
|
11
|
-
* 2. Given a routing state, resolve the different possible scenarios and return the new bot state.
|
|
12
|
-
* The new bot state can return three type of actions:
|
|
13
|
-
* - action: an action directly resolved from a matching route
|
|
14
|
-
* - emptyAction: optional action that can exists or not only within childRoutes
|
|
15
|
-
* - fallbackAction: any other action that acts as a fallback (404, )
|
|
16
|
-
*/
|
|
17
|
-
processInput(input: Input, session: Session, botState: BotState): ProcessInputResult;
|
|
18
|
-
/**
|
|
19
|
-
* Find the route that matches the given input, if it match with some of the entries, return the whole Route of the entry with optional params captured if matcher was a regex.
|
|
20
|
-
* IMPORTANT: It returns a cloned route instead of the route itself to avoid modifying original routes and introduce side effects
|
|
21
|
-
* */
|
|
22
|
-
getRoute(input: Input | Partial<Input>, routes: Route[], session: Session, lastRoutePath: RoutePath): RouteParams | null;
|
|
23
|
-
/**
|
|
24
|
-
* Find the route that matches the given path. Path can include concatenations, e.g: 'Flow1/Subflow1.1'.
|
|
25
|
-
* IMPORTANT: It returns a cloned route instead of the route itself to avoid modifying original routes and introduce side effects
|
|
26
|
-
* */
|
|
27
|
-
getRouteByPath(path: RoutePath, routeList?: Route[]): Nullable<Route>;
|
|
28
|
-
/**
|
|
29
|
-
* Returns the matched value for a specific route.
|
|
30
|
-
* Matching Props: ('text' | 'payload' | 'intent' | 'type' | 'input' | 'session' | 'request' ...)
|
|
31
|
-
* Matchers: (string: exact match | regex: regular expression match | function: return true)
|
|
32
|
-
* input: user input object, e.g.: {type: 'text', data: 'Hi'}
|
|
33
|
-
* */
|
|
34
|
-
matchRoute(route: Route, prop: MatchingProp, matcher: Matcher, input: Input, session: Session, lastRoutePath: RoutePath): MatchedValue;
|
|
35
|
-
/**
|
|
36
|
-
* Runs the matcher against the given value.
|
|
37
|
-
* If there is a match, it will return a truthy value (true, RegExp result), o.w., it will return a falsy value.
|
|
38
|
-
* */
|
|
39
|
-
matchValue(matcher: Matcher, value: any): MatchedValue;
|
|
40
|
-
/**
|
|
41
|
-
* It resolves the current state of navigation. Two scenarios:
|
|
42
|
-
* 1. Given a path payload input (__PATH_PAYLOAD__somePath?someParam=someValue), we can resolve the routing state directly from it (using getRouteByPath).
|
|
43
|
-
* 2. Given any other type of input, we resolve the routing state with normal resolution (using getRoute).
|
|
44
|
-
* */
|
|
45
|
-
getRoutingState(input: Input, session: Session, botState: BotState): RoutingState;
|
|
46
|
-
/**
|
|
47
|
-
* Given a non path payload input, try to run it against the routes, update matching routes information in consequence and dictamine if the flow has been broken.
|
|
48
|
-
* */
|
|
49
|
-
getRoutingStateFromInput(currentRoute: Nullable<Route>, input: Input, session: Session): RoutingState;
|
|
50
|
-
/**
|
|
51
|
-
* Given a path payload input, try to run the path against the routes, update matching routes information in consequence and dictamine if the flow has been broken.
|
|
52
|
-
* */
|
|
53
|
-
getRoutingStateFromPathPayload(currentRoute: Nullable<Route>, pathPayload: string): RoutingState;
|
|
54
|
-
}
|