@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.
Files changed (258) hide show
  1. package/lib/cjs/constants.d.ts +4 -15
  2. package/lib/cjs/constants.js +5 -16
  3. package/lib/cjs/constants.js.map +1 -1
  4. package/lib/cjs/core-bot.d.ts +12 -9
  5. package/lib/cjs/core-bot.js +54 -43
  6. package/lib/cjs/core-bot.js.map +1 -1
  7. package/lib/cjs/debug/index.d.ts +1 -1
  8. package/lib/cjs/debug/index.js +2 -6
  9. package/lib/cjs/debug/index.js.map +1 -1
  10. package/lib/cjs/debug/inspector.d.ts +1 -1
  11. package/lib/cjs/handoff.d.ts +5 -5
  12. package/lib/cjs/handoff.js +13 -10
  13. package/lib/cjs/handoff.js.map +1 -1
  14. package/lib/cjs/hubtype-service.d.ts +4 -4
  15. package/lib/cjs/hubtype-service.js +1 -1
  16. package/lib/cjs/hubtype-service.js.map +1 -1
  17. package/lib/cjs/i18n.d.ts +1 -1
  18. package/lib/cjs/index.d.ts +8 -163
  19. package/lib/cjs/index.js +8 -51
  20. package/lib/cjs/index.js.map +1 -1
  21. package/lib/cjs/models/bot-state.d.ts +11 -0
  22. package/lib/cjs/models/bot-state.js +3 -0
  23. package/lib/cjs/models/bot-state.js.map +1 -0
  24. package/lib/cjs/models/channels.d.ts +9 -0
  25. package/lib/cjs/models/channels.js +14 -0
  26. package/lib/cjs/models/channels.js.map +1 -0
  27. package/lib/cjs/models/events/base-event.d.ts +20 -0
  28. package/lib/cjs/models/events/base-event.js +17 -0
  29. package/lib/cjs/models/events/base-event.js.map +1 -0
  30. package/lib/cjs/models/events/botonic-event.d.ts +4 -0
  31. package/lib/cjs/models/events/botonic-event.js +3 -0
  32. package/lib/cjs/models/events/botonic-event.js.map +1 -0
  33. package/lib/{esm/models/events/connections/index.d.ts → cjs/models/events/connection/connection-event.d.ts} +1 -1
  34. package/lib/cjs/models/events/{connections/index.js → connection/connection-event.js} +1 -1
  35. package/lib/cjs/models/events/connection/connection-event.js.map +1 -0
  36. package/lib/cjs/models/events/connection/index.d.ts +1 -0
  37. package/lib/cjs/models/events/connection/index.js +5 -0
  38. package/lib/cjs/models/events/connection/index.js.map +1 -0
  39. package/lib/cjs/models/events/index.d.ts +4 -21
  40. package/lib/cjs/models/events/index.js +5 -8
  41. package/lib/cjs/models/events/index.js.map +1 -1
  42. package/lib/cjs/models/events/integration/index.d.ts +1 -0
  43. package/lib/cjs/models/events/integration/index.js +5 -0
  44. package/lib/cjs/models/events/integration/index.js.map +1 -0
  45. package/lib/cjs/models/events/integration/integration-event.d.ts +6 -0
  46. package/lib/cjs/models/events/integration/integration-event.js +3 -0
  47. package/lib/cjs/models/events/integration/integration-event.js.map +1 -0
  48. package/lib/cjs/models/events/message/carousel.d.ts +1 -1
  49. package/lib/cjs/models/events/message/custom.d.ts +2 -2
  50. package/lib/cjs/models/events/message/index.d.ts +9 -30
  51. package/lib/cjs/models/events/message/index.js +10 -29
  52. package/lib/cjs/models/events/message/index.js.map +1 -1
  53. package/lib/cjs/models/events/message/location.d.ts +1 -1
  54. package/lib/cjs/models/events/message/media.d.ts +1 -1
  55. package/lib/cjs/models/events/message/media.js +5 -5
  56. package/lib/cjs/models/events/message/media.js.map +1 -1
  57. package/lib/cjs/models/events/message/message-event.d.ts +30 -0
  58. package/lib/cjs/models/events/message/message-event.js +32 -0
  59. package/lib/cjs/models/events/message/message-event.js.map +1 -0
  60. package/lib/cjs/models/events/message/postback.d.ts +1 -1
  61. package/lib/cjs/models/events/message/text.d.ts +1 -1
  62. package/lib/cjs/models/index.d.ts +6 -0
  63. package/lib/cjs/models/index.js +10 -0
  64. package/lib/cjs/models/index.js.map +1 -0
  65. package/lib/cjs/models/legacy-types.d.ts +184 -0
  66. package/lib/cjs/models/legacy-types.js +59 -0
  67. package/lib/cjs/models/legacy-types.js.map +1 -0
  68. package/lib/cjs/models/session.d.ts +3 -0
  69. package/lib/cjs/models/session.js +3 -0
  70. package/lib/cjs/models/session.js.map +1 -0
  71. package/lib/cjs/models/user.d.ts +8 -4
  72. package/lib/cjs/output-parser/botonic-output-parser.d.ts +16 -0
  73. package/lib/cjs/output-parser/botonic-output-parser.js +37 -0
  74. package/lib/cjs/output-parser/botonic-output-parser.js.map +1 -0
  75. package/lib/cjs/output-parser/factory.d.ts +1 -1
  76. package/lib/cjs/output-parser/factory.js +7 -8
  77. package/lib/cjs/output-parser/factory.js.map +1 -1
  78. package/lib/cjs/output-parser/index.d.ts +3 -16
  79. package/lib/cjs/output-parser/index.js +4 -34
  80. package/lib/cjs/output-parser/index.js.map +1 -1
  81. package/lib/cjs/output-parser/parsers.d.ts +3 -9
  82. package/lib/cjs/output-parser/parsers.js +21 -12
  83. package/lib/cjs/output-parser/parsers.js.map +1 -1
  84. package/lib/cjs/plugins.d.ts +2 -3
  85. package/lib/cjs/plugins.js +9 -6
  86. package/lib/cjs/plugins.js.map +1 -1
  87. package/lib/cjs/routing/index.d.ts +2 -0
  88. package/lib/cjs/routing/index.js +6 -0
  89. package/lib/cjs/routing/index.js.map +1 -0
  90. package/lib/cjs/routing/router-utils.d.ts +11 -0
  91. package/lib/cjs/routing/router-utils.js +89 -0
  92. package/lib/cjs/routing/router-utils.js.map +1 -0
  93. package/lib/cjs/routing/router.d.ts +54 -0
  94. package/lib/cjs/routing/router.js +319 -0
  95. package/lib/cjs/routing/router.js.map +1 -0
  96. package/lib/cjs/utils.d.ts +1 -0
  97. package/lib/cjs/utils.js +7 -1
  98. package/lib/cjs/utils.js.map +1 -1
  99. package/lib/esm/constants.d.ts +4 -15
  100. package/lib/esm/constants.js +4 -15
  101. package/lib/esm/constants.js.map +1 -1
  102. package/lib/esm/core-bot.d.ts +12 -9
  103. package/lib/esm/core-bot.js +52 -41
  104. package/lib/esm/core-bot.js.map +1 -1
  105. package/lib/esm/debug/index.d.ts +1 -1
  106. package/lib/esm/debug/index.js +1 -1
  107. package/lib/esm/debug/index.js.map +1 -1
  108. package/lib/esm/debug/inspector.d.ts +1 -1
  109. package/lib/esm/handoff.d.ts +5 -5
  110. package/lib/esm/handoff.js +13 -10
  111. package/lib/esm/handoff.js.map +1 -1
  112. package/lib/esm/hubtype-service.d.ts +4 -4
  113. package/lib/esm/hubtype-service.js +1 -1
  114. package/lib/esm/hubtype-service.js.map +1 -1
  115. package/lib/esm/i18n.d.ts +1 -1
  116. package/lib/esm/index.d.ts +8 -163
  117. package/lib/esm/index.js +8 -45
  118. package/lib/esm/index.js.map +1 -1
  119. package/lib/esm/models/bot-state.d.ts +11 -0
  120. package/lib/esm/models/bot-state.js +2 -0
  121. package/lib/esm/models/bot-state.js.map +1 -0
  122. package/lib/esm/models/channels.d.ts +9 -0
  123. package/lib/esm/models/channels.js +11 -0
  124. package/lib/esm/models/channels.js.map +1 -0
  125. package/lib/esm/models/events/base-event.d.ts +20 -0
  126. package/lib/esm/models/events/base-event.js +14 -0
  127. package/lib/esm/models/events/base-event.js.map +1 -0
  128. package/lib/esm/models/events/botonic-event.d.ts +4 -0
  129. package/lib/esm/models/events/botonic-event.js +2 -0
  130. package/lib/esm/models/events/botonic-event.js.map +1 -0
  131. package/lib/{cjs/models/events/connections/index.d.ts → esm/models/events/connection/connection-event.d.ts} +1 -1
  132. package/lib/esm/models/events/{connections/index.js → connection/connection-event.js} +1 -1
  133. package/lib/esm/models/events/connection/connection-event.js.map +1 -0
  134. package/lib/esm/models/events/connection/index.d.ts +1 -0
  135. package/lib/esm/models/events/connection/index.js +2 -0
  136. package/lib/esm/models/events/connection/index.js.map +1 -0
  137. package/lib/esm/models/events/index.d.ts +4 -21
  138. package/lib/esm/models/events/index.js +4 -7
  139. package/lib/esm/models/events/index.js.map +1 -1
  140. package/lib/esm/models/events/integration/index.d.ts +1 -0
  141. package/lib/esm/models/events/integration/index.js +2 -0
  142. package/lib/esm/models/events/integration/index.js.map +1 -0
  143. package/lib/esm/models/events/integration/integration-event.d.ts +6 -0
  144. package/lib/esm/models/events/integration/integration-event.js +2 -0
  145. package/lib/esm/models/events/integration/integration-event.js.map +1 -0
  146. package/lib/esm/models/events/message/carousel.d.ts +1 -1
  147. package/lib/esm/models/events/message/custom.d.ts +2 -2
  148. package/lib/esm/models/events/message/index.d.ts +9 -30
  149. package/lib/esm/models/events/message/index.js +9 -28
  150. package/lib/esm/models/events/message/index.js.map +1 -1
  151. package/lib/esm/models/events/message/location.d.ts +1 -1
  152. package/lib/esm/models/events/message/media.d.ts +1 -1
  153. package/lib/esm/models/events/message/media.js +1 -1
  154. package/lib/esm/models/events/message/media.js.map +1 -1
  155. package/lib/esm/models/events/message/message-event.d.ts +30 -0
  156. package/lib/esm/models/events/message/message-event.js +29 -0
  157. package/lib/esm/models/events/message/message-event.js.map +1 -0
  158. package/lib/esm/models/events/message/postback.d.ts +1 -1
  159. package/lib/esm/models/events/message/text.d.ts +1 -1
  160. package/lib/esm/models/index.d.ts +6 -0
  161. package/lib/esm/models/index.js +7 -0
  162. package/lib/esm/models/index.js.map +1 -0
  163. package/lib/esm/models/legacy-types.d.ts +184 -0
  164. package/lib/esm/models/legacy-types.js +56 -0
  165. package/lib/esm/models/legacy-types.js.map +1 -0
  166. package/lib/esm/models/session.d.ts +3 -0
  167. package/lib/esm/models/session.js +2 -0
  168. package/lib/esm/models/session.js.map +1 -0
  169. package/lib/esm/models/user.d.ts +8 -4
  170. package/lib/esm/output-parser/botonic-output-parser.d.ts +16 -0
  171. package/lib/esm/output-parser/botonic-output-parser.js +33 -0
  172. package/lib/esm/output-parser/botonic-output-parser.js.map +1 -0
  173. package/lib/esm/output-parser/factory.d.ts +1 -1
  174. package/lib/esm/output-parser/factory.js +1 -2
  175. package/lib/esm/output-parser/factory.js.map +1 -1
  176. package/lib/esm/output-parser/index.d.ts +3 -16
  177. package/lib/esm/output-parser/index.js +3 -32
  178. package/lib/esm/output-parser/index.js.map +1 -1
  179. package/lib/esm/output-parser/parsers.d.ts +3 -9
  180. package/lib/esm/output-parser/parsers.js +14 -7
  181. package/lib/esm/output-parser/parsers.js.map +1 -1
  182. package/lib/esm/plugins.d.ts +2 -3
  183. package/lib/esm/plugins.js +9 -6
  184. package/lib/esm/plugins.js.map +1 -1
  185. package/lib/esm/routing/index.d.ts +2 -0
  186. package/lib/esm/routing/index.js +3 -0
  187. package/lib/esm/routing/index.js.map +1 -0
  188. package/lib/esm/routing/router-utils.d.ts +11 -0
  189. package/lib/esm/routing/router-utils.js +79 -0
  190. package/lib/esm/routing/router-utils.js.map +1 -0
  191. package/lib/esm/routing/router.d.ts +54 -0
  192. package/lib/esm/routing/router.js +315 -0
  193. package/lib/esm/routing/router.js.map +1 -0
  194. package/lib/esm/utils.d.ts +1 -0
  195. package/lib/esm/utils.js +5 -0
  196. package/lib/esm/utils.js.map +1 -1
  197. package/package.json +6 -6
  198. package/src/constants.ts +6 -15
  199. package/src/core-bot.ts +84 -47
  200. package/src/debug/index.ts +1 -6
  201. package/src/debug/inspector.ts +1 -1
  202. package/src/handoff.ts +15 -12
  203. package/src/hubtype-service.ts +5 -5
  204. package/src/i18n.ts +1 -1
  205. package/src/index.ts +8 -230
  206. package/src/models/bot-state.ts +12 -0
  207. package/src/models/channels.ts +9 -0
  208. package/src/models/events/base-event.ts +22 -0
  209. package/src/models/events/botonic-event.ts +26 -0
  210. package/src/models/events/{connections/index.ts → connection/connection-event.ts} +1 -1
  211. package/src/models/events/connection/index.ts +1 -0
  212. package/src/models/events/index.ts +4 -39
  213. package/src/models/events/integration/index.ts +1 -0
  214. package/src/models/events/integration/integration-event.ts +13 -0
  215. package/src/models/events/message/carousel.ts +1 -1
  216. package/src/models/events/message/custom.ts +2 -2
  217. package/src/models/events/message/index.ts +9 -37
  218. package/src/models/events/message/location.ts +1 -1
  219. package/src/models/events/message/media.ts +1 -1
  220. package/src/models/events/message/message-event.ts +37 -0
  221. package/src/models/events/message/postback.ts +1 -1
  222. package/src/models/events/message/text.ts +1 -1
  223. package/src/models/index.ts +6 -0
  224. package/src/models/legacy-types.ts +262 -0
  225. package/src/models/session.ts +3 -0
  226. package/src/models/user.ts +10 -4
  227. package/src/output-parser/botonic-output-parser.ts +38 -0
  228. package/src/output-parser/factory.ts +1 -3
  229. package/src/output-parser/index.ts +3 -38
  230. package/src/output-parser/parsers.ts +29 -17
  231. package/src/plugins.ts +18 -8
  232. package/src/routing/index.ts +2 -0
  233. package/src/routing/router-utils.ts +100 -0
  234. package/src/routing/router.ts +415 -0
  235. package/src/utils.ts +6 -0
  236. package/lib/cjs/errors.d.ts +0 -5
  237. package/lib/cjs/errors.js +0 -11
  238. package/lib/cjs/errors.js.map +0 -1
  239. package/lib/cjs/models/events/connections/index.js.map +0 -1
  240. package/lib/cjs/output-parser/util.d.ts +0 -2
  241. package/lib/cjs/output-parser/util.js +0 -14
  242. package/lib/cjs/output-parser/util.js.map +0 -1
  243. package/lib/cjs/router.d.ts +0 -35
  244. package/lib/cjs/router.js +0 -262
  245. package/lib/cjs/router.js.map +0 -1
  246. package/lib/esm/errors.d.ts +0 -5
  247. package/lib/esm/errors.js +0 -7
  248. package/lib/esm/errors.js.map +0 -1
  249. package/lib/esm/models/events/connections/index.js.map +0 -1
  250. package/lib/esm/output-parser/util.d.ts +0 -2
  251. package/lib/esm/output-parser/util.js +0 -9
  252. package/lib/esm/output-parser/util.js.map +0 -1
  253. package/lib/esm/router.d.ts +0 -35
  254. package/lib/esm/router.js +0 -258
  255. package/lib/esm/router.js.map +0 -1
  256. package/src/errors.ts +0 -11
  257. package/src/output-parser/util.ts +0 -8
  258. 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,4 +1,4 @@
