@botonic/plugin-flow-builder 0.43.1 → 0.44.0-alpha.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 (315) hide show
  1. package/lib/cjs/action/ai-agent.js +55 -61
  2. package/lib/cjs/action/ai-agent.js.map +1 -1
  3. package/lib/cjs/action/fallback.js +28 -32
  4. package/lib/cjs/action/fallback.js.map +1 -1
  5. package/lib/cjs/action/first-interaction.js +61 -71
  6. package/lib/cjs/action/first-interaction.js.map +1 -1
  7. package/lib/cjs/action/index.js +66 -79
  8. package/lib/cjs/action/index.js.map +1 -1
  9. package/lib/cjs/action/knowledge-bases.js +64 -72
  10. package/lib/cjs/action/knowledge-bases.js.map +1 -1
  11. package/lib/cjs/action/payload.js +61 -70
  12. package/lib/cjs/action/payload.js.map +1 -1
  13. package/lib/cjs/api.d.ts +7 -2
  14. package/lib/cjs/api.js +58 -36
  15. package/lib/cjs/api.js.map +1 -1
  16. package/lib/cjs/constants.d.ts +1 -1
  17. package/lib/cjs/content-fields/content-fields-base.js +5 -7
  18. package/lib/cjs/content-fields/content-fields-base.js.map +1 -1
  19. package/lib/cjs/content-fields/flow-ai-agent.d.ts +0 -1
  20. package/lib/cjs/content-fields/flow-ai-agent.js +4 -7
  21. package/lib/cjs/content-fields/flow-ai-agent.js.map +1 -1
  22. package/lib/cjs/content-fields/flow-bot-action.d.ts +0 -1
  23. package/lib/cjs/content-fields/flow-bot-action.js +14 -17
  24. package/lib/cjs/content-fields/flow-bot-action.js.map +1 -1
  25. package/lib/cjs/content-fields/flow-button.d.ts +0 -1
  26. package/lib/cjs/content-fields/flow-button.js +10 -16
  27. package/lib/cjs/content-fields/flow-button.js.map +1 -1
  28. package/lib/cjs/content-fields/flow-capture-user-input.d.ts +13 -0
  29. package/lib/cjs/content-fields/flow-capture-user-input.js +43 -0
  30. package/lib/cjs/content-fields/flow-capture-user-input.js.map +1 -0
  31. package/lib/cjs/content-fields/flow-carousel.d.ts +0 -1
  32. package/lib/cjs/content-fields/flow-carousel.js +16 -23
  33. package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
  34. package/lib/cjs/content-fields/flow-channel-conditional.d.ts +0 -1
  35. package/lib/cjs/content-fields/flow-channel-conditional.js +14 -17
  36. package/lib/cjs/content-fields/flow-channel-conditional.js.map +1 -1
  37. package/lib/cjs/content-fields/flow-country-conditional.d.ts +0 -1
  38. package/lib/cjs/content-fields/flow-country-conditional.js +17 -21
  39. package/lib/cjs/content-fields/flow-country-conditional.js.map +1 -1
  40. package/lib/cjs/content-fields/flow-custom-conditional.js +18 -22
  41. package/lib/cjs/content-fields/flow-custom-conditional.js.map +1 -1
  42. package/lib/cjs/content-fields/flow-element.d.ts +0 -1
  43. package/lib/cjs/content-fields/flow-element.js +5 -9
  44. package/lib/cjs/content-fields/flow-element.js.map +1 -1
  45. package/lib/cjs/content-fields/flow-go-to-flow.d.ts +0 -1
  46. package/lib/cjs/content-fields/flow-go-to-flow.js +15 -18
  47. package/lib/cjs/content-fields/flow-go-to-flow.js.map +1 -1
  48. package/lib/cjs/content-fields/flow-handoff.d.ts +0 -1
  49. package/lib/cjs/content-fields/flow-handoff.js +29 -35
  50. package/lib/cjs/content-fields/flow-handoff.js.map +1 -1
  51. package/lib/cjs/content-fields/flow-image.d.ts +0 -1
  52. package/lib/cjs/content-fields/flow-image.js +2 -5
  53. package/lib/cjs/content-fields/flow-image.js.map +1 -1
  54. package/lib/cjs/content-fields/flow-knowledge-base.d.ts +0 -1
  55. package/lib/cjs/content-fields/flow-knowledge-base.js +5 -8
  56. package/lib/cjs/content-fields/flow-knowledge-base.js.map +1 -1
  57. package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +0 -1
  58. package/lib/cjs/content-fields/flow-queue-status-conditional.js +55 -65
  59. package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +1 -1
  60. package/lib/cjs/content-fields/flow-rating.d.ts +0 -1
  61. package/lib/cjs/content-fields/flow-rating.js +2 -5
  62. package/lib/cjs/content-fields/flow-rating.js.map +1 -1
  63. package/lib/cjs/content-fields/flow-text.d.ts +0 -1
  64. package/lib/cjs/content-fields/flow-text.js +5 -8
  65. package/lib/cjs/content-fields/flow-text.js.map +1 -1
  66. package/lib/cjs/content-fields/flow-video.d.ts +0 -1
  67. package/lib/cjs/content-fields/flow-video.js +2 -5
  68. package/lib/cjs/content-fields/flow-video.js.map +1 -1
  69. package/lib/cjs/content-fields/flow-webview.js +15 -18
  70. package/lib/cjs/content-fields/flow-webview.js.map +1 -1
  71. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -1
  72. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +3 -6
  73. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
  74. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +0 -1
  75. package/lib/cjs/content-fields/flow-whatsapp-template.js +6 -12
  76. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +1 -1
  77. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  78. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js +12 -0
  79. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  80. package/lib/cjs/content-fields/hubtype-fields/function.js +1 -1
  81. package/lib/cjs/content-fields/hubtype-fields/function.js.map +1 -1
  82. package/lib/cjs/content-fields/hubtype-fields/index.d.ts +1 -0
  83. package/lib/cjs/content-fields/hubtype-fields/index.js +1 -0
  84. package/lib/cjs/content-fields/hubtype-fields/index.js.map +1 -1
  85. package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +2 -1
  86. package/lib/cjs/content-fields/hubtype-fields/node-types.js +4 -3
  87. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +1 -1
  88. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +2 -1
  89. package/lib/cjs/content-fields/hubtype-fields/rating.js +1 -1
  90. package/lib/cjs/content-fields/hubtype-fields/rating.js.map +1 -1
  91. package/lib/cjs/content-fields/index.d.ts +3 -2
  92. package/lib/cjs/content-fields/index.js +3 -1
  93. package/lib/cjs/content-fields/index.js.map +1 -1
  94. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +2 -5
  95. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
  96. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +2 -5
  97. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
  98. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -1
  99. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +3 -6
  100. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
  101. package/lib/cjs/filters/index.js +5 -8
  102. package/lib/cjs/filters/index.js.map +1 -1
  103. package/lib/cjs/flow-factory.js +49 -51
  104. package/lib/cjs/flow-factory.js.map +1 -1
  105. package/lib/cjs/functions/index.js +18 -21
  106. package/lib/cjs/functions/index.js.map +1 -1
  107. package/lib/cjs/helpers.js +1 -2
  108. package/lib/cjs/helpers.js.map +1 -1
  109. package/lib/cjs/index.js +68 -73
  110. package/lib/cjs/index.js.map +1 -1
  111. package/lib/cjs/services/hubtype-queues-api.js +10 -12
  112. package/lib/cjs/services/hubtype-queues-api.js.map +1 -1
  113. package/lib/cjs/tracking.d.ts +1 -1
  114. package/lib/cjs/tracking.js +33 -43
  115. package/lib/cjs/tracking.js.map +1 -1
  116. package/lib/cjs/types.js +2 -2
  117. package/lib/cjs/types.js.map +1 -1
  118. package/lib/cjs/user-input/capture-user-input-api.d.ts +20 -0
  119. package/lib/cjs/user-input/capture-user-input-api.js +84 -0
  120. package/lib/cjs/user-input/capture-user-input-api.js.map +1 -0
  121. package/lib/cjs/user-input/index.d.ts +1 -2
  122. package/lib/cjs/user-input/index.js +25 -24
  123. package/lib/cjs/user-input/index.js.map +1 -1
  124. package/lib/cjs/user-input/keyword.js +31 -36
  125. package/lib/cjs/user-input/keyword.js.map +1 -1
  126. package/lib/cjs/user-input/smart-intent.js +55 -59
  127. package/lib/cjs/user-input/smart-intent.js.map +1 -1
  128. package/lib/cjs/utils.js +10 -7
  129. package/lib/cjs/utils.js.map +1 -1
  130. package/lib/cjs/webview/contents-context.d.ts +0 -1
  131. package/lib/cjs/webview/types.js +1 -1
  132. package/lib/cjs/webview/types.js.map +1 -1
  133. package/lib/cjs/webview/use-webview-contents.js +10 -9
  134. package/lib/cjs/webview/use-webview-contents.js.map +1 -1
  135. package/lib/esm/action/ai-agent.js +61 -63
  136. package/lib/esm/action/ai-agent.js.map +1 -1
  137. package/lib/esm/action/fallback.js +32 -32
  138. package/lib/esm/action/fallback.js.map +1 -1
  139. package/lib/esm/action/first-interaction.js +69 -75
  140. package/lib/esm/action/first-interaction.js.map +1 -1
  141. package/lib/esm/action/index.js +93 -101
  142. package/lib/esm/action/index.js.map +1 -1
  143. package/lib/esm/action/knowledge-bases.js +71 -75
  144. package/lib/esm/action/knowledge-bases.js.map +1 -1
  145. package/lib/esm/action/payload.js +67 -72
  146. package/lib/esm/action/payload.js.map +1 -1
  147. package/lib/esm/api.d.ts +7 -2
  148. package/lib/esm/api.js +77 -51
  149. package/lib/esm/api.js.map +1 -1
  150. package/lib/esm/constants.d.ts +1 -1
  151. package/lib/esm/constants.js +17 -14
  152. package/lib/esm/constants.js.map +1 -1
  153. package/lib/esm/content-fields/content-fields-base.js +15 -13
  154. package/lib/esm/content-fields/content-fields-base.js.map +1 -1
  155. package/lib/esm/content-fields/flow-ai-agent.d.ts +0 -1
  156. package/lib/esm/content-fields/flow-ai-agent.js +18 -17
  157. package/lib/esm/content-fields/flow-ai-agent.js.map +1 -1
  158. package/lib/esm/content-fields/flow-bot-action.d.ts +0 -1
  159. package/lib/esm/content-fields/flow-bot-action.js +25 -24
  160. package/lib/esm/content-fields/flow-bot-action.js.map +1 -1
  161. package/lib/esm/content-fields/flow-button.d.ts +0 -1
  162. package/lib/esm/content-fields/flow-button.js +25 -27
  163. package/lib/esm/content-fields/flow-button.js.map +1 -1
  164. package/lib/esm/content-fields/flow-capture-user-input.d.ts +13 -0
  165. package/lib/esm/content-fields/flow-capture-user-input.js +43 -0
  166. package/lib/esm/content-fields/flow-capture-user-input.js.map +1 -0
  167. package/lib/esm/content-fields/flow-carousel.d.ts +0 -1
  168. package/lib/esm/content-fields/flow-carousel.js +39 -42
  169. package/lib/esm/content-fields/flow-carousel.js.map +1 -1
  170. package/lib/esm/content-fields/flow-channel-conditional.d.ts +0 -1
  171. package/lib/esm/content-fields/flow-channel-conditional.js +24 -23
  172. package/lib/esm/content-fields/flow-channel-conditional.js.map +1 -1
  173. package/lib/esm/content-fields/flow-country-conditional.d.ts +0 -1
  174. package/lib/esm/content-fields/flow-country-conditional.js +27 -27
  175. package/lib/esm/content-fields/flow-country-conditional.js.map +1 -1
  176. package/lib/esm/content-fields/flow-custom-conditional.js +30 -30
  177. package/lib/esm/content-fields/flow-custom-conditional.js.map +1 -1
  178. package/lib/esm/content-fields/flow-element.d.ts +0 -1
  179. package/lib/esm/content-fields/flow-element.js +16 -16
  180. package/lib/esm/content-fields/flow-element.js.map +1 -1
  181. package/lib/esm/content-fields/flow-go-to-flow.d.ts +0 -1
  182. package/lib/esm/content-fields/flow-go-to-flow.js +25 -24
  183. package/lib/esm/content-fields/flow-go-to-flow.js.map +1 -1
  184. package/lib/esm/content-fields/flow-handoff.d.ts +0 -1
  185. package/lib/esm/content-fields/flow-handoff.js +40 -42
  186. package/lib/esm/content-fields/flow-handoff.js.map +1 -1
  187. package/lib/esm/content-fields/flow-image.d.ts +0 -1
  188. package/lib/esm/content-fields/flow-image.js +12 -11
  189. package/lib/esm/content-fields/flow-image.js.map +1 -1
  190. package/lib/esm/content-fields/flow-knowledge-base.d.ts +0 -1
  191. package/lib/esm/content-fields/flow-knowledge-base.js +15 -14
  192. package/lib/esm/content-fields/flow-knowledge-base.js.map +1 -1
  193. package/lib/esm/content-fields/flow-queue-status-conditional.d.ts +0 -1
  194. package/lib/esm/content-fields/flow-queue-status-conditional.js +67 -73
  195. package/lib/esm/content-fields/flow-queue-status-conditional.js.map +1 -1
  196. package/lib/esm/content-fields/flow-rating.d.ts +0 -1
  197. package/lib/esm/content-fields/flow-rating.js +23 -22
  198. package/lib/esm/content-fields/flow-rating.js.map +1 -1
  199. package/lib/esm/content-fields/flow-text.d.ts +0 -1
  200. package/lib/esm/content-fields/flow-text.js +25 -24
  201. package/lib/esm/content-fields/flow-text.js.map +1 -1
  202. package/lib/esm/content-fields/flow-video.d.ts +0 -1
  203. package/lib/esm/content-fields/flow-video.js +12 -11
  204. package/lib/esm/content-fields/flow-video.js.map +1 -1
  205. package/lib/esm/content-fields/flow-webview.js +23 -22
  206. package/lib/esm/content-fields/flow-webview.js.map +1 -1
  207. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -1
  208. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +31 -30
  209. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
  210. package/lib/esm/content-fields/flow-whatsapp-template.d.ts +0 -1
  211. package/lib/esm/content-fields/flow-whatsapp-template.js +45 -47
  212. package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -1
  213. package/lib/esm/content-fields/hubtype-fields/ai-agent.js +2 -1
  214. package/lib/esm/content-fields/hubtype-fields/bot-action.js +2 -1
  215. package/lib/esm/content-fields/hubtype-fields/button.js +2 -1
  216. package/lib/esm/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  217. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +12 -0
  218. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  219. package/lib/esm/content-fields/hubtype-fields/carousel.js +2 -1
  220. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +2 -1
  221. package/lib/esm/content-fields/hubtype-fields/common.js +2 -1
  222. package/lib/esm/content-fields/hubtype-fields/country-conditional.js +2 -1
  223. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +2 -1
  224. package/lib/esm/content-fields/hubtype-fields/fallback.js +2 -1
  225. package/lib/esm/content-fields/hubtype-fields/function.js +5 -2
  226. package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -1
  227. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +2 -1
  228. package/lib/esm/content-fields/hubtype-fields/handoff.js +2 -1
  229. package/lib/esm/content-fields/hubtype-fields/image.js +2 -1
  230. package/lib/esm/content-fields/hubtype-fields/index.d.ts +1 -0
  231. package/lib/esm/content-fields/hubtype-fields/index.js +27 -23
  232. package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -1
  233. package/lib/esm/content-fields/hubtype-fields/keyword.js +2 -1
  234. package/lib/esm/content-fields/hubtype-fields/knowledge-base.js +2 -1
  235. package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +2 -1
  236. package/lib/esm/content-fields/hubtype-fields/node-types.js +10 -6
  237. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -1
  238. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +2 -1
  239. package/lib/esm/content-fields/hubtype-fields/nodes.js +2 -1
  240. package/lib/esm/content-fields/hubtype-fields/payload.js +2 -1
  241. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +2 -1
  242. package/lib/esm/content-fields/hubtype-fields/rating.js +5 -2
  243. package/lib/esm/content-fields/hubtype-fields/rating.js.map +1 -1
  244. package/lib/esm/content-fields/hubtype-fields/smart-intent.js +2 -1
  245. package/lib/esm/content-fields/hubtype-fields/text.js +2 -1
  246. package/lib/esm/content-fields/hubtype-fields/url.js +2 -1
  247. package/lib/esm/content-fields/hubtype-fields/video.js +2 -1
  248. package/lib/esm/content-fields/hubtype-fields/webview.js +2 -1
  249. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +2 -1
  250. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +2 -1
  251. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +2 -1
  252. package/lib/esm/content-fields/index.d.ts +3 -2
  253. package/lib/esm/content-fields/index.js +46 -22
  254. package/lib/esm/content-fields/index.js.map +1 -1
  255. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +10 -9
  256. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
  257. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +10 -9
  258. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
  259. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -1
  260. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +18 -17
  261. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
  262. package/lib/esm/filters/index.js +10 -9
  263. package/lib/esm/filters/index.js.map +1 -1
  264. package/lib/esm/flow-factory.js +56 -54
  265. package/lib/esm/flow-factory.js.map +1 -1
  266. package/lib/esm/functions/index.js +24 -22
  267. package/lib/esm/functions/index.js.map +1 -1
  268. package/lib/esm/helpers.js +4 -1
  269. package/lib/esm/helpers.js.map +1 -1
  270. package/lib/esm/index.js +101 -99
  271. package/lib/esm/index.js.map +1 -1
  272. package/lib/esm/services/hubtype-queues-api.js +17 -15
  273. package/lib/esm/services/hubtype-queues-api.js.map +1 -1
  274. package/lib/esm/tracking.d.ts +1 -1
  275. package/lib/esm/tracking.js +42 -45
  276. package/lib/esm/tracking.js.map +1 -1
  277. package/lib/esm/types.js +7 -4
  278. package/lib/esm/types.js.map +1 -1
  279. package/lib/esm/user-input/capture-user-input-api.d.ts +20 -0
  280. package/lib/esm/user-input/capture-user-input-api.js +84 -0
  281. package/lib/esm/user-input/capture-user-input-api.js.map +1 -0
  282. package/lib/esm/user-input/index.d.ts +1 -2
  283. package/lib/esm/user-input/index.js +30 -25
  284. package/lib/esm/user-input/index.js.map +1 -1
  285. package/lib/esm/user-input/keyword.js +40 -41
  286. package/lib/esm/user-input/keyword.js.map +1 -1
  287. package/lib/esm/user-input/smart-intent.js +65 -65
  288. package/lib/esm/user-input/smart-intent.js.map +1 -1
  289. package/lib/esm/utils.js +25 -13
  290. package/lib/esm/utils.js.map +1 -1
  291. package/lib/esm/webview/contents-context.d.ts +0 -1
  292. package/lib/esm/webview/contents-context.js +6 -2
  293. package/lib/esm/webview/contents-context.js.map +1 -1
  294. package/lib/esm/webview/index.js +9 -3
  295. package/lib/esm/webview/index.js.map +1 -1
  296. package/lib/esm/webview/types.js +5 -2
  297. package/lib/esm/webview/types.js.map +1 -1
  298. package/lib/esm/webview/use-webview-contents.js +28 -23
  299. package/lib/esm/webview/use-webview-contents.js.map +1 -1
  300. package/package.json +2 -2
  301. package/src/api.ts +35 -1
  302. package/src/content-fields/content-fields-base.ts +2 -1
  303. package/src/content-fields/flow-capture-user-input.tsx +45 -0
  304. package/src/content-fields/flow-text.tsx +1 -7
  305. package/src/content-fields/hubtype-fields/capture-user-input.ts +21 -0
  306. package/src/content-fields/hubtype-fields/index.ts +1 -0
  307. package/src/content-fields/hubtype-fields/node-types.ts +1 -0
  308. package/src/content-fields/hubtype-fields/nodes.ts +2 -0
  309. package/src/content-fields/index.ts +3 -0
  310. package/src/flow-factory.ts +4 -0
  311. package/src/index.ts +4 -3
  312. package/src/tracking.ts +2 -2
  313. package/src/user-input/capture-user-input-api.ts +134 -0
  314. package/src/user-input/index.ts +13 -8
  315. package/src/utils.ts +7 -0
