@botonic/core 1.0.0-alpha.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 (363) hide show
  1. package/lib/cjs/constants.d.ts +4 -0
  2. package/lib/cjs/constants.js +8 -0
  3. package/lib/cjs/constants.js.map +1 -0
  4. package/lib/cjs/core-bot.d.ts +36 -0
  5. package/lib/cjs/core-bot.js +96 -0
  6. package/lib/cjs/core-bot.js.map +1 -0
  7. package/lib/cjs/debug/index.d.ts +1 -0
  8. package/lib/cjs/debug/index.js +5 -0
  9. package/lib/cjs/debug/index.js.map +1 -0
  10. package/lib/cjs/debug/inspector.d.ts +24 -0
  11. package/lib/{debug → cjs/debug}/inspector.js +5 -3
  12. package/lib/cjs/debug/inspector.js.map +1 -0
  13. package/lib/cjs/handoff.d.ts +67 -0
  14. package/lib/{handoff.js → cjs/handoff.js} +25 -12
  15. package/lib/cjs/handoff.js.map +1 -0
  16. package/lib/cjs/hubtype-service.d.ts +69 -0
  17. package/lib/{hubtype-service.js → cjs/hubtype-service.js} +17 -14
  18. package/lib/cjs/hubtype-service.js.map +1 -0
  19. package/lib/cjs/i18n.d.ts +2 -0
  20. package/lib/{i18n.js → cjs/i18n.js} +0 -1
  21. package/lib/cjs/i18n.js.map +1 -0
  22. package/lib/cjs/index.d.ts +11 -0
  23. package/lib/cjs/index.js +15 -0
  24. package/lib/cjs/index.js.map +1 -0
  25. package/lib/cjs/models/bot-state.d.ts +11 -0
  26. package/lib/cjs/models/bot-state.js +3 -0
  27. package/lib/cjs/models/bot-state.js.map +1 -0
  28. package/lib/cjs/models/channels.d.ts +9 -0
  29. package/lib/cjs/models/channels.js +14 -0
  30. package/lib/cjs/models/channels.js.map +1 -0
  31. package/lib/cjs/models/events/base-event.d.ts +20 -0
  32. package/lib/{models/events/index.js → cjs/models/events/base-event.js} +7 -1
  33. package/lib/cjs/models/events/base-event.js.map +1 -0
  34. package/lib/cjs/models/events/botonic-event.d.ts +4 -0
  35. package/lib/cjs/models/events/botonic-event.js +3 -0
  36. package/lib/cjs/models/events/botonic-event.js.map +1 -0
  37. package/lib/{models/events/connections/index.d.ts → cjs/models/events/connection/connection-event.d.ts} +1 -1
  38. package/lib/{models/events/connections/index.js → cjs/models/events/connection/connection-event.js} +1 -1
  39. package/lib/cjs/models/events/connection/connection-event.js.map +1 -0
  40. package/lib/cjs/models/events/connection/index.d.ts +1 -0
  41. package/lib/cjs/models/events/connection/index.js +5 -0
  42. package/lib/cjs/models/events/connection/index.js.map +1 -0
  43. package/lib/cjs/models/events/index.d.ts +4 -0
  44. package/lib/cjs/models/events/index.js +8 -0
  45. package/lib/cjs/models/events/index.js.map +1 -0
  46. package/lib/cjs/models/events/integration/index.d.ts +1 -0
  47. package/lib/cjs/models/events/integration/index.js +5 -0
  48. package/lib/cjs/models/events/integration/index.js.map +1 -0
  49. package/lib/cjs/models/events/integration/integration-event.d.ts +6 -0
  50. package/lib/cjs/models/events/integration/integration-event.js +3 -0
  51. package/lib/cjs/models/events/integration/integration-event.js.map +1 -0
  52. package/lib/{models → cjs/models}/events/message/buttons.d.ts +0 -0
  53. package/lib/{models → cjs/models}/events/message/buttons.js +0 -0
  54. package/lib/cjs/models/events/message/buttons.js.map +1 -0
  55. package/lib/{models → cjs/models}/events/message/carousel.d.ts +1 -1
  56. package/lib/{models → cjs/models}/events/message/carousel.js +0 -0
  57. package/lib/cjs/models/events/message/carousel.js.map +1 -0
  58. package/lib/{models → cjs/models}/events/message/custom.d.ts +2 -2
  59. package/lib/{models → cjs/models}/events/message/custom.js +0 -0
  60. package/lib/cjs/models/events/message/custom.js.map +1 -0
  61. package/lib/cjs/models/events/message/index.d.ts +9 -0
  62. package/lib/cjs/models/events/message/index.js +13 -0
  63. package/lib/cjs/models/events/message/index.js.map +1 -0
  64. package/lib/{models → cjs/models}/events/message/location.d.ts +1 -1
  65. package/lib/{models → cjs/models}/events/message/location.js +0 -0
  66. package/lib/cjs/models/events/message/location.js.map +1 -0
  67. package/lib/{models → cjs/models}/events/message/media.d.ts +1 -1
  68. package/lib/cjs/models/events/message/media.js +11 -0
  69. package/lib/cjs/models/events/message/media.js.map +1 -0
  70. package/lib/{models/events/message/index.d.ts → cjs/models/events/message/message-event.d.ts} +2 -1
  71. package/lib/{models/events/message/index.js → cjs/models/events/message/message-event.js} +5 -1
  72. package/lib/cjs/models/events/message/message-event.js.map +1 -0
  73. package/lib/cjs/models/events/message/postback.d.ts +4 -0
  74. package/lib/cjs/models/events/message/postback.js +3 -0
  75. package/lib/cjs/models/events/message/postback.js.map +1 -0
  76. package/lib/{models → cjs/models}/events/message/replies.d.ts +0 -0
  77. package/lib/{models → cjs/models}/events/message/replies.js +0 -0
  78. package/lib/cjs/models/events/message/replies.js.map +1 -0
  79. package/lib/{models → cjs/models}/events/message/text.d.ts +1 -1
  80. package/lib/{models → cjs/models}/events/message/text.js +0 -0
  81. package/lib/cjs/models/events/message/text.js.map +1 -0
  82. package/lib/cjs/models/index.d.ts +6 -0
  83. package/lib/cjs/models/index.js +10 -0
  84. package/lib/cjs/models/index.js.map +1 -0
  85. package/lib/cjs/models/legacy-types.d.ts +184 -0
  86. package/lib/cjs/models/legacy-types.js +59 -0
  87. package/lib/cjs/models/legacy-types.js.map +1 -0
  88. package/lib/cjs/models/session.d.ts +3 -0
  89. package/lib/cjs/models/session.js +3 -0
  90. package/lib/cjs/models/session.js.map +1 -0
  91. package/lib/cjs/models/user.d.ts +14 -0
  92. package/lib/{models → cjs/models}/user.js +0 -0
  93. package/lib/{models → cjs/models}/user.js.map +1 -1
  94. package/lib/cjs/output-parser/botonic-output-parser.d.ts +16 -0
  95. package/lib/{output-parser/index.js → cjs/output-parser/botonic-output-parser.js} +8 -2
  96. package/lib/cjs/output-parser/botonic-output-parser.js.map +1 -0
  97. package/lib/{output-parser → cjs/output-parser}/factory.d.ts +1 -1
  98. package/lib/{output-parser → cjs/output-parser}/factory.js +9 -7
  99. package/lib/cjs/output-parser/factory.js.map +1 -0
  100. package/lib/cjs/output-parser/index.d.ts +3 -0
  101. package/lib/cjs/output-parser/index.js +7 -0
  102. package/lib/cjs/output-parser/index.js.map +1 -0
  103. package/lib/{output-parser → cjs/output-parser}/parsers.d.ts +4 -8
  104. package/lib/{output-parser → cjs/output-parser}/parsers.js +41 -26
  105. package/lib/cjs/output-parser/parsers.js.map +1 -0
  106. package/lib/cjs/plugins.d.ts +6 -0
  107. package/lib/{plugins.js → cjs/plugins.js} +10 -6
  108. package/lib/cjs/plugins.js.map +1 -0
  109. package/lib/cjs/routing/index.d.ts +2 -0
  110. package/lib/cjs/routing/index.js +6 -0
  111. package/lib/cjs/routing/index.js.map +1 -0
  112. package/lib/cjs/routing/router-utils.d.ts +11 -0
  113. package/lib/cjs/routing/router-utils.js +89 -0
  114. package/lib/cjs/routing/router-utils.js.map +1 -0
  115. package/lib/cjs/routing/router.d.ts +54 -0
  116. package/lib/cjs/routing/router.js +319 -0
  117. package/lib/cjs/routing/router.js.map +1 -0
  118. package/lib/cjs/utils.d.ts +11 -0
  119. package/lib/{utils.js → cjs/utils.js} +14 -5
  120. package/lib/cjs/utils.js.map +1 -0
  121. package/lib/esm/constants.d.ts +4 -0
  122. package/lib/esm/constants.js +5 -0
  123. package/lib/esm/constants.js.map +1 -0
  124. package/lib/esm/core-bot.d.ts +36 -0
  125. package/lib/esm/core-bot.js +92 -0
  126. package/lib/esm/core-bot.js.map +1 -0
  127. package/lib/esm/debug/index.d.ts +1 -0
  128. package/lib/esm/debug/index.js +2 -0
  129. package/lib/esm/debug/index.js.map +1 -0
  130. package/lib/esm/debug/inspector.d.ts +24 -0
  131. package/lib/esm/debug/inspector.js +65 -0
  132. package/lib/esm/debug/inspector.js.map +1 -0
  133. package/lib/esm/handoff.d.ts +67 -0
  134. package/lib/esm/handoff.js +173 -0
  135. package/lib/esm/handoff.js.map +1 -0
  136. package/lib/esm/hubtype-service.d.ts +69 -0
  137. package/lib/esm/hubtype-service.js +185 -0
  138. package/lib/esm/hubtype-service.js.map +1 -0
  139. package/lib/esm/i18n.d.ts +2 -0
  140. package/lib/esm/i18n.js +7 -0
  141. package/lib/esm/i18n.js.map +1 -0
  142. package/lib/esm/index.d.ts +11 -0
  143. package/lib/esm/index.js +12 -0
  144. package/lib/esm/index.js.map +1 -0
  145. package/lib/esm/models/bot-state.d.ts +11 -0
  146. package/lib/esm/models/bot-state.js +2 -0
  147. package/lib/esm/models/bot-state.js.map +1 -0
  148. package/lib/esm/models/channels.d.ts +9 -0
  149. package/lib/esm/models/channels.js +11 -0
  150. package/lib/esm/models/channels.js.map +1 -0
  151. package/lib/esm/models/events/base-event.d.ts +20 -0
  152. package/lib/esm/models/events/base-event.js +14 -0
  153. package/lib/esm/models/events/base-event.js.map +1 -0
  154. package/lib/esm/models/events/botonic-event.d.ts +4 -0
  155. package/lib/esm/models/events/botonic-event.js +2 -0
  156. package/lib/esm/models/events/botonic-event.js.map +1 -0
  157. package/lib/esm/models/events/connection/connection-event.d.ts +9 -0
  158. package/lib/esm/models/events/connection/connection-event.js +6 -0
  159. package/lib/esm/models/events/connection/connection-event.js.map +1 -0
  160. package/lib/esm/models/events/connection/index.d.ts +1 -0
  161. package/lib/esm/models/events/connection/index.js +2 -0
  162. package/lib/esm/models/events/connection/index.js.map +1 -0
  163. package/lib/esm/models/events/index.d.ts +4 -0
  164. package/lib/esm/models/events/index.js +5 -0
  165. package/lib/esm/models/events/index.js.map +1 -0
  166. package/lib/esm/models/events/integration/index.d.ts +1 -0
  167. package/lib/esm/models/events/integration/index.js +2 -0
  168. package/lib/esm/models/events/integration/index.js.map +1 -0
  169. package/lib/esm/models/events/integration/integration-event.d.ts +6 -0
  170. package/lib/esm/models/events/integration/integration-event.js +2 -0
  171. package/lib/esm/models/events/integration/integration-event.js.map +1 -0
  172. package/lib/esm/models/events/message/buttons.d.ts +18 -0
  173. package/lib/esm/models/events/message/buttons.js +2 -0
  174. package/lib/esm/models/events/message/buttons.js.map +1 -0
  175. package/lib/esm/models/events/message/carousel.d.ts +11 -0
  176. package/lib/esm/models/events/message/carousel.js +2 -0
  177. package/lib/esm/models/events/message/carousel.js.map +1 -0
  178. package/lib/esm/models/events/message/custom.d.ts +6 -0
  179. package/lib/esm/models/events/message/custom.js +2 -0
  180. package/lib/esm/models/events/message/custom.js.map +1 -0
  181. package/lib/esm/models/events/message/index.d.ts +9 -0
  182. package/lib/esm/models/events/message/index.js +10 -0
  183. package/lib/esm/models/events/message/index.js.map +1 -0
  184. package/lib/esm/models/events/message/location.d.ts +6 -0
  185. package/lib/esm/models/events/message/location.js +2 -0
  186. package/lib/esm/models/events/message/location.js.map +1 -0
  187. package/lib/esm/models/events/message/media.d.ts +18 -0
  188. package/lib/esm/models/events/message/media.js +8 -0
  189. package/lib/esm/models/events/message/media.js.map +1 -0
  190. package/lib/esm/models/events/message/message-event.d.ts +30 -0
  191. package/lib/esm/models/events/message/message-event.js +29 -0
  192. package/lib/esm/models/events/message/message-event.js.map +1 -0
  193. package/lib/esm/models/events/message/postback.d.ts +4 -0
  194. package/lib/esm/models/events/message/postback.js +2 -0
  195. package/lib/esm/models/events/message/postback.js.map +1 -0
  196. package/lib/esm/models/events/message/replies.d.ts +7 -0
  197. package/lib/esm/models/events/message/replies.js +2 -0
  198. package/lib/esm/models/events/message/replies.js.map +1 -0
  199. package/lib/esm/models/events/message/text.d.ts +8 -0
  200. package/lib/esm/models/events/message/text.js +2 -0
  201. package/lib/esm/models/events/message/text.js.map +1 -0
  202. package/lib/esm/models/index.d.ts +6 -0
  203. package/lib/esm/models/index.js +7 -0
  204. package/lib/esm/models/index.js.map +1 -0
  205. package/lib/esm/models/legacy-types.d.ts +184 -0
  206. package/lib/esm/models/legacy-types.js +56 -0
  207. package/lib/esm/models/legacy-types.js.map +1 -0
  208. package/lib/esm/models/session.d.ts +3 -0
  209. package/lib/esm/models/session.js +2 -0
  210. package/lib/esm/models/session.js.map +1 -0
  211. package/lib/esm/models/user.d.ts +14 -0
  212. package/lib/esm/models/user.js +2 -0
  213. package/lib/esm/models/user.js.map +1 -0
  214. package/lib/esm/output-parser/botonic-output-parser.d.ts +16 -0
  215. package/lib/esm/output-parser/botonic-output-parser.js +33 -0
  216. package/lib/esm/output-parser/botonic-output-parser.js.map +1 -0
  217. package/lib/esm/output-parser/factory.d.ts +4 -0
  218. package/lib/esm/output-parser/factory.js +28 -0
  219. package/lib/esm/output-parser/factory.js.map +1 -0
  220. package/lib/esm/output-parser/index.d.ts +3 -0
  221. package/lib/esm/output-parser/index.js +4 -0
  222. package/lib/esm/output-parser/index.js.map +1 -0
  223. package/lib/esm/output-parser/parsers.d.ts +22 -0
  224. package/lib/esm/output-parser/parsers.js +130 -0
  225. package/lib/esm/output-parser/parsers.js.map +1 -0
  226. package/lib/esm/plugins.d.ts +6 -0
  227. package/lib/esm/plugins.js +43 -0
  228. package/lib/esm/plugins.js.map +1 -0
  229. package/lib/esm/routing/index.d.ts +2 -0
  230. package/lib/esm/routing/index.js +3 -0
  231. package/lib/esm/routing/index.js.map +1 -0
  232. package/lib/esm/routing/router-utils.d.ts +11 -0
  233. package/lib/esm/routing/router-utils.js +79 -0
  234. package/lib/esm/routing/router-utils.js.map +1 -0
  235. package/lib/esm/routing/router.d.ts +54 -0
  236. package/lib/esm/routing/router.js +315 -0
  237. package/lib/esm/routing/router.js.map +1 -0
  238. package/lib/esm/utils.d.ts +11 -0
  239. package/lib/esm/utils.js +78 -0
  240. package/lib/esm/utils.js.map +1 -0
  241. package/package.json +15 -8
  242. package/src/constants.ts +6 -0
  243. package/src/core-bot.ts +181 -0
  244. package/src/{types/debug/index.d.ts → debug/index.ts} +0 -0
  245. package/src/debug/{inspector.js → inspector.ts} +39 -14
  246. package/src/{handoff.js → handoff.ts} +103 -26
  247. package/src/{hubtype-service.js → hubtype-service.ts} +77 -35
  248. package/src/{i18n.js → i18n.ts} +7 -1
  249. package/src/index.ts +11 -0
  250. package/src/models/bot-state.ts +12 -0
  251. package/src/models/channels.ts +9 -0
  252. package/src/models/events/base-event.ts +22 -0
  253. package/src/models/events/botonic-event.ts +26 -0
  254. package/src/models/events/{connections/index.ts → connection/connection-event.ts} +1 -1
  255. package/src/models/events/connection/index.ts +1 -0
  256. package/src/models/events/index.ts +4 -37
  257. package/src/models/events/integration/index.ts +1 -0
  258. package/src/models/events/integration/integration-event.ts +13 -0
  259. package/src/models/events/message/carousel.ts +1 -1
  260. package/src/models/events/message/custom.ts +2 -2
  261. package/src/models/events/message/index.ts +9 -33
  262. package/src/models/events/message/location.ts +1 -1
  263. package/src/models/events/message/media.ts +1 -1
  264. package/src/models/events/message/message-event.ts +37 -0
  265. package/src/models/events/message/postback.ts +5 -0
  266. package/src/models/events/message/text.ts +1 -1
  267. package/src/models/index.ts +6 -0
  268. package/src/models/legacy-types.ts +262 -0
  269. package/src/models/session.ts +3 -0
  270. package/src/models/user.ts +10 -3
  271. package/src/output-parser/botonic-output-parser.ts +38 -0
  272. package/src/output-parser/factory.ts +5 -3
  273. package/src/output-parser/index.ts +3 -32
  274. package/src/output-parser/parsers.ts +45 -18
  275. package/src/{plugins.js → plugins.ts} +28 -13
  276. package/src/routing/index.ts +2 -0
  277. package/src/routing/router-utils.ts +100 -0
  278. package/src/routing/router.ts +415 -0
  279. package/src/{utils.js → utils.ts} +26 -13
  280. package/index.d.ts +0 -1
  281. package/lib/constants.d.ts +0 -15
  282. package/lib/constants.js +0 -19
  283. package/lib/constants.js.map +0 -1
  284. package/lib/core-bot.d.ts +0 -40
  285. package/lib/core-bot.js +0 -80
  286. package/lib/core-bot.js.map +0 -1
  287. package/lib/debug/index.d.ts +0 -1
  288. package/lib/debug/index.js +0 -9
  289. package/lib/debug/index.js.map +0 -1
  290. package/lib/debug/inspector.d.ts +0 -20
  291. package/lib/debug/inspector.js.map +0 -1
  292. package/lib/debug/inspector.test.d.ts +0 -1
  293. package/lib/debug/inspector.test.js +0 -8
  294. package/lib/debug/inspector.test.js.map +0 -1
  295. package/lib/errors.d.ts +0 -4
  296. package/lib/errors.js +0 -11
  297. package/lib/errors.js.map +0 -1
  298. package/lib/handoff.d.ts +0 -34
  299. package/lib/handoff.js.map +0 -1
  300. package/lib/handoff.test.d.ts +0 -1
  301. package/lib/handoff.test.js +0 -62
  302. package/lib/handoff.test.js.map +0 -1
  303. package/lib/hubtype-service.d.ts +0 -58
  304. package/lib/hubtype-service.js.map +0 -1
  305. package/lib/hubtype-service.test.d.ts +0 -1
  306. package/lib/hubtype-service.test.js +0 -21
  307. package/lib/hubtype-service.test.js.map +0 -1
  308. package/lib/i18n.d.ts +0 -1
  309. package/lib/i18n.js.map +0 -1
  310. package/lib/index.d.ts +0 -48
  311. package/lib/index.js +0 -58
  312. package/lib/index.js.map +0 -1
  313. package/lib/models/events/connections/index.js.map +0 -1
  314. package/lib/models/events/index.d.ts +0 -20
  315. package/lib/models/events/index.js.map +0 -1
  316. package/lib/models/events/message/buttons.js.map +0 -1
  317. package/lib/models/events/message/carousel.js.map +0 -1
  318. package/lib/models/events/message/custom.js.map +0 -1
  319. package/lib/models/events/message/index.js.map +0 -1
  320. package/lib/models/events/message/location.js.map +0 -1
  321. package/lib/models/events/message/media.js +0 -11
  322. package/lib/models/events/message/media.js.map +0 -1
  323. package/lib/models/events/message/replies.js.map +0 -1
  324. package/lib/models/events/message/text.js.map +0 -1
  325. package/lib/models/user.d.ts +0 -9
  326. package/lib/output-parser/factory.js.map +0 -1
  327. package/lib/output-parser/index.d.ts +0 -11
  328. package/lib/output-parser/index.js.map +0 -1
  329. package/lib/output-parser/parsers.js.map +0 -1
  330. package/lib/output-parser/util.d.ts +0 -2
  331. package/lib/output-parser/util.js +0 -14
  332. package/lib/output-parser/util.js.map +0 -1
  333. package/lib/plugins.d.ts +0 -2
  334. package/lib/plugins.js.map +0 -1
  335. package/lib/router.d.ts +0 -55
  336. package/lib/router.js +0 -268
  337. package/lib/router.js.map +0 -1
  338. package/lib/router.test.d.ts +0 -1
  339. package/lib/router.test.js +0 -273
  340. package/lib/router.test.js.map +0 -1
  341. package/lib/utils.d.ts +0 -8
  342. package/lib/utils.js.map +0 -1
  343. package/src/constants.js +0 -15
  344. package/src/core-bot.js +0 -106
  345. package/src/debug/index.js +0 -6
  346. package/src/debug/inspector.test.js +0 -6
  347. package/src/errors.js +0 -8
  348. package/src/handoff.test.js +0 -61
  349. package/src/hubtype-service.test.js +0 -23
  350. package/src/index.js +0 -51
  351. package/src/output-parser/util.ts +0 -8
  352. package/src/router.js +0 -273
  353. package/src/router.test.js +0 -347
  354. package/src/types/constants.d.ts +0 -14
  355. package/src/types/core-bot.d.ts +0 -45
  356. package/src/types/debug/inspector.d.ts +0 -33
  357. package/src/types/handoff.d.ts +0 -75
  358. package/src/types/hubtype-service.d.ts +0 -52
  359. package/src/types/i18n.d.ts +0 -8
  360. package/src/types/index.d.ts +0 -226
  361. package/src/types/plugins.d.ts +0 -13
  362. package/src/types/router.d.ts +0 -57
  363. package/src/types/utils.d.ts +0 -12
