@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.
Files changed (311) hide show
  1. package/CHANGELOG.md +226 -0
  2. package/README.md +7 -9
  3. package/package.json +19 -57
  4. package/src/index.d.ts +4 -0
  5. package/src/index.js +5 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/core-bot/index.d.ts +33 -0
  8. package/src/lib/core-bot/index.js +113 -0
  9. package/src/lib/core-bot/index.js.map +1 -0
  10. package/src/lib/hubtype-service/handoff.d.ts +4 -0
  11. package/src/lib/hubtype-service/handoff.js +32 -0
  12. package/src/lib/hubtype-service/handoff.js.map +1 -0
  13. package/src/lib/hubtype-service/index.d.ts +10 -0
  14. package/src/lib/hubtype-service/index.js +96 -0
  15. package/src/lib/hubtype-service/index.js.map +1 -0
  16. package/src/lib/messages/button.d.ts +8 -0
  17. package/src/lib/messages/button.js +10 -0
  18. package/src/lib/messages/button.js.map +1 -0
  19. package/src/lib/plugins/index.d.ts +2 -0
  20. package/src/lib/plugins/index.js +23 -0
  21. package/src/lib/plugins/index.js.map +1 -0
  22. package/src/lib/routes/index.d.ts +0 -0
  23. package/src/lib/routes/index.js +2 -0
  24. package/src/lib/routes/index.js.map +1 -0
  25. package/src/lib/routes/router.d.ts +14 -0
  26. package/src/lib/routes/router.js +68 -0
  27. package/src/lib/routes/router.js.map +1 -0
  28. package/src/lib/routes/types.d.ts +15 -0
  29. package/src/lib/routes/types.js +2 -0
  30. package/src/lib/routes/types.js.map +1 -0
  31. package/{lib/cjs/utils.d.ts → src/lib/utils/index.d.ts} +0 -4
  32. package/{lib/esm/utils.js → src/lib/utils/index.js} +1 -34
  33. package/src/lib/utils/index.js.map +1 -0
  34. package/lib/cjs/constants.d.ts +0 -4
  35. package/lib/cjs/constants.js +0 -8
  36. package/lib/cjs/constants.js.map +0 -1
  37. package/lib/cjs/core-bot.d.ts +0 -36
  38. package/lib/cjs/core-bot.js +0 -96
  39. package/lib/cjs/core-bot.js.map +0 -1
  40. package/lib/cjs/debug/index.d.ts +0 -1
  41. package/lib/cjs/debug/index.js +0 -5
  42. package/lib/cjs/debug/index.js.map +0 -1
  43. package/lib/cjs/debug/inspector.d.ts +0 -24
  44. package/lib/cjs/debug/inspector.js +0 -72
  45. package/lib/cjs/debug/inspector.js.map +0 -1
  46. package/lib/cjs/handoff.d.ts +0 -67
  47. package/lib/cjs/handoff.js +0 -186
  48. package/lib/cjs/handoff.js.map +0 -1
  49. package/lib/cjs/hubtype-service.d.ts +0 -69
  50. package/lib/cjs/hubtype-service.js +0 -190
  51. package/lib/cjs/hubtype-service.js.map +0 -1
  52. package/lib/cjs/i18n.d.ts +0 -2
  53. package/lib/cjs/i18n.js +0 -11
  54. package/lib/cjs/i18n.js.map +0 -1
  55. package/lib/cjs/index.d.ts +0 -11
  56. package/lib/cjs/index.js +0 -15
  57. package/lib/cjs/index.js.map +0 -1
  58. package/lib/cjs/models/bot-state.d.ts +0 -11
  59. package/lib/cjs/models/bot-state.js +0 -3
  60. package/lib/cjs/models/bot-state.js.map +0 -1
  61. package/lib/cjs/models/channels.d.ts +0 -9
  62. package/lib/cjs/models/channels.js +0 -14
  63. package/lib/cjs/models/channels.js.map +0 -1
  64. package/lib/cjs/models/events/base-event.d.ts +0 -20
  65. package/lib/cjs/models/events/base-event.js +0 -17
  66. package/lib/cjs/models/events/base-event.js.map +0 -1
  67. package/lib/cjs/models/events/botonic-event.d.ts +0 -4
  68. package/lib/cjs/models/events/botonic-event.js +0 -3
  69. package/lib/cjs/models/events/botonic-event.js.map +0 -1
  70. package/lib/cjs/models/events/connection/connection-event.d.ts +0 -9
  71. package/lib/cjs/models/events/connection/connection-event.js +0 -9
  72. package/lib/cjs/models/events/connection/connection-event.js.map +0 -1
  73. package/lib/cjs/models/events/connection/index.d.ts +0 -1
  74. package/lib/cjs/models/events/connection/index.js +0 -5
  75. package/lib/cjs/models/events/connection/index.js.map +0 -1
  76. package/lib/cjs/models/events/index.d.ts +0 -4
  77. package/lib/cjs/models/events/index.js +0 -8
  78. package/lib/cjs/models/events/index.js.map +0 -1
  79. package/lib/cjs/models/events/integration/index.d.ts +0 -1
  80. package/lib/cjs/models/events/integration/index.js +0 -5
  81. package/lib/cjs/models/events/integration/index.js.map +0 -1
  82. package/lib/cjs/models/events/integration/integration-event.d.ts +0 -6
  83. package/lib/cjs/models/events/integration/integration-event.js +0 -3
  84. package/lib/cjs/models/events/integration/integration-event.js.map +0 -1
  85. package/lib/cjs/models/events/message/buttons.d.ts +0 -18
  86. package/lib/cjs/models/events/message/buttons.js +0 -3
  87. package/lib/cjs/models/events/message/buttons.js.map +0 -1
  88. package/lib/cjs/models/events/message/carousel.d.ts +0 -11
  89. package/lib/cjs/models/events/message/carousel.js +0 -3
  90. package/lib/cjs/models/events/message/carousel.js.map +0 -1
  91. package/lib/cjs/models/events/message/custom.d.ts +0 -6
  92. package/lib/cjs/models/events/message/custom.js +0 -3
  93. package/lib/cjs/models/events/message/custom.js.map +0 -1
  94. package/lib/cjs/models/events/message/index.d.ts +0 -9
  95. package/lib/cjs/models/events/message/index.js +0 -13
  96. package/lib/cjs/models/events/message/index.js.map +0 -1
  97. package/lib/cjs/models/events/message/location.d.ts +0 -6
  98. package/lib/cjs/models/events/message/location.js +0 -3
  99. package/lib/cjs/models/events/message/location.js.map +0 -1
  100. package/lib/cjs/models/events/message/media.d.ts +0 -18
  101. package/lib/cjs/models/events/message/media.js +0 -11
  102. package/lib/cjs/models/events/message/media.js.map +0 -1
  103. package/lib/cjs/models/events/message/message-event.d.ts +0 -30
  104. package/lib/cjs/models/events/message/message-event.js +0 -32
  105. package/lib/cjs/models/events/message/message-event.js.map +0 -1
  106. package/lib/cjs/models/events/message/postback.d.ts +0 -4
  107. package/lib/cjs/models/events/message/postback.js +0 -3
  108. package/lib/cjs/models/events/message/postback.js.map +0 -1
  109. package/lib/cjs/models/events/message/replies.d.ts +0 -7
  110. package/lib/cjs/models/events/message/replies.js +0 -3
  111. package/lib/cjs/models/events/message/replies.js.map +0 -1
  112. package/lib/cjs/models/events/message/text.d.ts +0 -8
  113. package/lib/cjs/models/events/message/text.js +0 -3
  114. package/lib/cjs/models/events/message/text.js.map +0 -1
  115. package/lib/cjs/models/index.d.ts +0 -6
  116. package/lib/cjs/models/index.js +0 -10
  117. package/lib/cjs/models/index.js.map +0 -1
  118. package/lib/cjs/models/legacy-types.d.ts +0 -184
  119. package/lib/cjs/models/legacy-types.js +0 -59
  120. package/lib/cjs/models/legacy-types.js.map +0 -1
  121. package/lib/cjs/models/session.d.ts +0 -3
  122. package/lib/cjs/models/session.js +0 -3
  123. package/lib/cjs/models/session.js.map +0 -1
  124. package/lib/cjs/models/user.d.ts +0 -14
  125. package/lib/cjs/models/user.js +0 -3
  126. package/lib/cjs/models/user.js.map +0 -1
  127. package/lib/cjs/output-parser/botonic-output-parser.d.ts +0 -16
  128. package/lib/cjs/output-parser/botonic-output-parser.js +0 -37
  129. package/lib/cjs/output-parser/botonic-output-parser.js.map +0 -1
  130. package/lib/cjs/output-parser/factory.d.ts +0 -4
  131. package/lib/cjs/output-parser/factory.js +0 -32
  132. package/lib/cjs/output-parser/factory.js.map +0 -1
  133. package/lib/cjs/output-parser/index.d.ts +0 -3
  134. package/lib/cjs/output-parser/index.js +0 -7
  135. package/lib/cjs/output-parser/index.js.map +0 -1
  136. package/lib/cjs/output-parser/parsers.d.ts +0 -22
  137. package/lib/cjs/output-parser/parsers.js +0 -147
  138. package/lib/cjs/output-parser/parsers.js.map +0 -1
  139. package/lib/cjs/plugins.d.ts +0 -6
  140. package/lib/cjs/plugins.js +0 -48
  141. package/lib/cjs/plugins.js.map +0 -1
  142. package/lib/cjs/routing/index.d.ts +0 -2
  143. package/lib/cjs/routing/index.js +0 -6
  144. package/lib/cjs/routing/index.js.map +0 -1
  145. package/lib/cjs/routing/router-utils.d.ts +0 -11
  146. package/lib/cjs/routing/router-utils.js +0 -89
  147. package/lib/cjs/routing/router-utils.js.map +0 -1
  148. package/lib/cjs/routing/router.d.ts +0 -54
  149. package/lib/cjs/routing/router.js +0 -319
  150. package/lib/cjs/routing/router.js.map +0 -1
  151. package/lib/cjs/utils.js +0 -90
  152. package/lib/cjs/utils.js.map +0 -1
  153. package/lib/esm/constants.d.ts +0 -4
  154. package/lib/esm/constants.js +0 -5
  155. package/lib/esm/constants.js.map +0 -1
  156. package/lib/esm/core-bot.d.ts +0 -36
  157. package/lib/esm/core-bot.js +0 -92
  158. package/lib/esm/core-bot.js.map +0 -1
  159. package/lib/esm/debug/index.d.ts +0 -1
  160. package/lib/esm/debug/index.js +0 -2
  161. package/lib/esm/debug/index.js.map +0 -1
  162. package/lib/esm/debug/inspector.d.ts +0 -24
  163. package/lib/esm/debug/inspector.js +0 -65
  164. package/lib/esm/debug/inspector.js.map +0 -1
  165. package/lib/esm/handoff.d.ts +0 -67
  166. package/lib/esm/handoff.js +0 -173
  167. package/lib/esm/handoff.js.map +0 -1
  168. package/lib/esm/hubtype-service.d.ts +0 -69
  169. package/lib/esm/hubtype-service.js +0 -185
  170. package/lib/esm/hubtype-service.js.map +0 -1
  171. package/lib/esm/i18n.d.ts +0 -2
  172. package/lib/esm/i18n.js +0 -7
  173. package/lib/esm/i18n.js.map +0 -1
  174. package/lib/esm/index.d.ts +0 -11
  175. package/lib/esm/index.js +0 -12
  176. package/lib/esm/index.js.map +0 -1
  177. package/lib/esm/models/bot-state.d.ts +0 -11
  178. package/lib/esm/models/bot-state.js +0 -2
  179. package/lib/esm/models/bot-state.js.map +0 -1
  180. package/lib/esm/models/channels.d.ts +0 -9
  181. package/lib/esm/models/channels.js +0 -11
  182. package/lib/esm/models/channels.js.map +0 -1
  183. package/lib/esm/models/events/base-event.d.ts +0 -20
  184. package/lib/esm/models/events/base-event.js +0 -14
  185. package/lib/esm/models/events/base-event.js.map +0 -1
  186. package/lib/esm/models/events/botonic-event.d.ts +0 -4
  187. package/lib/esm/models/events/botonic-event.js +0 -2
  188. package/lib/esm/models/events/botonic-event.js.map +0 -1
  189. package/lib/esm/models/events/connection/connection-event.d.ts +0 -9
  190. package/lib/esm/models/events/connection/connection-event.js +0 -6
  191. package/lib/esm/models/events/connection/connection-event.js.map +0 -1
  192. package/lib/esm/models/events/connection/index.d.ts +0 -1
  193. package/lib/esm/models/events/connection/index.js +0 -2
  194. package/lib/esm/models/events/connection/index.js.map +0 -1
  195. package/lib/esm/models/events/index.d.ts +0 -4
  196. package/lib/esm/models/events/index.js +0 -5
  197. package/lib/esm/models/events/index.js.map +0 -1
  198. package/lib/esm/models/events/integration/index.d.ts +0 -1
  199. package/lib/esm/models/events/integration/index.js +0 -2
  200. package/lib/esm/models/events/integration/index.js.map +0 -1
  201. package/lib/esm/models/events/integration/integration-event.d.ts +0 -6
  202. package/lib/esm/models/events/integration/integration-event.js +0 -2
  203. package/lib/esm/models/events/integration/integration-event.js.map +0 -1
  204. package/lib/esm/models/events/message/buttons.d.ts +0 -18
  205. package/lib/esm/models/events/message/buttons.js +0 -2
  206. package/lib/esm/models/events/message/buttons.js.map +0 -1
  207. package/lib/esm/models/events/message/carousel.d.ts +0 -11
  208. package/lib/esm/models/events/message/carousel.js +0 -2
  209. package/lib/esm/models/events/message/carousel.js.map +0 -1
  210. package/lib/esm/models/events/message/custom.d.ts +0 -6
  211. package/lib/esm/models/events/message/custom.js +0 -2
  212. package/lib/esm/models/events/message/custom.js.map +0 -1
  213. package/lib/esm/models/events/message/index.d.ts +0 -9
  214. package/lib/esm/models/events/message/index.js +0 -10
  215. package/lib/esm/models/events/message/index.js.map +0 -1
  216. package/lib/esm/models/events/message/location.d.ts +0 -6
  217. package/lib/esm/models/events/message/location.js +0 -2
  218. package/lib/esm/models/events/message/location.js.map +0 -1
  219. package/lib/esm/models/events/message/media.d.ts +0 -18
  220. package/lib/esm/models/events/message/media.js +0 -8
  221. package/lib/esm/models/events/message/media.js.map +0 -1
  222. package/lib/esm/models/events/message/message-event.d.ts +0 -30
  223. package/lib/esm/models/events/message/message-event.js +0 -29
  224. package/lib/esm/models/events/message/message-event.js.map +0 -1
  225. package/lib/esm/models/events/message/postback.d.ts +0 -4
  226. package/lib/esm/models/events/message/postback.js +0 -2
  227. package/lib/esm/models/events/message/postback.js.map +0 -1
  228. package/lib/esm/models/events/message/replies.d.ts +0 -7
  229. package/lib/esm/models/events/message/replies.js +0 -2
  230. package/lib/esm/models/events/message/replies.js.map +0 -1
  231. package/lib/esm/models/events/message/text.d.ts +0 -8
  232. package/lib/esm/models/events/message/text.js +0 -2
  233. package/lib/esm/models/events/message/text.js.map +0 -1
  234. package/lib/esm/models/index.d.ts +0 -6
  235. package/lib/esm/models/index.js +0 -7
  236. package/lib/esm/models/index.js.map +0 -1
  237. package/lib/esm/models/legacy-types.d.ts +0 -184
  238. package/lib/esm/models/legacy-types.js +0 -56
  239. package/lib/esm/models/legacy-types.js.map +0 -1
  240. package/lib/esm/models/session.d.ts +0 -3
  241. package/lib/esm/models/session.js +0 -2
  242. package/lib/esm/models/session.js.map +0 -1
  243. package/lib/esm/models/user.d.ts +0 -14
  244. package/lib/esm/models/user.js +0 -2
  245. package/lib/esm/models/user.js.map +0 -1
  246. package/lib/esm/output-parser/botonic-output-parser.d.ts +0 -16
  247. package/lib/esm/output-parser/botonic-output-parser.js +0 -33
  248. package/lib/esm/output-parser/botonic-output-parser.js.map +0 -1
  249. package/lib/esm/output-parser/factory.d.ts +0 -4
  250. package/lib/esm/output-parser/factory.js +0 -28
  251. package/lib/esm/output-parser/factory.js.map +0 -1
  252. package/lib/esm/output-parser/index.d.ts +0 -3
  253. package/lib/esm/output-parser/index.js +0 -4
  254. package/lib/esm/output-parser/index.js.map +0 -1
  255. package/lib/esm/output-parser/parsers.d.ts +0 -22
  256. package/lib/esm/output-parser/parsers.js +0 -130
  257. package/lib/esm/output-parser/parsers.js.map +0 -1
  258. package/lib/esm/plugins.d.ts +0 -6
  259. package/lib/esm/plugins.js +0 -43
  260. package/lib/esm/plugins.js.map +0 -1
  261. package/lib/esm/routing/index.d.ts +0 -2
  262. package/lib/esm/routing/index.js +0 -3
  263. package/lib/esm/routing/index.js.map +0 -1
  264. package/lib/esm/routing/router-utils.d.ts +0 -11
  265. package/lib/esm/routing/router-utils.js +0 -79
  266. package/lib/esm/routing/router-utils.js.map +0 -1
  267. package/lib/esm/routing/router.d.ts +0 -54
  268. package/lib/esm/routing/router.js +0 -315
  269. package/lib/esm/routing/router.js.map +0 -1
  270. package/lib/esm/utils.d.ts +0 -11
  271. package/lib/esm/utils.js.map +0 -1
  272. package/src/constants.ts +0 -6
  273. package/src/core-bot.ts +0 -181
  274. package/src/debug/index.ts +0 -1
  275. package/src/debug/inspector.ts +0 -102
  276. package/src/handoff.ts +0 -271
  277. package/src/hubtype-service.ts +0 -266
  278. package/src/i18n.ts +0 -12
  279. package/src/index.ts +0 -11
  280. package/src/models/bot-state.ts +0 -12
  281. package/src/models/channels.ts +0 -9
  282. package/src/models/events/base-event.ts +0 -22
  283. package/src/models/events/botonic-event.ts +0 -26
  284. package/src/models/events/connection/connection-event.ts +0 -11
  285. package/src/models/events/connection/index.ts +0 -1
  286. package/src/models/events/index.ts +0 -4
  287. package/src/models/events/integration/index.ts +0 -1
  288. package/src/models/events/integration/integration-event.ts +0 -13
  289. package/src/models/events/message/buttons.ts +0 -23
  290. package/src/models/events/message/carousel.ts +0 -13
  291. package/src/models/events/message/custom.ts +0 -7
  292. package/src/models/events/message/index.ts +0 -9
  293. package/src/models/events/message/location.ts +0 -7
  294. package/src/models/events/message/media.ts +0 -28
  295. package/src/models/events/message/message-event.ts +0 -37
  296. package/src/models/events/message/postback.ts +0 -5
  297. package/src/models/events/message/replies.ts +0 -8
  298. package/src/models/events/message/text.ts +0 -12
  299. package/src/models/index.ts +0 -6
  300. package/src/models/legacy-types.ts +0 -262
  301. package/src/models/session.ts +0 -3
  302. package/src/models/user.ts +0 -16
  303. package/src/output-parser/botonic-output-parser.ts +0 -38
  304. package/src/output-parser/factory.ts +0 -38
  305. package/src/output-parser/index.ts +0 -3
  306. package/src/output-parser/parsers.ts +0 -202
  307. package/src/plugins.ts +0 -59
  308. package/src/routing/index.ts +0 -2
  309. package/src/routing/router-utils.ts +0 -100
  310. package/src/routing/router.ts +0 -415
  311. package/src/utils.ts +0 -90