@@ -1,71 +1,65 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getContentsByAiAgent = void 0;
4
- const tslib_1 = require("tslib");
3
+ exports.getContentsByAiAgent = getContentsByAiAgent;
5
4
  const core_1 = require("@botonic/core");
6
5
  const content_fields_1 = require("../content-fields");
7
6
  const helpers_1 = require("../helpers");
8
7
  const tracking_1 = require("../tracking");
9
- function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
10
- var _a, _b, _c, _d;
11
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
- const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow();
13
- const isAiAgentEnabled = cmsApi.isAiAgentEnabled();
14
- if (!startNodeAiAgentFlow || !isAiAgentEnabled) {
15
- return [];
16
- }
17
- const contents = yield flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow);
18
- const aiAgentContent = contents.find(content => content instanceof content_fields_1.FlowAiAgent);
19
- if (!aiAgentContent) {
20
- return [];
21
- }
22
- const activeInputGuardrailRules = ((_b = (_a = aiAgentContent.inputGuardrailRules) === null || _a === void 0 ? void 0 : _a.filter(rule => rule.is_active)) === null || _b === void 0 ? void 0 : _b.map(rule => ({
23
- name: rule.name,
24
- description: rule.description,
25
- }))) || [];
26
- const aiAgentResponse = yield ((_c = flowBuilderPlugin.getAiAgentResponse) === null || _c === void 0 ? void 0 : _c.call(flowBuilderPlugin, request, {
27
- name: aiAgentContent.name,
28
- instructions: aiAgentContent.instructions,
29
- activeTools: aiAgentContent.activeTools,
30
- inputGuardrailRules: activeInputGuardrailRules,
31
- sourceIds: (_d = aiAgentContent.sources) === null || _d === void 0 ? void 0 : _d.map(source => source.id),
32
- }));
33
- if (!aiAgentResponse) {
34
- return [];
35
- }
36
- yield trackAiAgentResponse(aiAgentResponse, request, aiAgentContent);
37
- if (aiAgentResponse.exit) {
38
- return [];
39
- }
40
- aiAgentContent.responses = aiAgentResponse.messages;
41
- return contents;
8
+ async function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
9
+ const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow();
10
+ const isAiAgentEnabled = cmsApi.isAiAgentEnabled();
11
+ if (!startNodeAiAgentFlow || !isAiAgentEnabled) {
12
+ return [];
13
+ }
14
+ const contents = await flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow);
15
+ const aiAgentContent = contents.find(content => content instanceof content_fields_1.FlowAiAgent);
16
+ if (!aiAgentContent) {
17
+ return [];
18
+ }
19
+ const activeInputGuardrailRules = aiAgentContent.inputGuardrailRules
20
+ ?.filter(rule => rule.is_active)
21
+ ?.map(rule => ({
22
+ name: rule.name,
23
+ description: rule.description,
24
+ })) || [];
25
+ const aiAgentResponse = await flowBuilderPlugin.getAiAgentResponse?.(request, {
26
+ name: aiAgentContent.name,
27
+ instructions: aiAgentContent.instructions,
28
+ activeTools: aiAgentContent.activeTools,
29
+ inputGuardrailRules: activeInputGuardrailRules,
30
+ sourceIds: aiAgentContent.sources?.map(source => source.id),
42
31
  });