1
- import { BotonicMessageEvent } from '.';
1
+ import { BotonicMessageEvent } from './message-event';
2
2
  export interface PostbackMessageEvent extends BotonicMessageEvent {
3
3
  payload: string;
4
4
  }
@@ -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,6 @@
1
+ export * from './bot-state';
2
+ export * from './channels';
3
+ export * from './events';
4
+ export * from './legacy-types';
5
+ export * from './session';
6
+ export * from './user';
@@ -0,0 +1,7 @@
1
+ export * from './bot-state';
2
+ export * from './channels';
3
+ export * from './events';
4
+ export * from './legacy-types';
5
+ export * from './session';
6
+ export * from './user';
7
+ //# sourceMappingURL=index.js.map
@@ -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,3 @@
1
+ export interface Session {
2
+ [key: string]: any;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/models/session.ts"],"names":[],"mappings":""}
@@ -1,10 +1,14 @@
1
- import { Session } from '../index';
1
+ import { BotState } from './bot-state';
2
+ import { Session } from './session';
2
3
  export interface User {
3
4
  id: string;
4
- providerId?: string;
5
- websocketId?: string;
5
+ name?: string;
6
+ userName?: string;
7
+ channel: string;
8
+ idFromChannel: string;
6
9
  session: Session;
7
- route: string;
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,4 +1,4 @@
1
- import { BotonicEvent } from '../models/events';
1
+ import { BotonicEvent } from '../models';
2
2
  export declare class MessageParsingFactory {
3
3
  parse(msgToParse: any): Partial<BotonicEvent>;
4
4
  }
@@ -1,5 +1,4 @@
1
- import { MessageEventTypes } from '../models/events/message';
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":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AAC5D,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
+ {"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
- import { BotonicEvent } from '../models/events';
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
- 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
- // 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
- 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,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,kBAAkB,CAAC,KAAU;QAC3B,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
+ {"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/events/message';
2
- import { Button, WithButtons } from '../models/events/message/buttons';
3
- import { CarouselElement, CarouselMessageEvent } from '../models/events/message/carousel';
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/events';
2
- import { TEXT_NODE_NAME } from '.';
3
- import { parseBoolean, parseNumber } from './util';
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] || args.toParse.data, markdown: parseBoolean(args.toParse.markdown) }),
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 || args.toParse.data }),
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), { customTypeName: JSON.parse(args.toParse.json).customTypeName }),
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,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAkB7C,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAUlD,SAAS;AACT,MAAM,CAAC,MAAM,YAAY,GAAuC,IAAI,CAAC,EAAE;IACrE,MAAM,cAAc,GAAG,EAAE,CAAA;IACzB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;QACpC,cAAc,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;KAC1D;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;QACrC,cAAc,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;KAC5D;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM;YACJ,8FAA8F;YAC9F,SAAS,EAAE,UAAU,CAAC,OAAO,EAC7B,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IACpB,cAAc,CAClB;KACF,CAAA;AACH,CAAC,CAAA;AAED,UAAU;AACV,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAW,EAAU,EAAE;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;IACpC,IAAI,SAAS,IAAI,MAAM,EAAE;QACvB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;KAC1C;IACD,IAAI,KAAK,IAAI,MAAM,EAAE;QACnB,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;QAC3D,IAAI,MAAM,CAAC,MAAM;YAAE,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3C,OAAO,CAAC,CAAA;KACT;IACD,IAAI,SAAS,IAAI,MAAM,EAAE;QACvB,OAAO;YACL,KAAK;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAA;KACF;IACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;AAC1C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAA+B,IAAI,CAAC,EAAE;;IAC7D,MAAM,UAAU,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,0CAAE,MAAM,IAAG,CAAC,CAAA;IACnD,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,IAAI,UAAU,EAAE;QACd,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;KACjE;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,OAAO,GACR;KACF,CAAA;AACH,CAAC,CAAA;AAED,UAAU;AACV,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAU,EAAS,EAAE,CAAC,CAAC;IAChD,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;CACvB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,YAAY,GAA+B,IAAI,CAAC,EAAE;;IAC7D,MAAM,UAAU,GAAG,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,0CAAE,MAAM,IAAG,CAAC,CAAA;IAClD,IAAI,OAAO,GAAY,EAAE,CAAA;IACzB,IAAI,UAAU,EAAE;QACd,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;KAC7D;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,OAAO,GACR;KACF,CAAA;AACH,CAAC,CAAA;AAED,OAAO;AACP,MAAM,CAAC,MAAM,SAAS,GAAoC,IAAI,CAAC,EAAE;IAC/D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EACvD,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAC9C;KACF,CAAA;AACH,CAAC,CAAA;AAED,WAAW;AAEX,MAAM,CAAC,MAAM,aAAa,GAAwC,IAAI,CAAC,EAAE;IACvE,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,GAC9B;KACF,CAAA;AACH,CAAC,CAAA;AAED,QAAQ;AACR,MAAM,CAAC,MAAM,UAAU,GAKnB,IAAI,CAAC,EAAE;IACT,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAC3C;KACF,CAAA;AACH,CAAC,CAAA;AAED,WAAW;AACX,MAAM,CAAC,MAAM,aAAa,GAAwC,IAAI,CAAC,EAAE;IACvE,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EACrB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,GACxB;KACF,CAAA;AACH,CAAC,CAAA;AAED,WAAW;AACX,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAY,EAAmB,EAAE;IAC5D,MAAM,CAAC,GAAoB;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,IAAI;KACvB,CAAA;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAA;IAC/C,IAAI,UAAU;QAAE,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAwC,IAAI,CAAC,EAAE;IACvE,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GACrE;KACF,CAAA;AACH,CAAC,CAAA;AAED,SAAS;AACT,MAAM,CAAC,MAAM,WAAW,GAAsC,IAAI,CAAC,EAAE;IACnE,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,GAC7D;KACF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/output-parser/parsers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { Input, PluginConfig, Session } from './index';
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, lastRoutePath: string, response?: string | null, parsedResponse?: Partial<BotonicEvent>[] | null): Promise<void>;
5
+ mode: PluginMode, input: Input, session: Session, botState: BotState, response?: string | null, messageEvents?: Partial<BotonicEvent>[] | null, dataProvider?: any): Promise<void>;
7
6
  export {};
@@ -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, lastRoutePath, response = null, parsedResponse = null) {
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 == 'pre')
25
- await p.pre({ input, session, lastRoutePath });
26
- if (mode == 'post')
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
- lastRoutePath,
31
+ botState,
31
32
  response,
32
- parsedResponse,
33
+ messageEvents,
34
+ dataProvider,
35
+ plugins,
33
36
  });
34
37
  }
35
38
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":"AAKA,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,aAAqB,EACrB,WAA0B,IAAI,EAC9B,iBAAiD,IAAI;IAErD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;QACzB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI;YACF,IAAI,IAAI,IAAI,KAAK;gBAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAA;YACjE,IAAI,IAAI,IAAI,MAAM;gBAChB,MAAM,CAAC,CAAC,IAAI,CAAC;oBACX,KAAK;oBACL,OAAO;oBACP,aAAa;oBACb,QAAQ;oBACR,cAAc;iBACf,CAAC,CAAA;SACL;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;SACf;KACF;AACH,CAAC"}
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,2 @@
1
+ export * from './router';
2
+ export * from './router-utils';
@@ -0,0 +1,3 @@
1
+ export * from './router';
2
+ export * from './router-utils';
3
+ //# sourceMappingURL=index.js.map
@@ -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[]>;