@@ -0,0 +1,8 @@
1
+ import { BotonicButtonContent } from '@botonic/shared';
2
+ export declare class Button {
3
+ text: string;
4
+ payload?: string;
5
+ url?: string;
6
+ webview?: string;
7
+ constructor({ title, payload, url, webview }: BotonicButtonContent);
8
+ }
@@ -0,0 +1,10 @@
1
+ export class Button {
2
+ constructor({ title, payload, url, webview }) {
3
+ // this.messageId = messageId
4
+ this.text = title;
5
+ this.payload = payload;
6
+ this.url = url;
7
+ this.webview = webview;
8
+ }
9
+ }
10
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/messages/button.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,MAAM;IAOjB,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAwB;QAChE,6BAA6B;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ import { RunPluginArgs } from '@botonic/shared';
2
+ export declare function runPlugins({ botContext, mode, response, }: RunPluginArgs): Promise<void>;
@@ -0,0 +1,23 @@
1
+ import { __awaiter } from "tslib";
2
+ import { PluginMode } from '@botonic/shared';
3
+ export function runPlugins(_a) {
4
+ return __awaiter(this, arguments, void 0, function* ({ botContext, mode, response = { status: 200, response: 'OK' }, }) {
5
+ const plugins = botContext.plugins;
6
+ for (const key in plugins) {
7
+ const plugin = plugins[key];
8
+ try {
9
+ if (mode === PluginMode.PRE && typeof plugin.pre === 'function') {
10
+ yield plugin.pre(botContext);
11
+ }
12
+ if (mode === PluginMode.POST && typeof plugin.post === 'function') {
13
+ botContext.response = response;
14
+ yield plugin.post(botContext);
15
+ }
16
+ }
17
+ catch (e) {
18
+ console.log(e);
19
+ }
20
+ }
21
+ });
22
+ }
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/plugins/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAU,UAAU,EAAiB,MAAM,iBAAiB,CAAA;AAEnE,MAAM,UAAgB,UAAU;yDAAC,EAC/B,UAAU,EACV,IAAI,EACJ,QAAQ,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAC5B;QACd,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QAClC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAW,OAAO,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,CAAC;gBACH,IAAI,IAAI,KAAK,UAAU,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,UAAU,EAAE,CAAC;oBAChE,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBAC9B,CAAC;gBACD,IAAI,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAClE,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;oBAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;CAAA"}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/routes/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import type { BotContext } from '@botonic/shared';
2
+ import { Route } from './types';
3
+ export declare const NOT_FOUND_PATH = "404";
4
+ export declare class NoMatchingRouteError extends Error {
5
+ botContext: BotContext;
6
+ constructor(botContext: BotContext);
7
+ }
8
+ export declare class Router {
9
+ private routes;
10
+ constructor(routes: Route[]);
11
+ processInput(botContext: BotContext): Route;
12
+ private routeMatches;
13
+ private matchesStringValue;
14
+ }
@@ -0,0 +1,68 @@
1
+ export const NOT_FOUND_PATH = '404';
2
+ export class NoMatchingRouteError extends Error {
3
+ constructor(botContext) {
4
+ super(`No route found for input '${JSON.stringify(botContext.input)}' and no ${NOT_FOUND_PATH} route defined`);
5
+ this.botContext = botContext;
6
+ }
7
+ }
8
+ export class Router {
9
+ constructor(routes) {
10
+ this.routes = routes;
11
+ }
12
+ processInput(botContext) {
13
+ for (const route of this.routes) {
14
+ if (this.routeMatches(route, botContext)) {
15
+ return route;
16
+ }
17
+ }
18
+ throw new NoMatchingRouteError(botContext);
19
+ }
20
+ routeMatches(route, botContext) {
21
+ var _a, _b, _c;
22
+ const hasMatchers = !!(route.text ||
23
+ route.payload ||
24
+ route.type ||
25
+ route.input ||
26
+ route.session ||
27
+ route.context);
28
+ if (!hasMatchers) {
29
+ return route.path === NOT_FOUND_PATH;
30
+ }
31
+ const textValue = botContext.input.text;
32
+ const payloadValue = botContext.input.payload;
33
+ const typeValue = botContext.input.type;
34
+ const stringMatcherChecks = [
35
+ { matcher: route.text, value: textValue },
36
+ { matcher: route.payload, value: payloadValue },
37
+ { matcher: route.type, value: typeValue },
38
+ ];
39
+ for (const { matcher, value } of stringMatcherChecks) {
40
+ if (matcher && value && this.matchesStringValue(matcher, value)) {
41
+ return true;
42
+ }
43
+ }
44
+ if ((_a = route.input) === null || _a === void 0 ? void 0 : _a.call(route, botContext.input)) {
45
+ return true;
46
+ }
47
+ if ((_b = route.session) === null || _b === void 0 ? void 0 : _b.call(route, botContext.session)) {
48
+ return true;
49
+ }
50
+ if ((_c = route.context) === null || _c === void 0 ? void 0 : _c.call(route, botContext)) {
51
+ return true;
52
+ }
53
+ return false;
54
+ }
55
+ matchesStringValue(matcher, value) {
56
+ if (typeof matcher === 'string') {
57
+ return matcher === value;
58
+ }
59
+ else if (matcher instanceof RegExp) {
60
+ return matcher.test(value);
61
+ }
62
+ else if (typeof matcher === 'function') {
63
+ return matcher(value);
64
+ }
65
+ return false;
66
+ }
67
+ }
68
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/routes/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { Action, BotContext, BotonicContextInput, BotonicContextSession } from '@botonic/shared';
2
+ export interface Route {
3
+ action?: Action;
4
+ path?: string;
5
+ text?: StringMatcher;
6
+ payload?: StringMatcher;
7
+ type?: StringMatcher;
8
+ input?: InputMatcher;
9
+ session?: SessionMatcher;
10
+ context?: ContextMatcher;
11
+ }
12
+ export type StringMatcher = RegExp | string | ((data: string) => boolean);
13
+ export type InputMatcher = (input: BotonicContextInput) => boolean | Promise<boolean>;
14
+ export type SessionMatcher = (session: BotonicContextSession) => boolean | Promise<boolean>;
15
+ export type ContextMatcher = (botContext: BotContext) => boolean | Promise<boolean>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/routes/types.ts"],"names":[],"mappings":""}
@@ -1,7 +1,3 @@
1
- export declare const isNode: () => boolean;
2
- export declare const isBrowser: () => boolean;
3
- export declare function getWebpackEnvVar(webpackEnvVar: string | false, name: string, defaultValue: string): string;
4
- export declare const isMobile: (mobileBreakpoint?: number) => boolean;
5
1
  export declare function isFunction(o: any): boolean;