32
+ if (!aiAgentResponse) {
33
+ return [];
34
+ }
35
+ await trackAiAgentResponse(aiAgentResponse, request, aiAgentContent);
36
+ if (aiAgentResponse.exit) {
37
+ return [];
38
+ }
39
+ aiAgentContent.responses = aiAgentResponse.messages;
40
+ return contents;
43
41
  }
44
- exports.getContentsByAiAgent = getContentsByAiAgent;
45
- function trackAiAgentResponse(aiAgentResponse, request, aiAgentContent) {
46
- var _a, _b, _c, _d;
47
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
48
- const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
49
- const flowId = flowBuilderPlugin.cmsApi.getNodeById(aiAgentContent.id).flow_id;
50
- const flowName = flowBuilderPlugin.getFlowName(flowId);
51
- const event = {
52
- action: core_1.EventAction.AiAgent,
53
- flowThreadId: request.session.flow_thread_id,
54
- flowId: flowId,
55
- flowName: flowName,
56
- flowNodeId: aiAgentContent.id,
57
- flowNodeContentId: aiAgentContent.name,
58
- flowNodeIsMeaningful: true,
59
- toolsExecuted: (_a = aiAgentResponse === null || aiAgentResponse === void 0 ? void 0 : aiAgentResponse.toolsExecuted) !== null && _a !== void 0 ? _a : [],
60
- memoryLength: (_b = aiAgentResponse === null || aiAgentResponse === void 0 ? void 0 : aiAgentResponse.memoryLength) !== null && _b !== void 0 ? _b : 0,
61
- inputMessageId: request.input.message_id,
62
- exit: (_c = aiAgentResponse === null || aiAgentResponse === void 0 ? void 0 : aiAgentResponse.exit) !== null && _c !== void 0 ? _c : true,
63
- inputGuardrailsTriggered: (_d = aiAgentResponse === null || aiAgentResponse === void 0 ? void 0 : aiAgentResponse.inputGuardrailsTriggered) !== null && _d !== void 0 ? _d : [],
64
- outputGuardrailsTriggered: [],
65
- error: aiAgentResponse.error,
66
- };
67
- const { action } = event, eventArgs = tslib_1.__rest(event, ["action"]);
68
- yield (0, tracking_1.trackEvent)(request, action, eventArgs);
69
- });
42
+ async function trackAiAgentResponse(aiAgentResponse, request, aiAgentContent) {
43
+ const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
44
+ const flowId = flowBuilderPlugin.cmsApi.getNodeById(aiAgentContent.id).flow_id;
45
+ const flowName = flowBuilderPlugin.getFlowName(flowId);
46
+ const event = {
47
+ action: core_1.EventAction.AiAgent,
48
+ flowThreadId: request.session.flow_thread_id,
49
+ flowId: flowId,
50
+ flowName: flowName,
51
+ flowNodeId: aiAgentContent.id,
52
+ flowNodeContentId: aiAgentContent.name,
53
+ flowNodeIsMeaningful: true,
54
+ toolsExecuted: aiAgentResponse?.toolsExecuted ?? [],
55
+ memoryLength: aiAgentResponse?.memoryLength ?? 0,
56
+ inputMessageId: request.input.message_id,
57
+ exit: aiAgentResponse?.exit ?? true,
58
+ inputGuardrailsTriggered: aiAgentResponse?.inputGuardrailsTriggered ?? [],
59
+ outputGuardrailsTriggered: [], //aiAgentResponse.outputGuardrailsTriggered,
60
+ error: aiAgentResponse.error,
61
+ };
62
+ const { action, ...eventArgs } = event;
63
+ await (0, tracking_1.trackEvent)(request, action, eventArgs);
70
64
  }