@@ -0,0 +1,4 @@
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;
@@ -0,0 +1,8 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,36 @@
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 {};
@@ -0,0 +1,96 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-bot.js","sourceRoot":"","sources":["../../src/core-bot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './inspector';
@@ -0,0 +1,5 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B"}
@@ -0,0 +1,24 @@
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
+ }
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Inspector = exports.LogRouteInspector = exports.FocusRouteInspector = exports.RouteInspector = void 0;
4
4
  class RouteInspector {
5
- routeMatched(route, routeKey, routeValue, input) { }
6
- routeNotMatched(route, routeKey, routeValue, inputValue) { }
5
+ routeMatched(_route, _routeKey, _routeValue, _input) { }
6
+ routeNotMatched(_route, _routeKey, _routeValue, _input) { }
7
7
  }
8
8
  exports.RouteInspector = RouteInspector;
9
9
  class FocusRouteInspector extends RouteInspector {
@@ -21,9 +21,10 @@ class FocusRouteInspector extends RouteInspector {
21
21
  return this;
22
22
  }
23
23
  _isOnFocus(route) {
24
- if (this.focusRoutePaths == null) {
24
+ if (this.focusRoutePaths === null) {
25
25
  return true;
26
26
  }
27
+ // @ts-ignore
27
28
  return this.focusRoutePaths.includes(route.path);
28
29
  }
29
30
  }
@@ -36,6 +37,7 @@ class LogRouteInspector extends FocusRouteInspector {
36
37
  this._log(`Route ${this._routeName(route)} selected ` +
37
38
  `because Input.${routeKey} (${inputValue}) matched '${routeValue}'`);
38
39
  }
40
+ // @ts-ignore
39
41
  routeNotMatched(route, routeKey, routeValue, inputValue) {
40
42
  if (!this._isOnFocus(route) || this.focusOnMatches) {
41
43
  return;
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,67 @@
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;
@@ -3,10 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deleteUser = exports.cancelHandoff = exports.getAgentVacationRanges = exports.getAvailableAgents = exports.getAvailableAgentsByQueue = exports.storeCaseRating = exports.humanHandOff = exports.HandOffBuilder = exports.getOpenQueues = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const axios_1 = tslib_1.__importDefault(require("axios"));
6
+ const constants_1 = require("./constants");
6
7
  const HUBTYPE_API_URL = 'https://api.hubtype.com';
7
- async function getOpenQueues(session) {
8
+ function contextDefaults(context) {
9
+ return {
10
+ timeoutMs: context.timeoutMs || 10000,
11
+ };
12
+ }
13
+ async function getOpenQueues(session, context = {}) {
14
+ //be aware of https://github.com/axios/axios/issues/1543
8
15
  const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
9
16
  const endpointUrl = `${baseUrl}/v1/queues/get_open_queues/`;
17
+ context = contextDefaults(context);
10
18
  const resp = await axios_1.default({
11
19
  headers: {
12
20
  Authorization: `Bearer ${session._access_token}`,
@@ -14,13 +22,14 @@ async function getOpenQueues(session) {
14
22
  method: 'post',
15
23
  url: endpointUrl,
16
24
  data: { bot_id: session.bot.id },
25
+ timeout: context.timeoutMs,
17
26
  });
18
27
  return resp.data;
19
28
  }
20
29
  exports.getOpenQueues = getOpenQueues;
21
30
  class HandOffBuilder {
22
- constructor(session) {
23
- this._session = session;
31
+ constructor(botState) {
32
+ this._botState = botState;
24
33
  }
25
34
  withQueue(queueNameOrId) {
26
35
  this._queue = queueNameOrId;
@@ -31,7 +40,7 @@ class HandOffBuilder {
31
40
  return this;
32
41
  }
33
42
  withOnFinishPath(path) {
34
- this._onFinish = `__PATH_PAYLOAD__${path}`;
43
+ this._onFinish = `${constants_1.PATH_PAYLOAD_IDENTIFIER}${path}`;
35
44
  return this;
36
45
  }
37
46
  withAgentEmail(email) {
@@ -55,7 +64,7 @@ class HandOffBuilder {
55
64
  return this;
56
65
  }
57
66
  async handOff() {
58
- return _humanHandOff(this._session, this._queue, this._onFinish, this._email, this._agentId, this._caseInfo, this._note, this._shadowing);
67
+ return _humanHandOff(this._botState, this._queue, this._onFinish, this._email, this._agentId, this._caseInfo, this._note, this._shadowing);
59
68
  }
60
69
  }
61
70
  exports.HandOffBuilder = HandOffBuilder;
@@ -81,7 +90,7 @@ async function humanHandOff(session, queueNameOrId = '', onFinish) {
81
90
  return builder.handOff();
82
91
  }
83
92
  exports.humanHandOff = humanHandOff;
84
- async function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', caseInfo = '', note = '', shadowing = false) {
93
+ async function _humanHandOff(botState, queueNameOrId = '', onFinish, agentEmail = '', agentId = '', caseInfo = '', note = '', shadowing = false) {
85
94
  const params = {};
86
95
  if (queueNameOrId) {
87
96
  params.queue = queueNameOrId;
@@ -104,11 +113,13 @@ async function _humanHandOff(session, queueNameOrId = '', onFinish, agentEmail =
104
113
  if (onFinish) {
105
114
  params.on_finish = onFinish;
106
115
  }
107
- session._botonic_action = `create_case:${JSON.stringify(params)}`;
116
+ botState.botonicAction = `create_case:${JSON.stringify(params)}`;
117
+ botState.isHandoff = true;
108
118
  }
109
- async function storeCaseRating(session, rating) {
119
+ async function storeCaseRating(session, rating, context = {}) {
110
120
  const baseUrl = session._hubtype_api || HUBTYPE_API_URL;
111
121
  const chatId = session.user.id;
122
+ context = contextDefaults(context);
112
123
  const resp = await axios_1.default({
113
124
  headers: {
114
125
  Authorization: `Bearer ${session._access_token}`,
@@ -116,6 +127,7 @@ async function storeCaseRating(session, rating) {
116
127
  method: 'post',
117
128
  url: `${baseUrl}/v1/chats/${chatId}/store_case_rating/`,
118
129
  data: { chat_id: chatId, rating },
130
+ timeout: context.timeoutMs,
119
131
  });
120
132
  return resp.data;
121
133
  }
@@ -159,15 +171,16 @@ async function getAgentVacationRanges(session, { agentId, agentEmail }) {
159
171
  return resp.data;
160
172
  }
161
173
  exports.getAgentVacationRanges = getAgentVacationRanges;
162
- function cancelHandoff(session, typification = null) {
174
+ function cancelHandoff(botState, typification = null) {
163
175
  let action = 'discard_case';
164
176
  if (typification)
165
177
  action = `${action}:${JSON.stringify({ typification })}`;
166
- session._botonic_action = action;
178
+ botState.botonicAction = action;
179
+ botState.isHandoff = false; // TODO: Review handoff functionalities
167
180
  }
168
181
  exports.cancelHandoff = cancelHandoff;
169
- function deleteUser(session) {
170
- session._botonic_action = `delete_user`;
182
+ function deleteUser(botState) {
183
+ botState.botonicAction = `delete_user`;
171
184
  }
172
185
  exports.deleteUser = deleteUser;
173
186
  //# sourceMappingURL=handoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../src/handoff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { AxiosResponse } from 'axios';
2
+ import Pusher, { Channel } from 'pusher-js';
3
+ import { Input } from './models';
4
+ interface UnsentInput {
5
+ id: string;
6
+ ack: number;
7
+ unsentInput: Input;
8
+ }
9
+ interface BotonicHeaders {
10
+ 'X-BOTONIC-USER-ID': string;
11
+ 'X-BOTONIC-LAST-MESSAGE-ID': string;
12
+ 'X-BOTONIC-LAST-MESSAGE-UPDATE-DATE': string;
13
+ }
14
+ interface ServerConfig {
15
+ activityTimeout?: number;
16
+ pongTimeout?: number;
17
+ }
18
+ interface HubtypeServiceArgs {
19
+ appId: string;
20
+ user: any;
21
+ lastMessageId: string;
22
+ lastMessageUpdateDate: string;
23
+ onEvent: any;
24
+ unsentInputs: () => UnsentInput[];
25
+ server: ServerConfig;
26
+ }
27
+ /**
28
+ * Calls Hubtype APIs from Webchat
29
+ */
30
+ export declare class HubtypeService {
31
+ appId: string;
32
+ user: any;
33
+ lastMessageId: string;
34
+ lastMessageUpdateDate: string;
35
+ onEvent: any;
36
+ unsentInputs: () => UnsentInput[];
37
+ pusher: Pusher | null;
38
+ channel: Channel;
39
+ server: ServerConfig;
40
+ PUSHER_CONNECT_TIMEOUT_MS: number;
41
+ constructor({ appId, user, lastMessageId, lastMessageUpdateDate, onEvent, unsentInputs, server, }: HubtypeServiceArgs);
42
+ /**
43
+ * @returns {Promise<void>}
44
+ */
45
+ init(user: any, lastMessageId: any, lastMessageUpdateDate: any): Promise<void>;
46
+ /**
47
+ * @returns {Promise<void>}
48
+ */
49
+ _initPusher(): Promise<void>;
50
+ constructHeaders(): BotonicHeaders;
51
+ resolveServerConfig(): ServerConfig;
52
+ updateAuthHeaders(): void;
53
+ handleConnectionChange(online: boolean): void;
54
+ onPusherEvent(event: any): void;
55
+ get pusherChannel(): string;
56
+ handleSentInput(message: any): void;
57
+ handleUnsentInput(message: any): void;
58
+ /**
59
+ * @return {Promise<void>}
60
+ */
61
+ postMessage(user: any, message: any): Promise<void>;
62
+ static getWebchatVisibility({ appId, }: {
63
+ appId: string;
64
+ }): Promise<AxiosResponse<any>>;
65
+ destroyPusher(): void;
66
+ onConnectionRegained(): Promise<void>;
67
+ resendUnsentInputs(): Promise<void>;
68
+ }
69
+ export {};
@@ -6,10 +6,10 @@ const axios_1 = tslib_1.__importDefault(require("axios"));
6
6
  const pusher_js_1 = tslib_1.__importDefault(require("pusher-js"));
7
7
  const utils_1 = require("./utils");
8
8
  const _WEBCHAT_PUSHER_KEY_ = utils_1.getWebpackEnvVar(
9
- // eslint-disable-next-line no-undef
9
+ // @ts-ignore
10
10
  typeof WEBCHAT_PUSHER_KEY !== 'undefined' && WEBCHAT_PUSHER_KEY, 'WEBCHAT_PUSHER_KEY', '434ca667c8e6cb3f641c');
11
11
  const _HUBTYPE_API_URL_ = utils_1.getWebpackEnvVar(
12
- // eslint-disable-next-line no-undef
12
+ // @ts-ignore
13
13
  typeof HUBTYPE_API_URL !== 'undefined' && HUBTYPE_API_URL, 'HUBTYPE_API_URL', 'https://api.hubtype.com');
14
14
  const ACTIVITY_TIMEOUT = 20 * 1000; // https://pusher.com/docs/channels/using_channels/connection#activitytimeout-integer-
15
15
  const PONG_TIMEOUT = 5 * 1000; // https://pusher.com/docs/channels/using_channels/connection#pongtimeout-integer-
@@ -30,6 +30,7 @@ class HubtypeService {
30
30
  // It's safe not awaiting Promise because:
31
31
  // * it will never be called from AWS lambda
32
32
  // * though init() is called again from postMesage, it does nothing if Pusher already created
33
+ // @ts-ignore
33
34
  this.init();
34
35
  }
35
36
  }
@@ -75,16 +76,17 @@ class HubtypeService {
75
76
  });
76
77
  this.channel.bind('botonic_response', data => this.onPusherEvent(data));
77
78
  this.channel.bind('update_message_info', data => this.onPusherEvent(data));
78
- this.pusher.connection.bind('error', event => {
79
- if (event.type == 'WebSocketError')
80
- this.handleConnectionChange(false);
81
- else {
82
- const errorMsg = event.error && event.error.data
83
- ? event.error.data.code || event.error.data.message
84
- : 'Connection error';
85
- cleanAndReject(`Pusher error (${errorMsg})`);
86
- }
87
- });
79
+ this.pusher &&
80
+ this.pusher.connection.bind('error', event => {
81
+ if (event.type == 'WebSocketError')
82
+ this.handleConnectionChange(false);
83
+ else {
84
+ const errorMsg = event.error && event.error.data
85
+ ? event.error.data.code || event.error.data.message
86
+ : 'Connection error';
87
+ cleanAndReject(`Pusher error (${errorMsg})`);
88
+ }
89
+ });
88
90
  });
89
91
  this.pusher.connection.bind('state_change', states => {
90
92
  if (states.current === 'connecting')
@@ -121,7 +123,7 @@ class HubtypeService {
121
123
  }
122
124
  }
123
125
  handleConnectionChange(online) {
124
- this.onPusherEvent({ action: 'connectionChange', online });
126
+ this.onPusherEvent({ action: 'connection_change', online });
125
127
  }
126
128
  onPusherEvent(event) {
127
129
  if (this.onEvent && typeof this.onEvent === 'function')
@@ -147,6 +149,7 @@ class HubtypeService {
147
149
  */
148
150
  async postMessage(user, message) {
149
151
  try {
152
+ // @ts-ignore
150
153
  await this.init(user);
151
154
  await axios_1.default.post(`${_HUBTYPE_API_URL_}/v1/provider_accounts/webhooks/webchat/${this.appId}/`, {
152
155
  sender: this.user,
@@ -161,7 +164,7 @@ class HubtypeService {
161
164
  }
162
165
  return Promise.resolve();
163
166
  }
164
- static async getWebchatVisibility({ appId }) {
167
+ static async getWebchatVisibility({ appId, }) {
165
168
  return axios_1.default.get(`${_HUBTYPE_API_URL_}/v1/provider_accounts/${appId}/visibility/`);
166
169
  }
167
170
  destroyPusher() {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubtype-service.js","sourceRoot":"","sources":["../../src/hubtype-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Locales } from './models';
2
+ export declare const getString: (locales: Locales, locale: string, stringID: string) => string;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getString = void 0;
4
- // eslint-disable-next-line filenames/match-regex
5
4
  const getString = (locales, locale, stringID) => {
6
5
  let l = stringID.split('.').reduce((o, i) => o[i], locales[locale]);
7
6
  if (l instanceof Array)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n.ts"],"names":[],"mappings":";;;AAGO,MAAM,SAAS,GAAG,CACvB,OAAgB,EAChB,MAAc,EACd,QAAgB,EACR,EAAE;IACV,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACnE,IAAI,CAAC,YAAY,KAAK;QAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;IACnE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,CAAC,CAAA;AARY,QAAA,SAAS,aAQrB"}
@@ -0,0 +1,11 @@
1
+ export * from './constants';
2
+ export * from './core-bot';
3
+ export * from './debug';
4
+ export * from './handoff';
5
+ export * from './hubtype-service';
6
+ export * from './i18n';
7
+ export * from './models';
8
+ export * from './output-parser';
9
+ export * from './plugins';
10
+ export * from './routing';
11
+ export * from './utils';
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./constants"), exports);
5
+ tslib_1.__exportStar(require("./core-bot"), exports);
6
+ tslib_1.__exportStar(require("./debug"), exports);
7
+ tslib_1.__exportStar(require("./handoff"), exports);
8
+ tslib_1.__exportStar(require("./hubtype-service"), exports);
9
+ tslib_1.__exportStar(require("./i18n"), exports);
10
+ tslib_1.__exportStar(require("./models"), exports);
11
+ tslib_1.__exportStar(require("./output-parser"), exports);
12
+ tslib_1.__exportStar(require("./plugins"), exports);
13
+ tslib_1.__exportStar(require("./routing"), exports);
14
+ tslib_1.__exportStar(require("./utils"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA2B;AAC3B,qDAA0B;AAC1B,kDAAuB;AACvB,oDAAyB;AACzB,4DAAiC;AACjC,iDAAsB;AACtB,mDAAwB;AACxB,0DAA+B;AAC/B,oDAAyB;AACzB,oDAAyB;AACzB,kDAAuB"}
@@ -0,0 +1,11 @@
1
+ import { RoutePath } from './legacy-types';
2
+ export interface BotState {
3
+ botId: string;
4
+ isFirstInteraction: boolean;
5
+ isHandoff: boolean;
6
+ isShadowing: boolean;
7
+ lastRoutePath: RoutePath;
8
+ locale?: string;
9
+ retries: number;
10
+ botonicAction?: any;
11
+ }