6
2
  export declare function cloneObject(object: any): any;
7
3
  export declare const params2queryString: (params: {
@@ -1,35 +1,3 @@
1
- export const isNode = () => {
2
- // @ts-ignore
3
- return typeof IS_NODE !== 'undefined'
4
- ? // @ts-ignore
5
- IS_NODE
6
- : typeof process !== 'undefined' &&
7
- process.versions !== null &&
8
- process.versions.node !== null;
9
- };
10
- export const isBrowser = () => {
11
- // @ts-ignore
12
- return typeof IS_BROWSER !== 'undefined'
13
- ? // @ts-ignore
14
- IS_BROWSER
15
- : typeof window !== 'undefined' &&
16
- typeof window.document !== 'undefined' &&
17
- !window.process;
18
- };
19
- export function getWebpackEnvVar(webpackEnvVar, name, defaultValue) {
20
- return (webpackEnvVar ||
21
- (typeof process !== 'undefined' && process.env[name]) ||
22
- defaultValue);
23
- }
24
- export const isMobile = (mobileBreakpoint = 460) => {
25
- if (isBrowser()) {
26
- const w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
27
- if (w < mobileBreakpoint) {
28
- return true;
29
- }
30
- }
31
- return false;
32
- };
33
1
  export function isFunction(o) {
34
2
  return typeof o === 'function';
35
3
  }
@@ -66,7 +34,6 @@ export const join = (...segments) => {
66
34
  newParts.push(part);
67
35
  }
68
36
  // Preserve the initial slash if there was one.
69
- // @ts-ignore
70
37
  if (parts[0] === '')
71
38
  newParts.unshift('');
72
39
  // Turn back into a single string path.
@@ -75,4 +42,4 @@ export const join = (...segments) => {
75
42
  // A simple function to get the dirname of a path
76
43
  // Trailing slashes are ignored. Leading slash is preserved.
77
44
  export const dirname = (path) => join(path, '..');
78
- //# sourceMappingURL=utils.js.map
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/botonic/core/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,CAAM;IAC/B,OAAO,OAAO,CAAC,KAAK,UAAU,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAW;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAA;IACtB,yBAAY,MAAM,EAAE;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAiC,EAAU,EAAE,CAC9E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;KACnB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;KACzE,IAAI,CAAC,GAAG,CAAC,CAAA;AAEd,wEAAwE;AACxE,4DAA4D;AAC5D,wEAAwE;AACxE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,QAAkB,EAAU,EAAE;IACpD,iDAAiD;IACjD,IAAI,KAAK,GAAa,EAAE,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9C,CAAC;IACD,4DAA4D;IAC5D,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,sCAAsC;QACtC,2BAA2B;QAC3B,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;YAAE,SAAQ;QACnC,yCAAyC;QACzC,IAAI,IAAI,KAAK,IAAI;YAAE,QAAQ,CAAC,GAAG,EAAE,CAAA;QACjC,0BAA0B;;YACrB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IACD,+CAA+C;IAC/C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACzC,uCAAuC;IACvC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC,CAAA;AAED,iDAAiD;AACjD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA"}
@@ -1,4 +0,0 @@
1
- export declare const NOT_FOUND_PATH = "404";
2
- export declare const EMPTY_ACTION_PATH = "";
3
- export declare const PATH_PAYLOAD_IDENTIFIER = "__PATH_PAYLOAD__";
4
- export declare const PATH_PAYLOAD_REGEXP: RegExp;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PATH_PAYLOAD_REGEXP = exports.PATH_PAYLOAD_IDENTIFIER = exports.EMPTY_ACTION_PATH = exports.NOT_FOUND_PATH = void 0;
4
- exports.NOT_FOUND_PATH = '404';
5
- exports.EMPTY_ACTION_PATH = '';
6
- exports.PATH_PAYLOAD_IDENTIFIER = '__PATH_PAYLOAD__';
7
- exports.PATH_PAYLOAD_REGEXP = new RegExp(`\\b^${exports.PATH_PAYLOAD_IDENTIFIER}(.*)\\b`);
8
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,KAAK,CAAA;AACtB,QAAA,iBAAiB,GAAG,EAAE,CAAA;AACtB,QAAA,uBAAuB,GAAG,kBAAkB,CAAA;AAC5C,QAAA,mBAAmB,GAAG,IAAI,MAAM,CAC3C,OAAO,+BAAuB,SAAS,CACxC,CAAA"}
@@ -1,36 +0,0 @@
1
- import { Inspector } from './debug';
2
- import { BotRequest, BotResponse, BotState, Locales, Route, Routes } from './models';
3
- import { BotonicOutputParser } from './output-parser';
4
- import { Router } from './routing';
5
- interface CoreBotConfig {
6
- appId?: string;
7
- defaultDelay?: number;
8
- defaultRoutes?: Route[];
9
- defaultTyping?: number;
10
- inspector?: Inspector;
11
- locales: Locales;
12
- plugins?: any;
13
- renderer: any;
14
- routes: Routes;
15
- theme?: any;
16
- }
17
- export declare class CoreBot {
18
- appId?: string;
19
- defaultDelay?: number;
20
- defaultRoutes: Route[];
21
- defaultTyping?: number;
22
- inspector: Inspector;
23
- locales: Locales;
24
- plugins?: Record<string, Plugin>;
25
- renderer: any;
26
- rootElement: any;
27
- router: Router | null;
28
- routes: Routes;
29
- theme?: any;
30
- botonicOutputParser: BotonicOutputParser;
31
- constructor({ renderer, routes, locales, theme, plugins, appId, defaultTyping, defaultDelay, defaultRoutes, inspector, }: CoreBotConfig);
32
- getString(id: string, botState: BotState): string;
33
- setLocale(locale: string, botState: BotState): void;
34
- input({ input, session, botState, dataProvider, }: BotRequest): Promise<BotResponse>;
35
- }
36
- export {};
@@ -1,96 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CoreBot = void 0;
4
- const debug_1 = require("./debug");
5
- const i18n_1 = require("./i18n");
6
- const output_parser_1 = require("./output-parser");
7
- const plugins_1 = require("./plugins");
8
- const routing_1 = require("./routing");
9
- class CoreBot {
10
- constructor({
11
- // TODO: Receives dataProvider
12
- renderer, routes, locales, theme, plugins, appId, defaultTyping, defaultDelay, defaultRoutes, inspector, }) {
13
- this.botonicOutputParser = new output_parser_1.BotonicOutputParser();
14
- this.renderer = renderer;
15
- this.plugins = plugins_1.loadPlugins(plugins);
16
- this.theme = theme || {};
17
- this.defaultTyping =
18
- typeof defaultTyping !== 'undefined' ? defaultTyping : 0.6;
19
- this.defaultDelay = typeof defaultDelay !== 'undefined' ? defaultDelay : 0.4;
20
- this.locales = locales;
21
- if (appId) {
22
- this.appId = appId;
23
- return;
24
- }
25
- this.rootElement = null;
26
- this.inspector = inspector || new debug_1.Inspector();
27
- this.routes = routes;
28
- this.defaultRoutes = defaultRoutes || [];
29
- this.router =
30
- this.routes instanceof Function
31
- ? null
32
- : new routing_1.Router([...this.routes, ...this.defaultRoutes], this.inspector.routeInspector);
33
- }
34
- getString(id, botState) {
35
- if (!botState.locale) {
36
- console.error('Locale is not defined');
37
- return '';
38
- }
39
- return i18n_1.getString(this.locales, botState.locale, id);
40
- }
41
- setLocale(locale, botState) {
42
- botState.locale = locale;
43
- }
44
- async input({ input, session, botState, dataProvider, }) {
45
- if (!(botState === null || botState === void 0 ? void 0 : botState.locale))
46
- botState.locale = 'en';
47
- if (this.plugins) {
48
- await plugins_1.runPlugins(this.plugins, 'pre', input, session, botState, undefined, undefined, dataProvider);
49
- }
50
- if (this.routes instanceof Function) {
51
- this.router = new routing_1.Router([
52
- ...(await routing_1.getComputedRoutes(this.routes, {
53
- input,
54
- session,
55
- botState,
56
- })),
57
- ...this.defaultRoutes,
58
- ], this.inspector.routeInspector);
59
- }
60
- const output = this.router.processInput(input, session, botState);
61
- const request = {
62
- getString: stringId => this.getString(stringId, botState),
63
- setLocale: locale => this.setLocale(locale, botState),
64
- session: session || {},
65
- params: output.params || {},
66
- input: input,
67
- plugins: this.plugins,
68
- defaultTyping: this.defaultTyping,
69
- defaultDelay: this.defaultDelay,
70
- botState,
71
- dataProvider,
72
- };
73
- const response = await this.renderer({
74
- request,
75
- actions: [output.fallbackAction, output.action, output.emptyAction],
76
- });
77
- const messageEvents = this.botonicOutputParser.xmlToMessageEvents(response);
78
- botState.lastRoutePath = output.botState.lastRoutePath; // not needed if updated below
79
- if (this.plugins) {
80
- await plugins_1.runPlugins(this.plugins, 'post', input, session, // passing output.session instead
81
- botState, // passing output.botState instead
82
- response, messageEvents, dataProvider);
83
- }
84
- botState.isFirstInteraction = false;
85
- return {
86
- input,
87
- response,
88
- messageEvents,
89
- session,
90
- botState,
91
- dataProvider, // no need to return it
92
- };
93
- }
94
- }
95
- exports.CoreBot = CoreBot;
96
- //# sourceMappingURL=core-bot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from './inspector';
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./inspector"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B"}
@@ -1,24 +0,0 @@
1
- import { Route, RouteMatcher } from '../models';
2
- export declare class RouteInspector {
3
- routeMatched(_route: Route, _routeKey: string, _routeValue: RouteMatcher, _input: any): void;
4
- routeNotMatched(_route: Route, _routeKey: string, _routeValue: RouteMatcher, _input: any): void;
5
- }
6
- export declare class FocusRouteInspector extends RouteInspector {
7
- focusRoutePaths: string[] | null;
8
- focusOnMatches: boolean;
9
- constructor();
10
- focusOnlyOnRoutes(focusRoutePaths: string[]): this;
11
- focusOnlyOnMatches(): this;
12
- _isOnFocus(route: Route): boolean;
13
- }
14
- export declare class LogRouteInspector extends FocusRouteInspector {
15
- routeMatched(route: Route, routeKey: string, routeValue: RouteMatcher, inputValue: string): void;
16
- routeNotMatched(route: Route, routeKey: string, routeValue: RouteMatcher, inputValue: string): void;
17
- _routeName(obj: Route): string;
18
- _log(message: string, ...optionalParams: string[]): void;
19
- }
20
- export declare class Inspector {
21
- routeInspector: RouteInspector;
22
- constructor(routeInspector?: RouteInspector | undefined);
23
- getRouteInspector(): RouteInspector;
24
- }
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Inspector = exports.LogRouteInspector = exports.FocusRouteInspector = exports.RouteInspector = void 0;
4
- class RouteInspector {
5
- routeMatched(_route, _routeKey, _routeValue, _input) { }
6
- routeNotMatched(_route, _routeKey, _routeValue, _input) { }
7
- }
8
- exports.RouteInspector = RouteInspector;
9
- class FocusRouteInspector extends RouteInspector {
10
- constructor() {
11
- super();
12
- this.focusRoutePaths = null;
13
- this.focusOnMatches = false;
14
- }
15
- focusOnlyOnRoutes(focusRoutePaths) {
16
- this.focusRoutePaths = focusRoutePaths;
17
- return this;
18
- }
19
- focusOnlyOnMatches() {
20
- this.focusOnMatches = true;
21
- return this;
22
- }
23
- _isOnFocus(route) {
24
- if (this.focusRoutePaths === null) {
25
- return true;
26
- }
27
- // @ts-ignore
28
- return this.focusRoutePaths.includes(route.path);
29
- }
30
- }
31
- exports.FocusRouteInspector = FocusRouteInspector;
32
- class LogRouteInspector extends FocusRouteInspector {
33
- routeMatched(route, routeKey, routeValue, inputValue) {
34
- if (!this._isOnFocus(route)) {
35
- return;
36
- }
37
- this._log(`Route ${this._routeName(route)} selected ` +
38
- `because Input.${routeKey} (${inputValue}) matched '${routeValue}'`);
39
- }
40
- // @ts-ignore
41
- routeNotMatched(route, routeKey, routeValue, inputValue) {
42
- if (!this._isOnFocus(route) || this.focusOnMatches) {
43
- return;
44
- }
45
- this._log(`Route ${this._routeName(route)} not selected ` +
46
- `because Input.${routeKey} (${inputValue}) did not match '${routeValue}'`);
47
- }
48
- _routeName(obj) {
49
- let name = obj.path || '<<no path defined>>';
50
- if (obj.action) {
51
- name = `'${name}' (to action '${obj.action.name}')`;
52
- }
53
- if (obj.redirect) {
54
- name = `'${name}' (with redirect to '${obj.redirect}')`;
55
- }
56
- return name;
57
- }
58
- _log(message, ...optionalParams) {
59
- console.log(message, ...optionalParams);
60
- }
61
- }
62
- exports.LogRouteInspector = LogRouteInspector;
63
- class Inspector {
64
- constructor(routeInspector = undefined) {
65
- this.routeInspector = routeInspector || new RouteInspector();
66
- }
67
- getRouteInspector() {
68
- return this.routeInspector;
69
- }
70
- }
71
- exports.Inspector = Inspector;
72
- //# sourceMappingURL=inspector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inspector.js","sourceRoot":"","sources":["../../../src/debug/inspector.ts"],"names":[],"mappings":";;;AACA,MAAa,cAAc;IACzB,YAAY,CACV,MAAa,EACb,SAAiB,EACjB,WAAyB,EACzB,MAAW,IACJ,CAAC;IACV,eAAe,CACb,MAAa,EACb,SAAiB,EACjB,WAAyB,EACzB,MAAW,IACJ,CAAC;CACX;AAbD,wCAaC;AAED,MAAa,mBAAoB,SAAQ,cAAc;IAGrD;QACE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;IAC7B,CAAC;IAED,iBAAiB,CAAC,eAAyB;QACzC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAC,KAAY;QACrB,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YACjC,OAAO,IAAI,CAAA;SACZ;QACD,aAAa;QACb,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;CACF;AA1BD,kDA0BC;AAED,MAAa,iBAAkB,SAAQ,mBAAmB;IACxD,YAAY,CACV,KAAY,EACZ,QAAgB,EAChB,UAAwB,EACxB,UAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC3B,OAAM;SACP;QACD,IAAI,CAAC,IAAI,CACP,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY;YACzC,iBAAiB,QAAQ,KAAK,UAAU,cAAc,UAAU,GAAG,CACtE,CAAA;IACH,CAAC;IAED,aAAa;IACb,eAAe,CACb,KAAY,EACZ,QAAgB,EAChB,UAAwB,EACxB,UAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE;YAClD,OAAM;SACP;QACD,IAAI,CAAC,IAAI,CACP,SAAS,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,gBAAgB;YAC7C,iBAAiB,QAAQ,KAAK,UAAU,oBAAoB,UAAU,GAAG,CAC5E,CAAA;IACH,CAAC;IAED,UAAU,CAAC,GAAU;QACnB,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,qBAAqB,CAAA;QAC5C,IAAI,GAAG,CAAC,MAAM,EAAE;YACd,IAAI,GAAG,IAAI,IAAI,iBAAiB,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA;SACpD;QACD,IAAI,GAAG,CAAC,QAAQ,EAAE;YAChB,IAAI,GAAG,IAAI,IAAI,wBAAwB,GAAG,CAAC,QAAQ,IAAI,CAAA;SACxD;QACD,OAAO,IAAc,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,cAAwB;QAC/C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAA;IACzC,CAAC;CACF;AA9CD,8CA8CC;AAED,MAAa,SAAS;IAEpB,YAAY,iBAA6C,SAAS;QAChE,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,cAAc,EAAE,CAAA;IAC9D,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;CACF;AATD,8BASC"}
@@ -1,67 +0,0 @@
1
- import { BotState, Session } from './models';
2
- export interface HubtypeAgentsInfo {
3
- attending_count: number;
4
- email: string;
5
- idle_count: number;
6
- last_message_sent: string;
7
- status: string;
8
- }
9
- export interface HubtypeSession extends Session {
10
- _hubtype_api?: string;
11
- _access_token: string;
12
- }
13
- export interface SessionWithBotonicAction extends Session {
14
- _botonic_action: string;
15
- }
16
- export interface BackendContext {
17
- timeoutMs: number;
18
- }
19
- export interface VacationRange {
20
- end_date: number;
21
- id: number;
22
- start_date: number;
23
- }
24
- export declare function getOpenQueues(session: HubtypeSession, context?: {}): Promise<{
25
- queues: string[];
26
- }>;
27
- export declare class HandOffBuilder {
28
- _botState: any;
29
- _queue: string;
30
- _onFinish: string;
31
- _email: string;
32
- _agentId: string;
33
- _note: string;
34
- _caseInfo: string;
35
- _shadowing: boolean;
36
- constructor(botState: any);
37
- withQueue(queueNameOrId: string): this;
38
- withOnFinishPayload(payload: string): this;
39
- withOnFinishPath(path: string): this;
40
- withAgentEmail(email: string): this;
41
- withAgentId(agentId: string): this;
42
- withNote(note: string): this;
43
- withCaseInfo(caseInfo: string): this;
44
- withShadowing(shadowing?: boolean): this;
45
- handOff(): Promise<void>;
46
- }
47
- /**
48
- * @deprecated use {@link HandOffBuilder} class instead
49
- */
50
- export declare function humanHandOff(session: any, queueNameOrId: string | undefined, onFinish: any): Promise<void>;
51
- export declare function storeCaseRating(session: HubtypeSession, rating: number, context?: any): Promise<{
52
- status: string;
53
- }>;
54
- export declare function getAvailableAgentsByQueue(session: HubtypeSession, queueId: string): Promise<{
55
- agents: string[];
56
- }>;
57
- export declare function getAvailableAgents(session: HubtypeSession): Promise<{
58
- agents: HubtypeAgentsInfo[];
59
- }>;
60
- export declare function getAgentVacationRanges(session: HubtypeSession, { agentId, agentEmail }: {
61
- agentId?: string;
62
- agentEmail?: string;
63
- }): Promise<{
64
- vacation_ranges: VacationRange[];
65
- }>;
66
- export declare function cancelHandoff(botState: BotState, typification?: string | null): void;
67
- export declare function deleteUser(botState: BotState): void;