71
65
  //# sourceMappingURL=ai-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/action/ai-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/action/ai-agent.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getContentsByFallback = void 0;
4
- const tslib_1 = require("tslib");
3
+ exports.getContentsByFallback = getContentsByFallback;
5
4
  const core_1 = require("@botonic/core");
6
5
  const tracking_1 = require("../tracking");
7
- function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, }) {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- const fallbackNode = yield getFallbackNode(cmsApi, request);
10
- const fallbackContents = yield flowBuilderPlugin.getContentsByNode(fallbackNode);
11
- return fallbackContents;
12
- });
6
+ async function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, }) {
7
+ const fallbackNode = await getFallbackNode(cmsApi, request);
8
+ const fallbackContents = await flowBuilderPlugin.getContentsByNode(fallbackNode);
9
+ return fallbackContents;
13
10
  }
14
- exports.getContentsByFallback = getContentsByFallback;
15
- function getFallbackNode(cmsApi, request) {
16
- var _a;
17
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
18
- if (((_a = request.session.user.extra_data) === null || _a === void 0 ? void 0 : _a.isFirstFallbackOption) === undefined) {
19
- request.session.user.extra_data = Object.assign(Object.assign({}, request.session.user.extra_data), { isFirstFallbackOption: true });
20
- }
21
- const isFirstFallbackOption = !!request.session.user.extra_data.isFirstFallbackOption;
22
- const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption);
23
- request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption;
24
- const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(request, fallbackNode.id);
25
- const event = {
26
- action: core_1.EventAction.Fallback,
27
- flowId,
28
- flowName,
29
- flowNodeId,
30
- flowNodeContentId,
31
- userInput: request.input.data,
32
- fallbackOut: isFirstFallbackOption ? 1 : 2,
33
- fallbackMessageId: request.input.message_id,
11
+ async function getFallbackNode(cmsApi, request) {
12
+ if (request.session.user.extra_data?.isFirstFallbackOption === undefined) {
13
+ request.session.user.extra_data = {
14
+ ...request.session.user.extra_data,
15
+ isFirstFallbackOption: true,
34
16
  };
35
- const { action } = event, eventArgs = tslib_1.__rest(event, ["action"]);
36
- yield (0, tracking_1.trackEvent)(request, action, eventArgs);
37
- return fallbackNode;
38
- });
17
+ }
18
+ const isFirstFallbackOption = !!request.session.user.extra_data.isFirstFallbackOption;
19
+ const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption);
20
+ request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption;
21
+ const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(request, fallbackNode.id);
22
+ const event = {
23
+ action: core_1.EventAction.Fallback,
24
+ flowId,
25
+ flowName,
26
+ flowNodeId,
27
+ flowNodeContentId,
28
+ userInput: request.input.data,
29
+ fallbackOut: isFirstFallbackOption ? 1 : 2,
30
+ fallbackMessageId: request.input.message_id,
31
+ };
32
+ const { action, ...eventArgs } = event;
33
+ await (0, tracking_1.trackEvent)(request, action, eventArgs);
34
+ return fallbackNode;
39
35
  }
40
36
  //# sourceMappingURL=fallback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/action/fallback.ts"],"names":[],"mappings":";;;;AAAA,wCAA0D;AAK1D,0CAGoB;AAGpB,SAAsB,qBAAqB,CAAC,EAC1C,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY;;QACnB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC3D,MAAM,gBAAgB,GACpB,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAEzD,OAAO,gBAAgB,CAAA;IACzB,CAAC;CAAA;AAVD,sDAUC;AAED,SAAe,eAAe,CAAC,MAAsB,EAAE,OAAsB;;;QAC3E,IAAI,CAAA,MAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,0CAAE,qBAAqB,MAAK,SAAS,EAAE;YACxE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,mCAC1B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,KAClC,qBAAqB,EAAE,IAAI,GAC5B,CAAA;SACF;QAED,MAAM,qBAAqB,GACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAA;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAA;QAClE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,qBAAqB,CAAA;QAE9E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACvD,IAAA,oDAAyC,EAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;QAErE,MAAM,KAAK,GAAkB;YAC3B,MAAM,EAAE,kBAAW,CAAC,QAAQ;YAC5B,MAAM;YACN,QAAQ;YACR,UAAU;YACV,iBAAiB;YACjB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAc;YACvC,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;SAC5C,CAAA;QACD,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,kBAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAA;QAEtC,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAE5C,OAAO,YAAY,CAAA;;CACpB"}
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/action/fallback.ts"],"names":[],"mappings":";;AAWA,sDAUC;AArBD,wCAA0D;AAK1D,0CAGoB;AAGb,KAAK,UAAU,qBAAqB,CAAC,EAC1C,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY;IACnB,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3D,MAAM,gBAAgB,GACpB,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAEzD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAsB,EAAE,OAAsB;IAC3E,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACzE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG;YAChC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU;YAClC,qBAAqB,EAAE,IAAI;SAC5B,CAAA;IACH,CAAC;IAED,MAAM,qBAAqB,GACzB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAA;IACzD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAA;IAClE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAAC,qBAAqB,CAAA;IAE9E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACvD,IAAA,oDAAyC,EAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,CAAA;IAErE,MAAM,KAAK,GAAkB;QAC3B,MAAM,EAAE,kBAAW,CAAC,QAAQ;QAC5B,MAAM;QACN,QAAQ;QACR,UAAU;QACV,iBAAiB;QACjB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,IAAc;QACvC,WAAW,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;KAC5C,CAAA;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAEtC,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAE5C,OAAO,YAAY,CAAA;AACrB,CAAC"}
@@ -1,98 +1,88 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getContentsByFirstInteraction = void 0;
4
- const tslib_1 = require("tslib");
3
+ exports.getContentsByFirstInteraction = getContentsByFirstInteraction;
5
4
  const constants_1 = require("../constants");
6
5
  const content_fields_1 = require("../content-fields");
7
6
  const utils_1 = require("../utils");
8
7
  const ai_agent_1 = require("./ai-agent");
9
8
  const knowledge_bases_1 = require("./knowledge-bases");
10
9
  const payload_1 = require("./payload");
11
- function getContentsByFirstInteraction(context) {
12
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
13
- const { contentID, flowBuilderPlugin, request } = context;
14
- /*
15
- * If the contentID is provided, the firstInteractionContents are obtained even if they are not used
16
- * because when obtain this firstInteractionContents is when the session.flow_thread_id is updated.
17
- * This is needed for example when send a WhatsApp campaign is sent,
18
- * the bot not receives the message because this message is sent directly by the backend
19
- * we expect the bot to respond only with the contents of the contentID and not with the firstInteractionContents.
20
- */
21
- const firstInteractionContents = yield flowBuilderPlugin.getStartContents();
22
- if (contentID) {
23
- try {
24
- const contentsByContentID = yield flowBuilderPlugin.getContentsByContentID(contentID);
25
- if (contentsByContentID.length > 0) {
26
- return contentsByContentID;
27
- }
28
- }
29
- catch (error) {
30
- console.warn(`The contentID ${contentID} is not found. Returning the firstInteractionContents`);
10
+ async function getContentsByFirstInteraction(context) {
11
+ const { contentID, flowBuilderPlugin, request } = context;
12
+ /*
13
+ * If the contentID is provided, the firstInteractionContents are obtained even if they are not used
14
+ * because when obtain this firstInteractionContents is when the session.flow_thread_id is updated.
15
+ * This is needed for example when send a WhatsApp campaign is sent,
16
+ * the bot not receives the message because this message is sent directly by the backend
17
+ * we expect the bot to respond only with the contents of the contentID and not with the firstInteractionContents.
18
+ */
19
+ const firstInteractionContents = await flowBuilderPlugin.getStartContents();
20
+ if (contentID) {
21
+ try {
22
+ const contentsByContentID = await flowBuilderPlugin.getContentsByContentID(contentID);
23
+ if (contentsByContentID.length > 0) {
24
+ return contentsByContentID;
31
25
  }
32
26
  }
33
- /* If the first interaction has a FlowBotAction, it should be the last content
34
- * and avoid to render the match with keywords,intents or knowledge base
35
- */
36
- if (firstInteractionContents.at(-1) instanceof content_fields_1.FlowBotAction) {
37
- return firstInteractionContents;
38
- }
39
- if (request.input.nluResolution || (0, utils_1.inputHasTextData)(request.input)) {
40
- const contentsByUserInput = yield getContentsByUserInput(context);
41
- return [...firstInteractionContents, ...contentsByUserInput];
27
+ catch (error) {
28
+ console.warn(`The contentID ${contentID} is not found. Returning the firstInteractionContents`);
42
29
  }
30
+ }
31
+ /* If the first interaction has a FlowBotAction, it should be the last content
32
+ * and avoid to render the match with keywords,intents or knowledge base
33
+ */
34
+ if (firstInteractionContents.at(-1) instanceof content_fields_1.FlowBotAction) {
43
35
  return firstInteractionContents;
44
- });
36
+ }
37
+ if (request.input.nluResolution || (0, utils_1.inputHasTextData)(request.input)) {
38
+ const contentsByUserInput = await getContentsByUserInput(context);
39
+ return [...firstInteractionContents, ...contentsByUserInput];
40
+ }
41
+ return firstInteractionContents;
45
42
  }
46
- exports.getContentsByFirstInteraction = getContentsByFirstInteraction;
47
- function getContentsByUserInput(context) {
48
- var _a;
49
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
50
- const { cmsApi, flowBuilderPlugin, request, resolvedLocale } = context;
51
- const payloadByNlu = (_a = request.input.nluResolution) === null || _a === void 0 ? void 0 : _a.payload;
52
- if (payloadByNlu) {
53
- request.input.payload = payloadByNlu;
54
- const conversationStartId = getConversationStartId(cmsApi);
55
- if (request.input.payload === conversationStartId) {
56
- return [];
57
- }
58
- const contentsByKeywordsOrIntents = yield (0, payload_1.getContentsByPayload)({
59
- cmsApi,
60
- flowBuilderPlugin,
61
- request,
62
- resolvedLocale,
63
- });
64
- const hasRepeatedContent = yield checkRepeatedContents(flowBuilderPlugin, contentsByKeywordsOrIntents);
65
- if (hasRepeatedContent) {
66
- return [];
67
- }
68
- if (contentsByKeywordsOrIntents.length > 0) {
69
- return contentsByKeywordsOrIntents;
70
- }
43
+ async function getContentsByUserInput(context) {
44
+ const { cmsApi, flowBuilderPlugin, request, resolvedLocale } = context;
45
+ const payloadByNlu = request.input.nluResolution?.payload;
46
+ if (payloadByNlu) {
47
+ request.input.payload = payloadByNlu;
48
+ const conversationStartId = getConversationStartId(cmsApi);
49
+ if (request.input.payload === conversationStartId) {
50
+ return [];
71
51
  }
72
- const contentsByKnowledgeBase = yield (0, knowledge_bases_1.getContentsByKnowledgeBase)({
52
+ const contentsByKeywordsOrIntents = await (0, payload_1.getContentsByPayload)({
73
53
  cmsApi,
74
54
  flowBuilderPlugin,
75
55
  request,
76
56
  resolvedLocale,
77
57
  });
78
- if (contentsByKnowledgeBase.length > 0) {
79
- return contentsByKnowledgeBase;
58
+ const hasRepeatedContent = await checkRepeatedContents(flowBuilderPlugin, contentsByKeywordsOrIntents);
59
+ if (hasRepeatedContent) {
60
+ return [];
80
61
  }
81
- const contentsByAiAgent = yield (0, ai_agent_1.getContentsByAiAgent)(context);
82
- return contentsByAiAgent;
62
+ if (contentsByKeywordsOrIntents.length > 0) {
63
+ return contentsByKeywordsOrIntents;
64
+ }
65
+ }
66
+ const contentsByKnowledgeBase = await (0, knowledge_bases_1.getContentsByKnowledgeBase)({
67
+ cmsApi,
68
+ flowBuilderPlugin,
69
+ request,
70
+ resolvedLocale,
83
71
  });
72
+ if (contentsByKnowledgeBase.length > 0) {
73
+ return contentsByKnowledgeBase;
74
+ }
75
+ const contentsByAiAgent = await (0, ai_agent_1.getContentsByAiAgent)(context);
76
+ return contentsByAiAgent;
84
77
  }
85
78
  function getConversationStartId(cmsApi) {
86
- var _a;
87
- const conversationStartId = (_a = cmsApi.flow.flows.find(flow => flow.name === constants_1.MAIN_FLOW_NAME)) === null || _a === void 0 ? void 0 : _a.start_node_id;
79
+ const conversationStartId = cmsApi.flow.flows.find(flow => flow.name === constants_1.MAIN_FLOW_NAME)?.start_node_id;
88
80
  return conversationStartId;
89
81
  }
90
- function checkRepeatedContents(flowBuilderPlugin, contentsByKeywordsOrIntents) {
91
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
92
- const startContents = yield flowBuilderPlugin.getStartContents();
93
- const contentIds = new Set(contentsByKeywordsOrIntents.map(content => content.id));
94
- const hasRepeatedContent = startContents.some(content => contentIds.has(content.id));
95
- return hasRepeatedContent;
96
- });
82
+ async function checkRepeatedContents(flowBuilderPlugin, contentsByKeywordsOrIntents) {
83
+ const startContents = await flowBuilderPlugin.getStartContents();
84
+ const contentIds = new Set(contentsByKeywordsOrIntents.map(content => content.id));
85
+ const hasRepeatedContent = startContents.some(content => contentIds.has(content.id));
86
+ return hasRepeatedContent;
97
87
  }
98
88
  //# sourceMappingURL=first-interaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":"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"}
@@ -18,50 +18,42 @@ const first_interaction_1 = require("./first-interaction");
18
18
  const knowledge_bases_1 = require("./knowledge-bases");
19
19
  const payload_1 = require("./payload");
20
20
  class FlowBuilderAction extends react_2.default.Component {
21
- static executeConversationStart(request) {
22
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
- const context = getContext(request);
24
- const contents = yield (0, first_interaction_1.getContentsByFirstInteraction)(context);
25
- const filteredContents = yield filterContents(request, contents);
26
- yield FlowBuilderAction.trackAllContents(request, filteredContents);
27
- yield FlowBuilderAction.doHandoffAndBotActions(request, filteredContents);
28
- return { contents: filteredContents };
29
- });
21
+ static async executeConversationStart(request) {
22
+ const context = getContext(request);
23
+ const contents = await (0, first_interaction_1.getContentsByFirstInteraction)(context);
24
+ const filteredContents = await filterContents(request, contents);
25
+ await FlowBuilderAction.trackAllContents(request, filteredContents);
26
+ await FlowBuilderAction.doHandoffAndBotActions(request, filteredContents);
27
+ return { contents: filteredContents };
30
28
  }
31
- static botonicInit(request, contentID) {
32
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
33
- const contents = yield getContents(request, contentID);
34
- const filteredContents = yield filterContents(request, contents);
35
- yield FlowBuilderAction.trackAllContents(request, filteredContents);
36
- yield FlowBuilderAction.doHandoffAndBotActions(request, filteredContents);
37
- return { contents: filteredContents };
38
- });
29
+ static async botonicInit(request, contentID) {
30
+ const contents = await getContents(request, contentID);
31
+ const filteredContents = await filterContents(request, contents);
32
+ await FlowBuilderAction.trackAllContents(request, filteredContents);
33
+ await FlowBuilderAction.doHandoffAndBotActions(request, filteredContents);
34
+ return { contents: filteredContents };
39
35
  }
40
- static trackAllContents(request, contents) {
41
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
42
- for (const content of contents) {
43
- yield content.trackFlow(request);
44
- }
45
- });
36
+ static async trackAllContents(request, contents) {
37
+ for (const content of contents) {
38
+ await content.trackFlow(request);
39
+ }
46
40
  }
47
- static doHandoffAndBotActions(request, contents) {
48
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
- const handoffContent = contents.find(content => content instanceof content_fields_1.FlowHandoff);
50
- if (handoffContent) {
51
- yield handoffContent.doHandoff(request);
52
- }
53
- const botActionContent = contents.find(content => content instanceof flow_bot_action_1.FlowBotAction);
54
- if (botActionContent) {
55
- botActionContent.doBotAction(request);
56
- }
57
- });
41
+ static async doHandoffAndBotActions(request, contents) {
42
+ const handoffContent = contents.find(content => content instanceof content_fields_1.FlowHandoff);
43
+ if (handoffContent) {
44
+ await handoffContent.doHandoff(request);
45
+ }
46
+ const botActionContent = contents.find(content => content instanceof flow_bot_action_1.FlowBotAction);
47
+ if (botActionContent) {
48
+ botActionContent.doBotAction(request);
49
+ }
58
50
  }
59
51
  render() {
60
52
  const { contents, webchatSettingsParams } = this.props;
61
53
  const request = this.context;
62
54
  const shouldSendWebchatSettings = ((0, core_1.isWebchat)(request.session) || (0, core_1.isDev)(request.session)) &&
63
55
  !!webchatSettingsParams;
64
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [shouldSendWebchatSettings && ((0, jsx_runtime_1.jsx)(react_1.WebchatSettings, Object.assign({}, webchatSettingsParams))), contents.map(content => content.toBotonic(content.id, request))] }));
56
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [shouldSendWebchatSettings && ((0, jsx_runtime_1.jsx)(react_1.WebchatSettings, { ...webchatSettingsParams })), contents.map(content => content.toBotonic(content.id, request))] }));
65
57
  }
66
58
  }
67
59
  exports.FlowBuilderAction = FlowBuilderAction;
@@ -72,58 +64,53 @@ class FlowBuilderMultichannelAction extends FlowBuilderAction {
72
64
  const request = this.context;
73
65
  const shouldSendWebchatSettings = ((0, core_1.isWebchat)(request.session) || (0, core_1.isDev)(request.session)) &&
74
66
  !!webchatSettingsParams;
75
- return ((0, jsx_runtime_1.jsxs)(react_1.Multichannel, Object.assign({ text: { buttonsAsText: false } }, { children: [shouldSendWebchatSettings && ((0, jsx_runtime_1.jsx)(react_1.WebchatSettings, Object.assign({}, webchatSettingsParams))), contents.map(content => content.toBotonic(content.id, request))] })));
67
+ return ((0, jsx_runtime_1.jsxs)(react_1.Multichannel, { text: { buttonsAsText: false }, children: [shouldSendWebchatSettings && ((0, jsx_runtime_1.jsx)(react_1.WebchatSettings, { ...webchatSettingsParams })), contents.map(content => content.toBotonic(content.id, request))] }));
76
68
  }
77
69
  }
78
70
  exports.FlowBuilderMultichannelAction = FlowBuilderMultichannelAction;
79
- function getContents(request, contentID) {
80
- var _a;
81
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
82
- const context = getContext(request, contentID);
83
- if (request.session.is_first_interaction) {
84
- return yield (0, first_interaction_1.getContentsByFirstInteraction)(context);
85
- }
86
- // TODO: Add needed logic when we can define contents for multi locale queue position message
87
- if (request.input.type === core_1.INPUT.EVENT_QUEUE_POSITION_CHANGED) {
88
- return [];
89
- }
90
- if ((_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.EMPTY_PAYLOAD)) {
91
- request.input.payload = undefined;
71
+ async function getContents(request, contentID) {
72
+ const context = getContext(request, contentID);
73
+ if (request.session.is_first_interaction) {
74
+ return await (0, first_interaction_1.getContentsByFirstInteraction)(context);
75
+ }
76
+ // TODO: Add needed logic when we can define contents for multi locale queue position message
77
+ if (request.input.type === core_1.INPUT.EVENT_QUEUE_POSITION_CHANGED) {
78
+ return [];
79
+ }
80
+ if (request.input.payload?.startsWith(constants_1.EMPTY_PAYLOAD)) {
81
+ request.input.payload = undefined;
82
+ }
83
+ if (request.input.payload || contentID) {
84
+ const contentsByPayload = await (0, payload_1.getContentsByPayload)(context);
85
+ if (contentsByPayload.length > 0) {
86
+ return contentsByPayload;
92
87
  }
93
- if (request.input.payload || contentID) {
94
- const contentsByPayload = yield (0, payload_1.getContentsByPayload)(context);
95
- if (contentsByPayload.length > 0) {
96
- return contentsByPayload;
97
- }
98
- return yield (0, fallback_1.getContentsByFallback)(context);
88
+ return await (0, fallback_1.getContentsByFallback)(context);
89
+ }
90
+ if ((0, utils_1.inputHasTextData)(request.input)) {
91
+ const aiAgentContents = await (0, ai_agent_1.getContentsByAiAgent)(context);
92
+ if (aiAgentContents.length > 0) {
93
+ return aiAgentContents;
99
94
  }
100
- if ((0, utils_1.inputHasTextData)(request.input)) {
101
- const aiAgentContents = yield (0, ai_agent_1.getContentsByAiAgent)(context);
102
- if (aiAgentContents.length > 0) {
103
- return aiAgentContents;
104
- }
105
- const knowledgeBaseContents = yield (0, knowledge_bases_1.getContentsByKnowledgeBase)(context);
106
- if (knowledgeBaseContents.length > 0) {
107
- return knowledgeBaseContents;
108
- }
95
+ const knowledgeBaseContents = await (0, knowledge_bases_1.getContentsByKnowledgeBase)(context);
96
+ if (knowledgeBaseContents.length > 0) {
97
+ return knowledgeBaseContents;
109
98
  }
110
- return yield (0, fallback_1.getContentsByFallback)(context);
111
- });
99
+ }
100
+ return await (0, fallback_1.getContentsByFallback)(context);
112
101
  }
113
- function filterContents(request, contents) {
114
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
115
- const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
116
- const contentFilters = flowBuilderPlugin.contentFilters;
117
- const contentFilterExecutor = new filters_1.ContentFilterExecutor({
118
- filters: contentFilters,
119
- });
120
- const filteredContents = [];
121
- for (const content of contents) {
122
- const filteredContent = yield contentFilterExecutor.filter(request, content);
123
- filteredContents.push(filteredContent);
124
- }
125
- return filteredContents;
102
+ async function filterContents(request, contents) {
103
+ const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
104
+ const contentFilters = flowBuilderPlugin.contentFilters;
105
+ const contentFilterExecutor = new filters_1.ContentFilterExecutor({
106
+ filters: contentFilters,
126
107
  });
108
+ const filteredContents = [];
109
+ for (const content of contents) {
110
+ const filteredContent = await contentFilterExecutor.filter(request, content);
111
+ filteredContents.push(filteredContent);
112
+ }
113
+ return filteredContents;
127
114
  }
128
115
  function getContext(request, contentID) {
129
116
  const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":"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"}