@botonic/plugin-flow-builder 0.57.0-rslib-esm.2 → 0.57.1-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 (905) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/action/ai-agent-from-user-input.d.ts +3 -0
  3. package/lib/cjs/action/ai-agent-from-user-input.js +38 -0
  4. package/lib/cjs/action/ai-agent-from-user-input.js.map +1 -0
  5. package/lib/cjs/action/context.d.ts +11 -0
  6. package/lib/cjs/action/context.js +17 -0
  7. package/lib/cjs/action/context.js.map +1 -0
  8. package/lib/cjs/action/fallback.d.ts +3 -0
  9. package/lib/cjs/action/fallback.js +36 -0
  10. package/lib/cjs/action/fallback.js.map +1 -0
  11. package/lib/cjs/action/first-interaction.d.ts +3 -0
  12. package/lib/cjs/action/first-interaction.js +93 -0
  13. package/lib/cjs/action/first-interaction.js.map +1 -0
  14. package/lib/cjs/action/get-contents.d.ts +3 -0
  15. package/lib/cjs/action/get-contents.js +44 -0
  16. package/lib/cjs/action/get-contents.js.map +1 -0
  17. package/lib/cjs/action/index.d.ts +25 -0
  18. package/lib/cjs/action/index.js +95 -0
  19. package/lib/cjs/action/index.js.map +1 -0
  20. package/lib/cjs/action/payload.d.ts +3 -0
  21. package/lib/cjs/action/payload.js +74 -0
  22. package/lib/cjs/action/payload.js.map +1 -0
  23. package/lib/cjs/api.d.ts +45 -0
  24. package/lib/cjs/api.js +227 -0
  25. package/lib/cjs/api.js.map +1 -0
  26. package/lib/cjs/bot-context-manager.d.ts +17 -0
  27. package/lib/cjs/bot-context-manager.js +93 -0
  28. package/lib/cjs/bot-context-manager.js.map +1 -0
  29. package/lib/cjs/constants.d.ts +14 -0
  30. package/lib/cjs/constants.js +20 -0
  31. package/lib/cjs/constants.js.map +1 -0
  32. package/lib/cjs/content-fields/contact-reasons-conditional-matcher.d.ts +4 -0
  33. package/lib/cjs/content-fields/contact-reasons-conditional-matcher.js +12 -0
  34. package/lib/cjs/content-fields/contact-reasons-conditional-matcher.js.map +1 -0
  35. package/lib/cjs/content-fields/content-fields-base.d.ts +20 -0
  36. package/lib/cjs/content-fields/content-fields-base.js +74 -0
  37. package/lib/cjs/content-fields/content-fields-base.js.map +1 -0
  38. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +15 -0
  39. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +71 -0
  40. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +1 -0
  41. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +9 -0
  42. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js +58 -0
  43. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +1 -0
  44. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +17 -0
  45. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js +79 -0
  46. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js.map +1 -0
  47. package/lib/cjs/content-fields/flow-ai-agent-base.d.ts +25 -0
  48. package/lib/cjs/content-fields/flow-ai-agent-base.js +97 -0
  49. package/lib/cjs/content-fields/flow-ai-agent-base.js.map +1 -0
  50. package/lib/cjs/content-fields/flow-ai-agent-router.d.ts +21 -0
  51. package/lib/cjs/content-fields/flow-ai-agent-router.js +126 -0
  52. package/lib/cjs/content-fields/flow-ai-agent-router.js.map +1 -0
  53. package/lib/cjs/content-fields/flow-ai-agent.d.ts +17 -0
  54. package/lib/cjs/content-fields/flow-ai-agent.js +65 -0
  55. package/lib/cjs/content-fields/flow-ai-agent.js.map +1 -0
  56. package/lib/cjs/content-fields/flow-bot-action.d.ts +14 -0
  57. package/lib/cjs/content-fields/flow-bot-action.js +45 -0
  58. package/lib/cjs/content-fields/flow-bot-action.js.map +1 -0
  59. package/lib/cjs/content-fields/flow-button.d.ts +31 -0
  60. package/lib/cjs/content-fields/flow-button.js +86 -0
  61. package/lib/cjs/content-fields/flow-button.js.map +1 -0
  62. package/lib/cjs/content-fields/flow-capture-user-input.d.ts +14 -0
  63. package/lib/cjs/content-fields/flow-capture-user-input.js +45 -0
  64. package/lib/cjs/content-fields/flow-capture-user-input.js.map +1 -0
  65. package/lib/cjs/content-fields/flow-carousel.d.ts +22 -0
  66. package/lib/cjs/content-fields/flow-carousel.js +152 -0
  67. package/lib/cjs/content-fields/flow-carousel.js.map +1 -0
  68. package/lib/cjs/content-fields/flow-channel-conditional.d.ts +14 -0
  69. package/lib/cjs/content-fields/flow-channel-conditional.js +57 -0
  70. package/lib/cjs/content-fields/flow-channel-conditional.js.map +1 -0
  71. package/lib/cjs/content-fields/flow-contact-reasons-conditional.d.ts +17 -0
  72. package/lib/cjs/content-fields/flow-contact-reasons-conditional.js +88 -0
  73. package/lib/cjs/content-fields/flow-contact-reasons-conditional.js.map +1 -0
  74. package/lib/cjs/content-fields/flow-country-conditional.d.ts +13 -0
  75. package/lib/cjs/content-fields/flow-country-conditional.js +59 -0
  76. package/lib/cjs/content-fields/flow-country-conditional.js.map +1 -0
  77. package/lib/cjs/content-fields/flow-custom-conditional.d.ts +17 -0
  78. package/lib/cjs/content-fields/flow-custom-conditional.js +89 -0
  79. package/lib/cjs/content-fields/flow-custom-conditional.js.map +1 -0
  80. package/lib/cjs/content-fields/flow-do-nothing.d.ts +9 -0
  81. package/lib/cjs/content-fields/flow-do-nothing.js +27 -0
  82. package/lib/cjs/content-fields/flow-do-nothing.js.map +1 -0
  83. package/lib/cjs/content-fields/flow-element.d.ts +22 -0
  84. package/lib/cjs/content-fields/flow-element.js +50 -0
  85. package/lib/cjs/content-fields/flow-element.js.map +1 -0
  86. package/lib/cjs/content-fields/flow-go-to-flow.d.ts +13 -0
  87. package/lib/cjs/content-fields/flow-go-to-flow.js +51 -0
  88. package/lib/cjs/content-fields/flow-go-to-flow.js.map +1 -0
  89. package/lib/cjs/content-fields/flow-handoff.d.ts +23 -0
  90. package/lib/cjs/content-fields/flow-handoff.js +104 -0
  91. package/lib/cjs/content-fields/flow-handoff.js.map +1 -0
  92. package/lib/cjs/content-fields/flow-image.d.ts +10 -0
  93. package/lib/cjs/content-fields/flow-image.js +33 -0
  94. package/lib/cjs/content-fields/flow-image.js.map +1 -0
  95. package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +30 -0
  96. package/lib/cjs/content-fields/flow-queue-status-conditional.js +95 -0
  97. package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +1 -0
  98. package/lib/cjs/content-fields/flow-rating.d.ts +15 -0
  99. package/lib/cjs/content-fields/flow-rating.js +66 -0
  100. package/lib/cjs/content-fields/flow-rating.js.map +1 -0
  101. package/lib/cjs/content-fields/flow-text.d.ts +15 -0
  102. package/lib/cjs/content-fields/flow-text.js +60 -0
  103. package/lib/cjs/content-fields/flow-text.js.map +1 -0
  104. package/lib/cjs/content-fields/flow-video.d.ts +10 -0
  105. package/lib/cjs/content-fields/flow-video.js +33 -0
  106. package/lib/cjs/content-fields/flow-video.js.map +1 -0
  107. package/lib/cjs/content-fields/flow-webview.d.ts +16 -0
  108. package/lib/cjs/content-fields/flow-webview.js +78 -0
  109. package/lib/cjs/content-fields/flow-webview.js.map +1 -0
  110. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +21 -0
  111. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +92 -0
  112. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
  113. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.d.ts +11 -0
  114. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js +46 -0
  115. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
  116. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +37 -0
  117. package/lib/cjs/content-fields/flow-whatsapp-template.js +264 -0
  118. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +1 -0
  119. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.d.ts +21 -0
  120. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js +3 -0
  121. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js.map +1 -0
  122. package/lib/cjs/content-fields/hubtype-fields/ai-agent.d.ts +25 -0
  123. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js +3 -0
  124. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js.map +1 -0
  125. package/lib/cjs/content-fields/hubtype-fields/bot-action.d.ts +10 -0
  126. package/lib/cjs/content-fields/hubtype-fields/bot-action.js +3 -0
  127. package/lib/cjs/content-fields/hubtype-fields/bot-action.js.map +1 -0
  128. package/lib/cjs/content-fields/hubtype-fields/button.d.ts +8 -0
  129. package/lib/cjs/content-fields/hubtype-fields/button.js +3 -0
  130. package/lib/cjs/content-fields/hubtype-fields/button.js.map +1 -0
  131. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  132. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js +12 -0
  133. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  134. package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +17 -0
  135. package/lib/cjs/content-fields/hubtype-fields/carousel.js +3 -0
  136. package/lib/cjs/content-fields/hubtype-fields/carousel.js.map +1 -0
  137. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.d.ts +10 -0
  138. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js +3 -0
  139. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
  140. package/lib/cjs/content-fields/hubtype-fields/common.d.ts +83 -0
  141. package/lib/cjs/content-fields/hubtype-fields/common.js +3 -0
  142. package/lib/cjs/content-fields/hubtype-fields/common.js.map +1 -0
  143. package/lib/cjs/content-fields/hubtype-fields/contact-reasons-conditional.d.ts +19 -0
  144. package/lib/cjs/content-fields/hubtype-fields/contact-reasons-conditional.js +3 -0
  145. package/lib/cjs/content-fields/hubtype-fields/contact-reasons-conditional.js.map +1 -0
  146. package/lib/cjs/content-fields/hubtype-fields/country-conditional.d.ts +10 -0
  147. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js +3 -0
  148. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js.map +1 -0
  149. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.d.ts +56 -0
  150. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js +36 -0
  151. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js.map +1 -0
  152. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.d.ts +11 -0
  153. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js +3 -0
  154. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
  155. package/lib/cjs/content-fields/hubtype-fields/do-nothing.d.ts +6 -0
  156. package/lib/cjs/content-fields/hubtype-fields/do-nothing.js +3 -0
  157. package/lib/cjs/content-fields/hubtype-fields/do-nothing.js.map +1 -0
  158. package/lib/cjs/content-fields/hubtype-fields/fallback.d.ts +9 -0
  159. package/lib/cjs/content-fields/hubtype-fields/fallback.js +3 -0
  160. package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +1 -0
  161. package/lib/cjs/content-fields/hubtype-fields/function.d.ts +30 -0
  162. package/lib/cjs/content-fields/hubtype-fields/function.js +11 -0
  163. package/lib/cjs/content-fields/hubtype-fields/function.js.map +1 -0
  164. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.d.ts +9 -0
  165. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js +3 -0
  166. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
  167. package/lib/cjs/content-fields/hubtype-fields/handoff.d.ts +21 -0
  168. package/lib/cjs/content-fields/hubtype-fields/handoff.js +10 -0
  169. package/lib/cjs/content-fields/hubtype-fields/handoff.js.map +1 -0
  170. package/lib/cjs/content-fields/hubtype-fields/image.d.ts +8 -0
  171. package/lib/cjs/content-fields/hubtype-fields/image.js +3 -0
  172. package/lib/cjs/content-fields/hubtype-fields/image.js.map +1 -0
  173. package/lib/cjs/content-fields/hubtype-fields/index.d.ts +28 -0
  174. package/lib/cjs/content-fields/hubtype-fields/index.js +32 -0
  175. package/lib/cjs/content-fields/hubtype-fields/index.js.map +1 -0
  176. package/lib/cjs/content-fields/hubtype-fields/keyword.d.ts +9 -0
  177. package/lib/cjs/content-fields/hubtype-fields/keyword.js +3 -0
  178. package/lib/cjs/content-fields/hubtype-fields/keyword.js.map +1 -0
  179. package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +33 -0
  180. package/lib/cjs/content-fields/hubtype-fields/node-types.js +40 -0
  181. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +1 -0
  182. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +28 -0
  183. package/lib/cjs/content-fields/hubtype-fields/nodes.js +3 -0
  184. package/lib/cjs/content-fields/hubtype-fields/nodes.js.map +1 -0
  185. package/lib/cjs/content-fields/hubtype-fields/payload.d.ts +8 -0
  186. package/lib/cjs/content-fields/hubtype-fields/payload.js +3 -0
  187. package/lib/cjs/content-fields/hubtype-fields/payload.js.map +1 -0
  188. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.d.ts +25 -0
  189. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js +3 -0
  190. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
  191. package/lib/cjs/content-fields/hubtype-fields/rating.d.ts +23 -0
  192. package/lib/cjs/content-fields/hubtype-fields/rating.js +9 -0
  193. package/lib/cjs/content-fields/hubtype-fields/rating.js.map +1 -0
  194. package/lib/cjs/content-fields/hubtype-fields/smart-intent.d.ts +12 -0
  195. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js +3 -0
  196. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js.map +1 -0
  197. package/lib/cjs/content-fields/hubtype-fields/text.d.ts +11 -0
  198. package/lib/cjs/content-fields/hubtype-fields/text.js +3 -0
  199. package/lib/cjs/content-fields/hubtype-fields/text.js.map +1 -0
  200. package/lib/cjs/content-fields/hubtype-fields/url.d.ts +8 -0
  201. package/lib/cjs/content-fields/hubtype-fields/url.js +3 -0
  202. package/lib/cjs/content-fields/hubtype-fields/url.js.map +1 -0
  203. package/lib/cjs/content-fields/hubtype-fields/video.d.ts +8 -0
  204. package/lib/cjs/content-fields/hubtype-fields/video.js +3 -0
  205. package/lib/cjs/content-fields/hubtype-fields/video.js.map +1 -0
  206. package/lib/cjs/content-fields/hubtype-fields/webview.d.ts +17 -0
  207. package/lib/cjs/content-fields/hubtype-fields/webview.js +3 -0
  208. package/lib/cjs/content-fields/hubtype-fields/webview.js.map +1 -0
  209. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
  210. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +3 -0
  211. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  212. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +17 -0
  213. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js +3 -0
  214. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
  215. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +10 -0
  216. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js +3 -0
  217. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
  218. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.d.ts +96 -0
  219. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js +9 -0
  220. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
  221. package/lib/cjs/content-fields/index.d.ts +27 -0
  222. package/lib/cjs/content-fields/index.js +56 -0
  223. package/lib/cjs/content-fields/index.js.map +1 -0
  224. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +14 -0
  225. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +41 -0
  226. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  227. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +13 -0
  228. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +36 -0
  229. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  230. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +14 -0
  231. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +46 -0
  232. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  233. package/lib/cjs/content-fields/whatsapp-button-list/index.d.ts +3 -0
  234. package/lib/cjs/content-fields/whatsapp-button-list/index.js +10 -0
  235. package/lib/cjs/content-fields/whatsapp-button-list/index.js.map +1 -0
  236. package/lib/cjs/filters/index.d.ts +12 -0
  237. package/lib/cjs/filters/index.js +17 -0
  238. package/lib/cjs/filters/index.js.map +1 -0
  239. package/lib/cjs/flow-factory.d.ts +12 -0
  240. package/lib/cjs/flow-factory.js +73 -0
  241. package/lib/cjs/flow-factory.js.map +1 -0
  242. package/lib/cjs/functions/index.d.ts +11 -0
  243. package/lib/cjs/functions/index.js +49 -0
  244. package/lib/cjs/functions/index.js.map +1 -0
  245. package/lib/cjs/index.d.ts +42 -0
  246. package/lib/cjs/index.js +142 -0
  247. package/lib/cjs/index.js.map +1 -0
  248. package/lib/cjs/services/hubtype-queues-api.js +26 -0
  249. package/lib/cjs/services/hubtype-queues-api.js.map +1 -0
  250. package/lib/cjs/structured-output/flow-builder-content.js +15 -0
  251. package/lib/cjs/structured-output/flow-builder-content.js.map +1 -0
  252. package/lib/cjs/tracking.d.ts +16 -0
  253. package/lib/cjs/tracking.js +71 -0
  254. package/lib/cjs/tracking.js.map +1 -0
  255. package/lib/cjs/types.d.ts +62 -0
  256. package/lib/cjs/types.js +14 -0
  257. package/lib/cjs/types.js.map +1 -0
  258. package/lib/cjs/user-input/capture-user-input-api.d.ts +21 -0
  259. package/lib/cjs/user-input/capture-user-input-api.js +88 -0
  260. package/lib/cjs/user-input/capture-user-input-api.js.map +1 -0
  261. package/lib/cjs/user-input/index.d.ts +4 -0
  262. package/lib/cjs/user-input/index.js +37 -0
  263. package/lib/cjs/user-input/index.js.map +1 -0
  264. package/lib/cjs/user-input/keyword.d.ts +27 -0
  265. package/lib/cjs/user-input/keyword.js +84 -0
  266. package/lib/cjs/user-input/keyword.js.map +1 -0
  267. package/lib/cjs/user-input/smart-intent.d.ts +24 -0
  268. package/lib/cjs/user-input/smart-intent.js +89 -0
  269. package/lib/cjs/user-input/smart-intent.js.map +1 -0
  270. package/lib/cjs/utils/ai-agent.d.ts +11 -0
  271. package/lib/cjs/utils/ai-agent.js +28 -0
  272. package/lib/cjs/utils/ai-agent.js.map +1 -0
  273. package/lib/cjs/utils/authentication.js +21 -0
  274. package/lib/cjs/utils/authentication.js.map +1 -0
  275. package/lib/cjs/utils/flow-locale.js +79 -0
  276. package/lib/cjs/utils/flow-locale.js.map +1 -0
  277. package/lib/cjs/utils/get-flow-builder-plugin.d.ts +3 -0
  278. package/lib/cjs/utils/get-flow-builder-plugin.js +16 -0
  279. package/lib/cjs/utils/get-flow-builder-plugin.js.map +1 -0
  280. package/lib/cjs/utils/hubtype-assistant-content.d.ts +13 -0
  281. package/lib/cjs/utils/hubtype-assistant-content.js +184 -0
  282. package/lib/cjs/utils/hubtype-assistant-content.js.map +1 -0
  283. package/lib/cjs/utils/input.js +35 -0
  284. package/lib/cjs/utils/input.js.map +1 -0
  285. package/lib/cjs/webview/contents-context.d.ts +2 -0
  286. package/lib/cjs/webview/contents-context.js +12 -0
  287. package/lib/cjs/webview/contents-context.js.map +1 -0
  288. package/lib/cjs/webview/index.d.ts +3 -0
  289. package/lib/cjs/webview/index.js +10 -0
  290. package/lib/cjs/webview/index.js.map +1 -0
  291. package/lib/cjs/webview/types.d.ts +47 -0
  292. package/lib/cjs/webview/types.js +9 -0
  293. package/lib/cjs/webview/types.js.map +1 -0
  294. package/lib/cjs/webview/use-webview-contents.d.ts +2 -0
  295. package/lib/cjs/webview/use-webview-contents.js +83 -0
  296. package/lib/cjs/webview/use-webview-contents.js.map +1 -0
  297. package/lib/esm/action/ai-agent-from-user-input.d.ts +3 -0
  298. package/lib/esm/action/ai-agent-from-user-input.js +38 -0
  299. package/lib/esm/action/ai-agent-from-user-input.js.map +1 -0
  300. package/lib/esm/action/context.d.ts +11 -0
  301. package/lib/esm/action/context.js +17 -0
  302. package/lib/esm/action/context.js.map +1 -0
  303. package/lib/esm/action/fallback.d.ts +3 -0
  304. package/lib/esm/action/fallback.js +36 -0
  305. package/lib/esm/action/fallback.js.map +1 -0
  306. package/lib/esm/action/first-interaction.d.ts +3 -0
  307. package/lib/esm/action/first-interaction.js +93 -0
  308. package/lib/esm/action/first-interaction.js.map +1 -0
  309. package/lib/esm/action/get-contents.d.ts +3 -0
  310. package/lib/esm/action/get-contents.js +44 -0
  311. package/lib/esm/action/get-contents.js.map +1 -0
  312. package/lib/esm/action/index.d.ts +25 -0
  313. package/lib/esm/action/index.js +95 -0
  314. package/lib/esm/action/index.js.map +1 -0
  315. package/lib/esm/action/payload.d.ts +3 -0
  316. package/lib/esm/action/payload.js +74 -0
  317. package/lib/esm/action/payload.js.map +1 -0
  318. package/lib/esm/api.d.ts +45 -0
  319. package/lib/esm/api.js +227 -0
  320. package/lib/esm/api.js.map +1 -0
  321. package/lib/esm/bot-context-manager.d.ts +17 -0
  322. package/lib/esm/bot-context-manager.js +93 -0
  323. package/lib/esm/bot-context-manager.js.map +1 -0
  324. package/lib/esm/constants.d.ts +14 -0
  325. package/lib/esm/constants.js +20 -0
  326. package/lib/esm/constants.js.map +1 -0
  327. package/lib/esm/content-fields/contact-reasons-conditional-matcher.d.ts +4 -0
  328. package/lib/esm/content-fields/contact-reasons-conditional-matcher.js +12 -0
  329. package/lib/esm/content-fields/contact-reasons-conditional-matcher.js.map +1 -0
  330. package/lib/esm/content-fields/content-fields-base.d.ts +20 -0
  331. package/lib/esm/content-fields/content-fields-base.js +74 -0
  332. package/lib/esm/content-fields/content-fields-base.js.map +1 -0
  333. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +15 -0
  334. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +71 -0
  335. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +1 -0
  336. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +9 -0
  337. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js +58 -0
  338. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +1 -0
  339. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +17 -0
  340. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js +79 -0
  341. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js.map +1 -0
  342. package/lib/esm/content-fields/flow-ai-agent-base.d.ts +25 -0
  343. package/lib/esm/content-fields/flow-ai-agent-base.js +97 -0
  344. package/lib/esm/content-fields/flow-ai-agent-base.js.map +1 -0
  345. package/lib/esm/content-fields/flow-ai-agent-router.d.ts +21 -0
  346. package/lib/esm/content-fields/flow-ai-agent-router.js +126 -0
  347. package/lib/esm/content-fields/flow-ai-agent-router.js.map +1 -0
  348. package/lib/esm/content-fields/flow-ai-agent.d.ts +17 -0
  349. package/lib/esm/content-fields/flow-ai-agent.js +65 -0
  350. package/lib/esm/content-fields/flow-ai-agent.js.map +1 -0
  351. package/lib/esm/content-fields/flow-bot-action.d.ts +14 -0
  352. package/lib/esm/content-fields/flow-bot-action.js +45 -0
  353. package/lib/esm/content-fields/flow-bot-action.js.map +1 -0
  354. package/lib/esm/content-fields/flow-button.d.ts +31 -0
  355. package/lib/esm/content-fields/flow-button.js +86 -0
  356. package/lib/esm/content-fields/flow-button.js.map +1 -0
  357. package/lib/esm/content-fields/flow-capture-user-input.d.ts +14 -0
  358. package/lib/esm/content-fields/flow-capture-user-input.js +45 -0
  359. package/lib/esm/content-fields/flow-capture-user-input.js.map +1 -0
  360. package/lib/esm/content-fields/flow-carousel.d.ts +22 -0
  361. package/lib/esm/content-fields/flow-carousel.js +152 -0
  362. package/lib/esm/content-fields/flow-carousel.js.map +1 -0
  363. package/lib/esm/content-fields/flow-channel-conditional.d.ts +14 -0
  364. package/lib/esm/content-fields/flow-channel-conditional.js +57 -0
  365. package/lib/esm/content-fields/flow-channel-conditional.js.map +1 -0
  366. package/lib/esm/content-fields/flow-contact-reasons-conditional.d.ts +17 -0
  367. package/lib/esm/content-fields/flow-contact-reasons-conditional.js +88 -0
  368. package/lib/esm/content-fields/flow-contact-reasons-conditional.js.map +1 -0
  369. package/lib/esm/content-fields/flow-country-conditional.d.ts +13 -0
  370. package/lib/esm/content-fields/flow-country-conditional.js +59 -0
  371. package/lib/esm/content-fields/flow-country-conditional.js.map +1 -0
  372. package/lib/esm/content-fields/flow-custom-conditional.d.ts +17 -0
  373. package/lib/esm/content-fields/flow-custom-conditional.js +89 -0
  374. package/lib/esm/content-fields/flow-custom-conditional.js.map +1 -0
  375. package/lib/esm/content-fields/flow-do-nothing.d.ts +9 -0
  376. package/lib/esm/content-fields/flow-do-nothing.js +27 -0
  377. package/lib/esm/content-fields/flow-do-nothing.js.map +1 -0
  378. package/lib/esm/content-fields/flow-element.d.ts +22 -0
  379. package/lib/esm/content-fields/flow-element.js +50 -0
  380. package/lib/esm/content-fields/flow-element.js.map +1 -0
  381. package/lib/esm/content-fields/flow-go-to-flow.d.ts +13 -0
  382. package/lib/esm/content-fields/flow-go-to-flow.js +51 -0
  383. package/lib/esm/content-fields/flow-go-to-flow.js.map +1 -0
  384. package/lib/esm/content-fields/flow-handoff.d.ts +23 -0
  385. package/lib/esm/content-fields/flow-handoff.js +104 -0
  386. package/lib/esm/content-fields/flow-handoff.js.map +1 -0
  387. package/lib/esm/content-fields/flow-image.d.ts +10 -0
  388. package/lib/esm/content-fields/flow-image.js +33 -0
  389. package/lib/esm/content-fields/flow-image.js.map +1 -0
  390. package/lib/esm/content-fields/flow-queue-status-conditional.d.ts +30 -0
  391. package/lib/esm/content-fields/flow-queue-status-conditional.js +95 -0
  392. package/lib/esm/content-fields/flow-queue-status-conditional.js.map +1 -0
  393. package/lib/esm/content-fields/flow-rating.d.ts +15 -0
  394. package/lib/esm/content-fields/flow-rating.js +66 -0
  395. package/lib/esm/content-fields/flow-rating.js.map +1 -0
  396. package/lib/esm/content-fields/flow-text.d.ts +15 -0
  397. package/lib/esm/content-fields/flow-text.js +60 -0
  398. package/lib/esm/content-fields/flow-text.js.map +1 -0
  399. package/lib/esm/content-fields/flow-video.d.ts +10 -0
  400. package/lib/esm/content-fields/flow-video.js +33 -0
  401. package/lib/esm/content-fields/flow-video.js.map +1 -0
  402. package/lib/esm/content-fields/flow-webview.d.ts +16 -0
  403. package/lib/esm/content-fields/flow-webview.js +78 -0
  404. package/lib/esm/content-fields/flow-webview.js.map +1 -0
  405. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +21 -0
  406. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +92 -0
  407. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
  408. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.d.ts +11 -0
  409. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js +46 -0
  410. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
  411. package/lib/esm/content-fields/flow-whatsapp-template.d.ts +37 -0
  412. package/lib/esm/content-fields/flow-whatsapp-template.js +264 -0
  413. package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -0
  414. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.d.ts +21 -0
  415. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js +3 -0
  416. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js.map +1 -0
  417. package/lib/esm/content-fields/hubtype-fields/ai-agent.d.ts +25 -0
  418. package/lib/esm/content-fields/hubtype-fields/ai-agent.js +3 -0
  419. package/lib/esm/content-fields/hubtype-fields/ai-agent.js.map +1 -0
  420. package/lib/esm/content-fields/hubtype-fields/bot-action.d.ts +10 -0
  421. package/lib/esm/content-fields/hubtype-fields/bot-action.js +3 -0
  422. package/lib/esm/content-fields/hubtype-fields/bot-action.js.map +1 -0
  423. package/lib/esm/content-fields/hubtype-fields/button.d.ts +8 -0
  424. package/lib/esm/content-fields/hubtype-fields/button.js +3 -0
  425. package/lib/esm/content-fields/hubtype-fields/button.js.map +1 -0
  426. package/lib/esm/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  427. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +12 -0
  428. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  429. package/lib/esm/content-fields/hubtype-fields/carousel.d.ts +17 -0
  430. package/lib/esm/content-fields/hubtype-fields/carousel.js +3 -0
  431. package/lib/esm/content-fields/hubtype-fields/carousel.js.map +1 -0
  432. package/lib/esm/content-fields/hubtype-fields/channel-conditional.d.ts +10 -0
  433. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +3 -0
  434. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
  435. package/lib/esm/content-fields/hubtype-fields/common.d.ts +83 -0
  436. package/lib/esm/content-fields/hubtype-fields/common.js +3 -0
  437. package/lib/esm/content-fields/hubtype-fields/common.js.map +1 -0
  438. package/lib/esm/content-fields/hubtype-fields/contact-reasons-conditional.d.ts +19 -0
  439. package/lib/esm/content-fields/hubtype-fields/contact-reasons-conditional.js +3 -0
  440. package/lib/esm/content-fields/hubtype-fields/contact-reasons-conditional.js.map +1 -0
  441. package/lib/esm/content-fields/hubtype-fields/country-conditional.d.ts +10 -0
  442. package/lib/esm/content-fields/hubtype-fields/country-conditional.js +3 -0
  443. package/lib/esm/content-fields/hubtype-fields/country-conditional.js.map +1 -0
  444. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.d.ts +56 -0
  445. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js +36 -0
  446. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js.map +1 -0
  447. package/lib/esm/content-fields/hubtype-fields/custom-conditional.d.ts +11 -0
  448. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +3 -0
  449. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
  450. package/lib/esm/content-fields/hubtype-fields/do-nothing.d.ts +6 -0
  451. package/lib/esm/content-fields/hubtype-fields/do-nothing.js +3 -0
  452. package/lib/esm/content-fields/hubtype-fields/do-nothing.js.map +1 -0
  453. package/lib/esm/content-fields/hubtype-fields/fallback.d.ts +9 -0
  454. package/lib/esm/content-fields/hubtype-fields/fallback.js +3 -0
  455. package/lib/esm/content-fields/hubtype-fields/fallback.js.map +1 -0
  456. package/lib/esm/content-fields/hubtype-fields/function.d.ts +30 -0
  457. package/lib/esm/content-fields/hubtype-fields/function.js +11 -0
  458. package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -0
  459. package/lib/esm/content-fields/hubtype-fields/go-to-flow.d.ts +9 -0
  460. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +3 -0
  461. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
  462. package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +21 -0
  463. package/lib/esm/content-fields/hubtype-fields/handoff.js +10 -0
  464. package/lib/esm/content-fields/hubtype-fields/handoff.js.map +1 -0
  465. package/lib/esm/content-fields/hubtype-fields/image.d.ts +8 -0
  466. package/lib/esm/content-fields/hubtype-fields/image.js +3 -0
  467. package/lib/esm/content-fields/hubtype-fields/image.js.map +1 -0
  468. package/lib/esm/content-fields/hubtype-fields/index.d.ts +28 -0
  469. package/lib/esm/content-fields/hubtype-fields/index.js +32 -0
  470. package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -0
  471. package/lib/esm/content-fields/hubtype-fields/keyword.d.ts +9 -0
  472. package/lib/esm/content-fields/hubtype-fields/keyword.js +3 -0
  473. package/lib/esm/content-fields/hubtype-fields/keyword.js.map +1 -0
  474. package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +33 -0
  475. package/lib/esm/content-fields/hubtype-fields/node-types.js +40 -0
  476. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -0
  477. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +28 -0
  478. package/lib/esm/content-fields/hubtype-fields/nodes.js +3 -0
  479. package/lib/esm/content-fields/hubtype-fields/nodes.js.map +1 -0
  480. package/lib/esm/content-fields/hubtype-fields/payload.d.ts +8 -0
  481. package/lib/esm/content-fields/hubtype-fields/payload.js +3 -0
  482. package/lib/esm/content-fields/hubtype-fields/payload.js.map +1 -0
  483. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.d.ts +25 -0
  484. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +3 -0
  485. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
  486. package/lib/esm/content-fields/hubtype-fields/rating.d.ts +23 -0
  487. package/lib/esm/content-fields/hubtype-fields/rating.js +9 -0
  488. package/lib/esm/content-fields/hubtype-fields/rating.js.map +1 -0
  489. package/lib/esm/content-fields/hubtype-fields/smart-intent.d.ts +12 -0
  490. package/lib/esm/content-fields/hubtype-fields/smart-intent.js +3 -0
  491. package/lib/esm/content-fields/hubtype-fields/smart-intent.js.map +1 -0
  492. package/lib/esm/content-fields/hubtype-fields/text.d.ts +11 -0
  493. package/lib/esm/content-fields/hubtype-fields/text.js +3 -0
  494. package/lib/esm/content-fields/hubtype-fields/text.js.map +1 -0
  495. package/lib/esm/content-fields/hubtype-fields/url.d.ts +8 -0
  496. package/lib/esm/content-fields/hubtype-fields/url.js +3 -0
  497. package/lib/esm/content-fields/hubtype-fields/url.js.map +1 -0
  498. package/lib/esm/content-fields/hubtype-fields/video.d.ts +8 -0
  499. package/lib/esm/content-fields/hubtype-fields/video.js +3 -0
  500. package/lib/esm/content-fields/hubtype-fields/video.js.map +1 -0
  501. package/lib/esm/content-fields/hubtype-fields/webview.d.ts +17 -0
  502. package/lib/esm/content-fields/hubtype-fields/webview.js +3 -0
  503. package/lib/esm/content-fields/hubtype-fields/webview.js.map +1 -0
  504. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
  505. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +3 -0
  506. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  507. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +17 -0
  508. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +3 -0
  509. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
  510. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +10 -0
  511. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js +3 -0
  512. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
  513. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.d.ts +96 -0
  514. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +9 -0
  515. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
  516. package/lib/esm/content-fields/index.d.ts +27 -0
  517. package/lib/esm/content-fields/index.js +56 -0
  518. package/lib/esm/content-fields/index.js.map +1 -0
  519. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +14 -0
  520. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +41 -0
  521. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  522. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +13 -0
  523. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +36 -0
  524. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  525. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +14 -0
  526. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +46 -0
  527. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  528. package/lib/esm/content-fields/whatsapp-button-list/index.d.ts +3 -0
  529. package/lib/esm/content-fields/whatsapp-button-list/index.js +10 -0
  530. package/lib/esm/content-fields/whatsapp-button-list/index.js.map +1 -0
  531. package/lib/esm/filters/index.d.ts +12 -0
  532. package/lib/esm/filters/index.js +17 -0
  533. package/lib/esm/filters/index.js.map +1 -0
  534. package/lib/esm/flow-factory.d.ts +12 -0
  535. package/lib/esm/flow-factory.js +73 -0
  536. package/lib/esm/flow-factory.js.map +1 -0
  537. package/lib/esm/functions/index.d.ts +11 -0
  538. package/lib/esm/functions/index.js +49 -0
  539. package/lib/esm/functions/index.js.map +1 -0
  540. package/lib/esm/index.d.ts +42 -0
  541. package/lib/esm/index.js +142 -0
  542. package/lib/esm/index.js.map +1 -0
  543. package/lib/esm/services/hubtype-queues-api.d.ts +14 -0
  544. package/lib/esm/services/hubtype-queues-api.js +26 -0
  545. package/lib/esm/services/hubtype-queues-api.js.map +1 -0
  546. package/lib/esm/structured-output/flow-builder-content.d.ts +13 -0
  547. package/lib/esm/structured-output/flow-builder-content.js +15 -0
  548. package/lib/esm/structured-output/flow-builder-content.js.map +1 -0
  549. package/lib/esm/tracking.d.ts +16 -0
  550. package/lib/esm/tracking.js +71 -0
  551. package/lib/esm/tracking.js.map +1 -0
  552. package/lib/esm/types.d.ts +62 -0
  553. package/lib/esm/types.js +14 -0
  554. package/lib/esm/types.js.map +1 -0
  555. package/lib/esm/user-input/capture-user-input-api.d.ts +21 -0
  556. package/lib/esm/user-input/capture-user-input-api.js +88 -0
  557. package/lib/esm/user-input/capture-user-input-api.js.map +1 -0
  558. package/lib/esm/user-input/index.d.ts +4 -0
  559. package/lib/esm/user-input/index.js +37 -0
  560. package/lib/esm/user-input/index.js.map +1 -0
  561. package/lib/esm/user-input/keyword.d.ts +27 -0
  562. package/lib/esm/user-input/keyword.js +84 -0
  563. package/lib/esm/user-input/keyword.js.map +1 -0
  564. package/lib/esm/user-input/smart-intent.d.ts +24 -0
  565. package/lib/esm/user-input/smart-intent.js +89 -0
  566. package/lib/esm/user-input/smart-intent.js.map +1 -0
  567. package/lib/esm/utils/ai-agent.d.ts +11 -0
  568. package/lib/esm/utils/ai-agent.js +28 -0
  569. package/lib/esm/utils/ai-agent.js.map +1 -0
  570. package/lib/esm/utils/authentication.d.ts +2 -0
  571. package/lib/esm/utils/authentication.js +21 -0
  572. package/lib/esm/utils/authentication.js.map +1 -0
  573. package/lib/esm/utils/flow-locale.d.ts +22 -0
  574. package/lib/esm/utils/flow-locale.js +79 -0
  575. package/lib/esm/utils/flow-locale.js.map +1 -0
  576. package/lib/esm/utils/get-flow-builder-plugin.d.ts +3 -0
  577. package/lib/esm/utils/get-flow-builder-plugin.js +16 -0
  578. package/lib/esm/utils/get-flow-builder-plugin.js.map +1 -0
  579. package/lib/esm/utils/hubtype-assistant-content.d.ts +13 -0
  580. package/lib/esm/utils/hubtype-assistant-content.js +184 -0
  581. package/lib/esm/utils/hubtype-assistant-content.js.map +1 -0
  582. package/lib/esm/utils/input.d.ts +6 -0
  583. package/lib/esm/utils/input.js +35 -0
  584. package/lib/esm/utils/input.js.map +1 -0
  585. package/lib/esm/webview/contents-context.d.ts +2 -0
  586. package/lib/esm/webview/contents-context.js +12 -0
  587. package/lib/esm/webview/contents-context.js.map +1 -0
  588. package/lib/esm/webview/index.d.ts +3 -0
  589. package/lib/esm/webview/index.js +10 -0
  590. package/lib/esm/webview/index.js.map +1 -0
  591. package/lib/esm/webview/types.d.ts +47 -0
  592. package/lib/esm/webview/types.js +9 -0
  593. package/lib/esm/webview/types.js.map +1 -0
  594. package/lib/esm/webview/use-webview-contents.d.ts +2 -0
  595. package/lib/esm/webview/use-webview-contents.js +83 -0
  596. package/lib/esm/webview/use-webview-contents.js.map +1 -0
  597. package/package.json +10 -12
  598. package/src/action/ai-agent-from-user-input.ts +7 -0
  599. package/src/action/first-interaction.ts +6 -0
  600. package/src/action/get-contents.ts +17 -2
  601. package/src/action/index.tsx +7 -0
  602. package/src/api.ts +52 -15
  603. package/src/bot-context-manager.ts +153 -0
  604. package/src/constants.ts +2 -1
  605. package/src/content-fields/contact-reasons-conditional-matcher.ts +24 -0
  606. package/src/content-fields/flow-ai-agent-base.tsx +1 -1
  607. package/src/content-fields/flow-ai-agent-router.tsx +1 -0
  608. package/src/content-fields/flow-ai-agent.tsx +1 -0
  609. package/src/content-fields/flow-contact-reasons-conditional.tsx +119 -0
  610. package/src/content-fields/flow-do-nothing.tsx +29 -0
  611. package/src/content-fields/flow-handoff.tsx +54 -7
  612. package/src/content-fields/flow-whatsapp-request-contact-info.tsx +2 -0
  613. package/src/content-fields/hubtype-fields/contact-reasons-conditional.ts +21 -0
  614. package/src/content-fields/hubtype-fields/do-nothing.ts +7 -0
  615. package/src/content-fields/hubtype-fields/handoff.ts +17 -1
  616. package/src/content-fields/hubtype-fields/index.ts +1 -0
  617. package/src/content-fields/hubtype-fields/node-types.ts +2 -0
  618. package/src/content-fields/hubtype-fields/nodes.ts +4 -0
  619. package/src/content-fields/hubtype-fields/whatsapp-request-contact-info.ts +2 -0
  620. package/src/content-fields/index.ts +6 -0
  621. package/src/flow-factory.ts +11 -0
  622. package/src/index.ts +26 -88
  623. package/src/types.ts +1 -2
  624. package/lib/action/ai-agent-from-user-input.d.ts +0 -3
  625. package/lib/action/ai-agent-from-user-input.js +0 -35
  626. package/lib/action/ai-agent-from-user-input.js.map +0 -1
  627. package/lib/action/context.d.ts +0 -11
  628. package/lib/action/context.js +0 -20
  629. package/lib/action/context.js.map +0 -1
  630. package/lib/action/fallback.d.ts +0 -3
  631. package/lib/action/fallback.js +0 -41
  632. package/lib/action/fallback.js.map +0 -1
  633. package/lib/action/first-interaction.d.ts +0 -3
  634. package/lib/action/first-interaction.js +0 -100
  635. package/lib/action/first-interaction.js.map +0 -1
  636. package/lib/action/get-contents.d.ts +0 -3
  637. package/lib/action/get-contents.js +0 -56
  638. package/lib/action/get-contents.js.map +0 -1
  639. package/lib/action/index.d.ts +0 -25
  640. package/lib/action/index.js +0 -126
  641. package/lib/action/index.js.map +0 -1
  642. package/lib/action/payload.d.ts +0 -3
  643. package/lib/action/payload.js +0 -78
  644. package/lib/action/payload.js.map +0 -1
  645. package/lib/api.d.ts +0 -40
  646. package/lib/api.js +0 -216
  647. package/lib/api.js.map +0 -1
  648. package/lib/constants.d.ts +0 -13
  649. package/lib/constants.js +0 -17
  650. package/lib/constants.js.map +0 -1
  651. package/lib/content-fields/content-fields-base.d.ts +0 -20
  652. package/lib/content-fields/content-fields-base.js +0 -78
  653. package/lib/content-fields/content-fields-base.js.map +0 -1
  654. package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +0 -15
  655. package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +0 -73
  656. package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +0 -1
  657. package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +0 -9
  658. package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.js +0 -58
  659. package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +0 -1
  660. package/lib/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +0 -17
  661. package/lib/content-fields/custom-conditional/flow-custom-condition-v2.js +0 -94
  662. package/lib/content-fields/custom-conditional/flow-custom-condition-v2.js.map +0 -1
  663. package/lib/content-fields/flow-ai-agent-base.d.ts +0 -25
  664. package/lib/content-fields/flow-ai-agent-base.js +0 -106
  665. package/lib/content-fields/flow-ai-agent-base.js.map +0 -1
  666. package/lib/content-fields/flow-ai-agent-router.d.ts +0 -21
  667. package/lib/content-fields/flow-ai-agent-router.js +0 -136
  668. package/lib/content-fields/flow-ai-agent-router.js.map +0 -1
  669. package/lib/content-fields/flow-ai-agent.d.ts +0 -17
  670. package/lib/content-fields/flow-ai-agent.js +0 -75
  671. package/lib/content-fields/flow-ai-agent.js.map +0 -1
  672. package/lib/content-fields/flow-bot-action.d.ts +0 -14
  673. package/lib/content-fields/flow-bot-action.js +0 -53
  674. package/lib/content-fields/flow-bot-action.js.map +0 -1
  675. package/lib/content-fields/flow-button.d.ts +0 -31
  676. package/lib/content-fields/flow-button.js +0 -105
  677. package/lib/content-fields/flow-button.js.map +0 -1
  678. package/lib/content-fields/flow-capture-user-input.d.ts +0 -14
  679. package/lib/content-fields/flow-capture-user-input.js +0 -46
  680. package/lib/content-fields/flow-capture-user-input.js.map +0 -1
  681. package/lib/content-fields/flow-carousel.d.ts +0 -22
  682. package/lib/content-fields/flow-carousel.js +0 -193
  683. package/lib/content-fields/flow-carousel.js.map +0 -1
  684. package/lib/content-fields/flow-channel-conditional.d.ts +0 -14
  685. package/lib/content-fields/flow-channel-conditional.js +0 -61
  686. package/lib/content-fields/flow-channel-conditional.js.map +0 -1
  687. package/lib/content-fields/flow-country-conditional.d.ts +0 -13
  688. package/lib/content-fields/flow-country-conditional.js +0 -64
  689. package/lib/content-fields/flow-country-conditional.js.map +0 -1
  690. package/lib/content-fields/flow-custom-conditional.d.ts +0 -17
  691. package/lib/content-fields/flow-custom-conditional.js +0 -87
  692. package/lib/content-fields/flow-custom-conditional.js.map +0 -1
  693. package/lib/content-fields/flow-element.d.ts +0 -22
  694. package/lib/content-fields/flow-element.js +0 -67
  695. package/lib/content-fields/flow-element.js.map +0 -1
  696. package/lib/content-fields/flow-go-to-flow.d.ts +0 -13
  697. package/lib/content-fields/flow-go-to-flow.js +0 -56
  698. package/lib/content-fields/flow-go-to-flow.js.map +0 -1
  699. package/lib/content-fields/flow-handoff.d.ts +0 -17
  700. package/lib/content-fields/flow-handoff.js +0 -79
  701. package/lib/content-fields/flow-handoff.js.map +0 -1
  702. package/lib/content-fields/flow-image.d.ts +0 -10
  703. package/lib/content-fields/flow-image.js +0 -42
  704. package/lib/content-fields/flow-image.js.map +0 -1
  705. package/lib/content-fields/flow-queue-status-conditional.d.ts +0 -30
  706. package/lib/content-fields/flow-queue-status-conditional.js +0 -100
  707. package/lib/content-fields/flow-queue-status-conditional.js.map +0 -1
  708. package/lib/content-fields/flow-rating.d.ts +0 -15
  709. package/lib/content-fields/flow-rating.js +0 -88
  710. package/lib/content-fields/flow-rating.js.map +0 -1
  711. package/lib/content-fields/flow-text.d.ts +0 -15
  712. package/lib/content-fields/flow-text.js +0 -82
  713. package/lib/content-fields/flow-text.js.map +0 -1
  714. package/lib/content-fields/flow-video.d.ts +0 -10
  715. package/lib/content-fields/flow-video.js +0 -42
  716. package/lib/content-fields/flow-video.js.map +0 -1
  717. package/lib/content-fields/flow-webview.d.ts +0 -16
  718. package/lib/content-fields/flow-webview.js +0 -81
  719. package/lib/content-fields/flow-webview.js.map +0 -1
  720. package/lib/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -21
  721. package/lib/content-fields/flow-whatsapp-cta-url-button.js +0 -131
  722. package/lib/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
  723. package/lib/content-fields/flow-whatsapp-request-contact-info.d.ts +0 -11
  724. package/lib/content-fields/flow-whatsapp-request-contact-info.js +0 -61
  725. package/lib/content-fields/flow-whatsapp-request-contact-info.js.map +0 -1
  726. package/lib/content-fields/flow-whatsapp-template.d.ts +0 -37
  727. package/lib/content-fields/flow-whatsapp-template.js +0 -281
  728. package/lib/content-fields/flow-whatsapp-template.js.map +0 -1
  729. package/lib/content-fields/hubtype-fields/ai-agent-router.d.ts +0 -21
  730. package/lib/content-fields/hubtype-fields/ai-agent-router.js +0 -4
  731. package/lib/content-fields/hubtype-fields/ai-agent-router.js.map +0 -1
  732. package/lib/content-fields/hubtype-fields/ai-agent.d.ts +0 -25
  733. package/lib/content-fields/hubtype-fields/ai-agent.js +0 -4
  734. package/lib/content-fields/hubtype-fields/ai-agent.js.map +0 -1
  735. package/lib/content-fields/hubtype-fields/bot-action.d.ts +0 -10
  736. package/lib/content-fields/hubtype-fields/bot-action.js +0 -4
  737. package/lib/content-fields/hubtype-fields/bot-action.js.map +0 -1
  738. package/lib/content-fields/hubtype-fields/button.d.ts +0 -8
  739. package/lib/content-fields/hubtype-fields/button.js +0 -4
  740. package/lib/content-fields/hubtype-fields/button.js.map +0 -1
  741. package/lib/content-fields/hubtype-fields/capture-user-input.d.ts +0 -19
  742. package/lib/content-fields/hubtype-fields/capture-user-input.js +0 -12
  743. package/lib/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
  744. package/lib/content-fields/hubtype-fields/carousel.d.ts +0 -17
  745. package/lib/content-fields/hubtype-fields/carousel.js +0 -4
  746. package/lib/content-fields/hubtype-fields/carousel.js.map +0 -1
  747. package/lib/content-fields/hubtype-fields/channel-conditional.d.ts +0 -10
  748. package/lib/content-fields/hubtype-fields/channel-conditional.js +0 -4
  749. package/lib/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
  750. package/lib/content-fields/hubtype-fields/common.d.ts +0 -83
  751. package/lib/content-fields/hubtype-fields/common.js +0 -4
  752. package/lib/content-fields/hubtype-fields/common.js.map +0 -1
  753. package/lib/content-fields/hubtype-fields/country-conditional.d.ts +0 -10
  754. package/lib/content-fields/hubtype-fields/country-conditional.js +0 -4
  755. package/lib/content-fields/hubtype-fields/country-conditional.js.map +0 -1
  756. package/lib/content-fields/hubtype-fields/custom-conditional-v2.d.ts +0 -56
  757. package/lib/content-fields/hubtype-fields/custom-conditional-v2.js +0 -36
  758. package/lib/content-fields/hubtype-fields/custom-conditional-v2.js.map +0 -1
  759. package/lib/content-fields/hubtype-fields/custom-conditional.d.ts +0 -11
  760. package/lib/content-fields/hubtype-fields/custom-conditional.js +0 -4
  761. package/lib/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
  762. package/lib/content-fields/hubtype-fields/fallback.d.ts +0 -9
  763. package/lib/content-fields/hubtype-fields/fallback.js +0 -4
  764. package/lib/content-fields/hubtype-fields/fallback.js.map +0 -1
  765. package/lib/content-fields/hubtype-fields/function.d.ts +0 -30
  766. package/lib/content-fields/hubtype-fields/function.js +0 -11
  767. package/lib/content-fields/hubtype-fields/function.js.map +0 -1
  768. package/lib/content-fields/hubtype-fields/go-to-flow.d.ts +0 -9
  769. package/lib/content-fields/hubtype-fields/go-to-flow.js +0 -4
  770. package/lib/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
  771. package/lib/content-fields/hubtype-fields/handoff.d.ts +0 -11
  772. package/lib/content-fields/hubtype-fields/handoff.js +0 -4
  773. package/lib/content-fields/hubtype-fields/handoff.js.map +0 -1
  774. package/lib/content-fields/hubtype-fields/image.d.ts +0 -8
  775. package/lib/content-fields/hubtype-fields/image.js +0 -4
  776. package/lib/content-fields/hubtype-fields/image.js.map +0 -1
  777. package/lib/content-fields/hubtype-fields/index.d.ts +0 -27
  778. package/lib/content-fields/hubtype-fields/index.js +0 -57
  779. package/lib/content-fields/hubtype-fields/index.js.map +0 -1
  780. package/lib/content-fields/hubtype-fields/keyword.d.ts +0 -9
  781. package/lib/content-fields/hubtype-fields/keyword.js +0 -4
  782. package/lib/content-fields/hubtype-fields/keyword.js.map +0 -1
  783. package/lib/content-fields/hubtype-fields/node-types.d.ts +0 -31
  784. package/lib/content-fields/hubtype-fields/node-types.js +0 -38
  785. package/lib/content-fields/hubtype-fields/node-types.js.map +0 -1
  786. package/lib/content-fields/hubtype-fields/nodes.d.ts +0 -26
  787. package/lib/content-fields/hubtype-fields/nodes.js +0 -4
  788. package/lib/content-fields/hubtype-fields/nodes.js.map +0 -1
  789. package/lib/content-fields/hubtype-fields/payload.d.ts +0 -8
  790. package/lib/content-fields/hubtype-fields/payload.js +0 -4
  791. package/lib/content-fields/hubtype-fields/payload.js.map +0 -1
  792. package/lib/content-fields/hubtype-fields/queue-status-conditional.d.ts +0 -25
  793. package/lib/content-fields/hubtype-fields/queue-status-conditional.js +0 -4
  794. package/lib/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
  795. package/lib/content-fields/hubtype-fields/rating.d.ts +0 -23
  796. package/lib/content-fields/hubtype-fields/rating.js +0 -9
  797. package/lib/content-fields/hubtype-fields/rating.js.map +0 -1
  798. package/lib/content-fields/hubtype-fields/smart-intent.d.ts +0 -12
  799. package/lib/content-fields/hubtype-fields/smart-intent.js +0 -4
  800. package/lib/content-fields/hubtype-fields/smart-intent.js.map +0 -1
  801. package/lib/content-fields/hubtype-fields/text.d.ts +0 -11
  802. package/lib/content-fields/hubtype-fields/text.js +0 -4
  803. package/lib/content-fields/hubtype-fields/text.js.map +0 -1
  804. package/lib/content-fields/hubtype-fields/url.d.ts +0 -8
  805. package/lib/content-fields/hubtype-fields/url.js +0 -4
  806. package/lib/content-fields/hubtype-fields/url.js.map +0 -1
  807. package/lib/content-fields/hubtype-fields/video.d.ts +0 -8
  808. package/lib/content-fields/hubtype-fields/video.js +0 -4
  809. package/lib/content-fields/hubtype-fields/video.js.map +0 -1
  810. package/lib/content-fields/hubtype-fields/webview.d.ts +0 -17
  811. package/lib/content-fields/hubtype-fields/webview.js +0 -4
  812. package/lib/content-fields/hubtype-fields/webview.js.map +0 -1
  813. package/lib/content-fields/hubtype-fields/whatsapp-button-list.d.ts +0 -21
  814. package/lib/content-fields/hubtype-fields/whatsapp-button-list.js +0 -4
  815. package/lib/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
  816. package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +0 -17
  817. package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -4
  818. package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
  819. package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +0 -8
  820. package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.js +0 -4
  821. package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +0 -1
  822. package/lib/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -96
  823. package/lib/content-fields/hubtype-fields/whatsapp-template.js +0 -9
  824. package/lib/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
  825. package/lib/content-fields/index.d.ts +0 -25
  826. package/lib/content-fields/index.js +0 -73
  827. package/lib/content-fields/index.js.map +0 -1
  828. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -14
  829. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -43
  830. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
  831. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +0 -13
  832. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -41
  833. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
  834. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -14
  835. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -66
  836. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
  837. package/lib/content-fields/whatsapp-button-list/index.d.ts +0 -3
  838. package/lib/content-fields/whatsapp-button-list/index.js +0 -12
  839. package/lib/content-fields/whatsapp-button-list/index.js.map +0 -1
  840. package/lib/filters/index.d.ts +0 -12
  841. package/lib/filters/index.js +0 -16
  842. package/lib/filters/index.js.map +0 -1
  843. package/lib/flow-factory.d.ts +0 -12
  844. package/lib/flow-factory.js +0 -75
  845. package/lib/flow-factory.js.map +0 -1
  846. package/lib/functions/index.d.ts +0 -11
  847. package/lib/functions/index.js +0 -55
  848. package/lib/functions/index.js.map +0 -1
  849. package/lib/index.d.ts +0 -45
  850. package/lib/index.js +0 -195
  851. package/lib/index.js.map +0 -1
  852. package/lib/services/hubtype-queues-api.js +0 -26
  853. package/lib/services/hubtype-queues-api.js.map +0 -1
  854. package/lib/structured-output/flow-builder-content.js +0 -16
  855. package/lib/structured-output/flow-builder-content.js.map +0 -1
  856. package/lib/tracking.d.ts +0 -16
  857. package/lib/tracking.js +0 -77
  858. package/lib/tracking.js.map +0 -1
  859. package/lib/types.d.ts +0 -62
  860. package/lib/types.js +0 -14
  861. package/lib/types.js.map +0 -1
  862. package/lib/user-input/capture-user-input-api.d.ts +0 -21
  863. package/lib/user-input/capture-user-input-api.js +0 -99
  864. package/lib/user-input/capture-user-input-api.js.map +0 -1
  865. package/lib/user-input/index.d.ts +0 -4
  866. package/lib/user-input/index.js +0 -46
  867. package/lib/user-input/index.js.map +0 -1
  868. package/lib/user-input/keyword.d.ts +0 -27
  869. package/lib/user-input/keyword.js +0 -89
  870. package/lib/user-input/keyword.js.map +0 -1
  871. package/lib/user-input/smart-intent.d.ts +0 -24
  872. package/lib/user-input/smart-intent.js +0 -93
  873. package/lib/user-input/smart-intent.js.map +0 -1
  874. package/lib/utils/ai-agent.d.ts +0 -11
  875. package/lib/utils/ai-agent.js +0 -33
  876. package/lib/utils/ai-agent.js.map +0 -1
  877. package/lib/utils/authentication.js +0 -24
  878. package/lib/utils/authentication.js.map +0 -1
  879. package/lib/utils/flow-locale.js +0 -75
  880. package/lib/utils/flow-locale.js.map +0 -1
  881. package/lib/utils/get-flow-builder-plugin.d.ts +0 -3
  882. package/lib/utils/get-flow-builder-plugin.js +0 -16
  883. package/lib/utils/get-flow-builder-plugin.js.map +0 -1
  884. package/lib/utils/hubtype-assistant-content.d.ts +0 -13
  885. package/lib/utils/hubtype-assistant-content.js +0 -200
  886. package/lib/utils/hubtype-assistant-content.js.map +0 -1
  887. package/lib/utils/input.js +0 -37
  888. package/lib/utils/input.js.map +0 -1
  889. package/lib/webview/contents-context.d.ts +0 -2
  890. package/lib/webview/contents-context.js +0 -14
  891. package/lib/webview/contents-context.js.map +0 -1
  892. package/lib/webview/index.d.ts +0 -3
  893. package/lib/webview/index.js +0 -11
  894. package/lib/webview/index.js.map +0 -1
  895. package/lib/webview/types.d.ts +0 -47
  896. package/lib/webview/types.js +0 -9
  897. package/lib/webview/types.js.map +0 -1
  898. package/lib/webview/use-webview-contents.d.ts +0 -2
  899. package/lib/webview/use-webview-contents.js +0 -90
  900. package/lib/webview/use-webview-contents.js.map +0 -1
  901. /package/lib/{services → cjs/services}/hubtype-queues-api.d.ts +0 -0
  902. /package/lib/{structured-output → cjs/structured-output}/flow-builder-content.d.ts +0 -0
  903. /package/lib/{utils → cjs/utils}/authentication.d.ts +0 -0
  904. /package/lib/{utils → cjs/utils}/flow-locale.d.ts +0 -0
  905. /package/lib/{utils → cjs/utils}/input.d.ts +0 -0
package/README.md CHANGED
@@ -164,7 +164,7 @@ e.g using @botonic/plugin-ai-agents
164
164
 
165
165
  ```ts
166
166
  import { Input, Session } from '@botonic/core'
167
- import { FlowBuilderAction } from '@botonic/plugin-flow-builder'
167
+ import FlowBuilderAction from '@botonic/plugin-flow-builder/lib/esm/action'
168
168
 
169
169
  type RouteRequest = { input: Input; session: Session }
170
170
  export function routes(request: RouteRequest) {
@@ -0,0 +1,3 @@
1
+ import type { FlowContent } from '../content-fields/index';
2
+ import type { FlowBuilderContext } from './context';
3
+ export declare function getContentsByAiAgentFromUserInput({ cmsApi, flowBuilderPlugin, request, }: FlowBuilderContext): Promise<FlowContent[]>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContentsByAiAgentFromUserInput = getContentsByAiAgentFromUserInput;
4
+ const core_1 = require("@botonic/core");
5
+ const ai_agent_1 = require("../utils/ai-agent");
6
+ async function getContentsByAiAgentFromUserInput({ cmsApi, flowBuilderPlugin, request, }) {
7
+ const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow();
8
+ const isAiAgentEnabled = cmsApi.isAiAgentEnabled();
9
+ if (!startNodeAiAgentFlow || !isAiAgentEnabled) {
10
+ return [];
11
+ }
12
+ const contents = await flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow);
13
+ const splitContents = (0, ai_agent_1.splitAiAgentContents)(contents);
14
+ if (!splitContents) {
15
+ return [];
16
+ }
17
+ if ('aiAgentRouterContent' in splitContents) {
18
+ const { aiAgentRouterContent, contentsBeforeAiAgentRouter } = splitContents;
19
+ const aiAgentResponse = await aiAgentRouterContent.resolveAIAgentResponse(request, contentsBeforeAiAgentRouter);
20
+ if (!aiAgentResponse || aiAgentResponse.exit) {
21
+ return [];
22
+ }
23
+ }
24
+ if ('aiAgentWorkerContent' in splitContents) {
25
+ const { aiAgentWorkerContent, contentsBeforeAiAgentWorker } = splitContents;
26
+ const aiAgentResponse = await aiAgentWorkerContent.resolveAIAgentResponse(request, contentsBeforeAiAgentWorker);
27
+ if (!aiAgentResponse || aiAgentResponse.exit) {
28
+ return [];
29
+ }
30
+ }
31
+ request.input.nluResolution = {
32
+ type: core_1.NluType.AiAgent,
33
+ matchedValue: 'ai-agent-from-user-input',
34
+ payload: undefined,
35
+ };
36
+ return contents;
37
+ }
38
+ //# sourceMappingURL=ai-agent-from-user-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agent-from-user-input.js","sourceRoot":"","sources":["../../../src/action/ai-agent-from-user-input.ts"],"names":[],"mappings":";;AAKA,8EAmDC;AAxDD,wCAAuC;AAEvC,gDAAwD;AAGjD,KAAK,UAAU,iCAAiC,CAAC,EACtD,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY;IACnB,MAAM,oBAAoB,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAA;IAC7D,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAA;IAClD,IAAI,CAAC,oBAAoB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GACZ,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;IAEjE,MAAM,aAAa,GAAG,IAAA,+BAAoB,EAAC,QAAQ,CAAC,CAAA;IAEpD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,sBAAsB,IAAI,aAAa,EAAE,CAAC;QAC5C,MAAM,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,GAAG,aAAa,CAAA;QAC3E,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,sBAAsB,CACvE,OAAO,EACP,2BAA2B,CAC5B,CAAA;QAED,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB,IAAI,aAAa,EAAE,CAAC;QAC5C,MAAM,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,GAAG,aAAa,CAAA;QAC3E,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,sBAAsB,CACvE,OAAO,EACP,2BAA2B,CAC5B,CAAA;QAED,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG;QAC5B,IAAI,EAAE,cAAO,CAAC,OAAO;QACrB,YAAY,EAAE,0BAA0B;QACxC,OAAO,EAAE,SAAS;KACnB,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { BotContext } from '@botonic/core';
2
+ import type { FlowBuilderApi } from '../api';
3
+ import type BotonicPluginFlowBuilder from '../index';
4
+ export interface FlowBuilderContext {
5
+ cmsApi: FlowBuilderApi;
6
+ flowBuilderPlugin: BotonicPluginFlowBuilder;
7
+ request: BotContext;
8
+ resolvedLocale: string;
9
+ contentID?: string;
10
+ }
11
+ export declare function getFlowBuilderActionContext(request: BotContext, contentID?: string): FlowBuilderContext;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFlowBuilderActionContext = getFlowBuilderActionContext;
4
+ const get_flow_builder_plugin_1 = require("../utils/get-flow-builder-plugin");
5
+ function getFlowBuilderActionContext(request, contentID) {
6
+ const flowBuilderPlugin = (0, get_flow_builder_plugin_1.getFlowBuilderPlugin)(request.plugins);
7
+ const cmsApi = flowBuilderPlugin.cmsApi;
8
+ const resolvedLocale = flowBuilderPlugin.cmsApi.getResolvedLocale();
9
+ return {
10
+ cmsApi,
11
+ flowBuilderPlugin,
12
+ request,
13
+ resolvedLocale,
14
+ contentID,
15
+ };
16
+ }
17
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/action/context.ts"],"names":[],"mappings":";;AAcA,kEAcC;AAxBD,8EAAuE;AAUvE,SAAgB,2BAA2B,CACzC,OAAmB,EACnB,SAAkB;IAElB,MAAM,iBAAiB,GAAG,IAAA,8CAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAA;IACnE,OAAO;QACL,MAAM;QACN,iBAAiB;QACjB,OAAO;QACP,cAAc;QACd,SAAS;KACV,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { FlowContent } from '../content-fields';
2
+ import type { FlowBuilderContext } from './context';
3
+ export declare function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, }: FlowBuilderContext): Promise<FlowContent[]>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContentsByFallback = getContentsByFallback;
4
+ const core_1 = require("@botonic/core");
5
+ const tracking_1 = require("../tracking");
6
+ async function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, }) {
7
+ const fallbackNode = await getFallbackNode(cmsApi, request);
8
+ const fallbackContents = await flowBuilderPlugin.getContentsByNode(fallbackNode);
9
+ return fallbackContents;
10
+ }
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,
16
+ };
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;
35
+ }
36
+ //# sourceMappingURL=fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/action/fallback.ts"],"names":[],"mappings":";;AAWA,sDAUC;AArBD,wCAA+D;AAK/D,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"}
@@ -0,0 +1,3 @@
1
+ import { type FlowContent } from '../content-fields';
2
+ import type { FlowBuilderContext } from './context';
3
+ export declare function getContentsByFirstInteraction(context: FlowBuilderContext): Promise<FlowContent[]>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContentsByFirstInteraction = getContentsByFirstInteraction;
4
+ const core_1 = require("@botonic/core");
5
+ const constants_1 = require("../constants");
6
+ const content_fields_1 = require("../content-fields");
7
+ const input_1 = require("../utils/input");
8
+ const ai_agent_from_user_input_1 = require("./ai-agent-from-user-input");
9
+ const payload_1 = require("./payload");
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;
25
+ }
26
+ }
27
+ catch (_error) {
28
+ console.warn(`The contentID ${contentID} is not found. Returning the firstInteractionContents`);
29
+ }
30
+ }
31
+ // Bot actions and AI agents already consume the user input. Matching
32
+ // keywords/intents/KB/AI-agent-from-user-input on top would duplicate replies
33
+ // (e.g. Main start → Go to flow → AI Agents).
34
+ if (startContentsAlreadyHandleUserInput(firstInteractionContents)) {
35
+ return firstInteractionContents;
36
+ }
37
+ if (request.input.nluResolution || (0, input_1.inputHasTextOrTranscript)(request.input)) {
38
+ const contentsByUserInput = await getContentsByUserInput(context);
39
+ if (request.input.nluResolution?.type === core_1.NluType.AiAgent) {
40
+ const startContents = await flowBuilderPlugin.getStartContents();
41
+ return [...startContents, ...contentsByUserInput];
42
+ }
43
+ return [...firstInteractionContents, ...contentsByUserInput];
44
+ }
45
+ return firstInteractionContents;
46
+ }
47
+ function startContentsAlreadyHandleUserInput(contents) {
48
+ if (contents.at(-1) instanceof content_fields_1.FlowBotAction) {
49
+ return true;
50
+ }
51
+ // To avoid duplicated ai agent response, we check if there is an ai agent or ai agent router in the first interaction contents.
52
+ return contents.some(content => content instanceof content_fields_1.FlowAiAgent || content instanceof content_fields_1.FlowAiAgentRouter);
53
+ }
54
+ async function getContentsByUserInput(context) {
55
+ const { cmsApi, flowBuilderPlugin, request, resolvedLocale } = context;
56
+ const payloadByNlu = request.input.nluResolution?.payload;
57
+ if (payloadByNlu) {
58
+ request.input.payload = payloadByNlu;
59
+ const conversationStartId = getConversationStartId(cmsApi);
60
+ if (request.input.payload === conversationStartId) {
61
+ return [];
62
+ }
63
+ const contentsByKeywordsOrIntents = await (0, payload_1.getContentsByPayload)({
64
+ cmsApi,
65
+ flowBuilderPlugin,
66
+ request,
67
+ resolvedLocale,
68
+ });
69
+ const hasRepeatedContent = await checkRepeatedContents(flowBuilderPlugin, contentsByKeywordsOrIntents);
70
+ if (hasRepeatedContent) {
71
+ return [];
72
+ }
73
+ if (contentsByKeywordsOrIntents.length > 0) {
74
+ return contentsByKeywordsOrIntents;
75
+ }
76
+ }
77
+ if (!flowBuilderPlugin.disableAIAgentInFirstInteraction) {
78
+ const contentsByAiAgent = await (0, ai_agent_from_user_input_1.getContentsByAiAgentFromUserInput)(context);
79
+ return contentsByAiAgent;
80
+ }
81
+ return [];
82
+ }
83
+ function getConversationStartId(cmsApi) {
84
+ const conversationStartId = cmsApi.flow.flows.find(flow => flow.name === constants_1.MAIN_FLOW_NAME)?.start_node_id;
85
+ return conversationStartId;
86
+ }
87
+ async function checkRepeatedContents(flowBuilderPlugin, contentsByKeywordsOrIntents) {
88
+ const startContents = await flowBuilderPlugin.getStartContents();
89
+ const contentIds = new Set(contentsByKeywordsOrIntents.map(content => content.id));
90
+ const hasRepeatedContent = startContents.some(content => contentIds.has(content.id));
91
+ return hasRepeatedContent;
92
+ }
93
+ //# sourceMappingURL=first-interaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-interaction.js","sourceRoot":"","sources":["../../../src/action/first-interaction.ts"],"names":[],"mappings":";;AAeA,sEAgDC;AA/DD,wCAAuC;AAEvC,4CAA6C;AAC7C,sDAK0B;AAE1B,0CAAyD;AACzD,yEAA8E;AAE9E,uCAAgD;AAEzC,KAAK,UAAU,6BAA6B,CACjD,OAA2B;IAE3B,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAEzD;;;;;;OAMG;IACH,MAAM,wBAAwB,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;IAE3E,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC;YACH,MAAM,mBAAmB,GACvB,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;YAE3D,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,mBAAmB,CAAA;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CACV,iBAAiB,SAAS,uDAAuD,CAClF,CAAA;QACH,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,8EAA8E;IAC9E,8CAA8C;IAC9C,IAAI,mCAAmC,CAAC,wBAAwB,CAAC,EAAE,CAAC;QAClE,OAAO,wBAAwB,CAAA;IACjC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,IAAA,gCAAwB,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAA;QAEjE,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,KAAK,cAAO,CAAC,OAAO,EAAE,CAAC;YAC1D,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;YAChE,OAAO,CAAC,GAAG,aAAa,EAAE,GAAG,mBAAmB,CAAC,CAAA;QACnD,CAAC;QAED,OAAO,CAAC,GAAG,wBAAwB,EAAE,GAAG,mBAAmB,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,wBAAwB,CAAA;AACjC,CAAC;AAED,SAAS,mCAAmC,CAAC,QAAuB;IAClE,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,8BAAa,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gIAAgI;IAChI,OAAO,QAAQ,CAAC,IAAI,CAClB,OAAO,CAAC,EAAE,CACR,OAAO,YAAY,4BAAW,IAAI,OAAO,YAAY,kCAAiB,CACzE,CAAA;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAA2B;IAE3B,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IACtE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAA;IAEzD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,CAAA;QACpC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAE1D,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,mBAAmB,EAAE,CAAC;YAClD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,2BAA2B,GAAG,MAAM,IAAA,8BAAoB,EAAC;YAC7D,MAAM;YACN,iBAAiB;YACjB,OAAO;YACP,cAAc;SACf,CAAC,CAAA;QAEF,MAAM,kBAAkB,GAAG,MAAM,qBAAqB,CACpD,iBAAiB,EACjB,2BAA2B,CAC5B,CAAA;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,2BAA2B,CAAA;QACpC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,EAAE,CAAC;QACxD,MAAM,iBAAiB,GAAG,MAAM,IAAA,4DAAiC,EAAC,OAAO,CAAC,CAAA;QAC1E,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB;IACpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAChD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,0BAAc,CACrC,EAAE,aAAa,CAAA;IAEhB,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,iBAA2C,EAC3C,2BAA0C;IAE1C,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,CAAA;IAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CACvD,CAAA;IACD,MAAM,kBAAkB,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACtD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAC3B,CAAA;IAED,OAAO,kBAAkB,CAAA;AAC3B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type BotContext } from '@botonic/core';
2
+ import type { FlowContent } from '../content-fields';
3
+ export declare function getContents(botContext: BotContext, contentID?: string): Promise<FlowContent[]>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContents = getContents;
4
+ const core_1 = require("@botonic/core");
5
+ const constants_1 = require("../constants");
6
+ const input_1 = require("../utils/input");
7
+ const ai_agent_from_user_input_1 = require("./ai-agent-from-user-input");
8
+ const context_1 = require("./context");
9
+ const fallback_1 = require("./fallback");
10
+ const first_interaction_1 = require("./first-interaction");
11
+ const payload_1 = require("./payload");
12
+ async function getContents(botContext, contentID) {
13
+ const context = (0, context_1.getFlowBuilderActionContext)(botContext, contentID);
14
+ if (botContext.session.is_first_interaction) {
15
+ return await (0, first_interaction_1.getContentsByFirstInteraction)(context);
16
+ }
17
+ // TODO: Add needed logic when we can define contents for multi locale queue position message
18
+ if (botContext.input.type === core_1.INPUT.EVENT_QUEUE_POSITION_CHANGED) {
19
+ return [];
20
+ }
21
+ if (botContext.input.payload?.startsWith(constants_1.EMPTY_PAYLOAD)) {
22
+ botContext.input.payload = undefined;
23
+ }
24
+ if (botContext.input.payload || contentID) {
25
+ const contentsByPayload = await (0, payload_1.getContentsByPayload)(context);
26
+ if (contentsByPayload.length > 0) {
27
+ return contentsByPayload;
28
+ }
29
+ return await (0, fallback_1.getContentsByFallback)(context);
30
+ }
31
+ if ((0, input_1.inputHasTextOrTranscript)(botContext.input) ||
32
+ isContactRequested(botContext.input)) {
33
+ const aiAgentContents = await (0, ai_agent_from_user_input_1.getContentsByAiAgentFromUserInput)(context);
34
+ if (aiAgentContents.length > 0) {
35
+ return aiAgentContents;
36
+ }
37
+ }
38
+ return await (0, fallback_1.getContentsByFallback)(context);
39
+ }
40
+ function isContactRequested(input) {
41
+ return (input.type === core_1.INPUT.CONTACT &&
42
+ input.origin === core_1.WhatsappInputOrigin.ContactRequest);
43
+ }
44
+ //# sourceMappingURL=get-contents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-contents.js","sourceRoot":"","sources":["../../../src/action/get-contents.ts"],"names":[],"mappings":";;AAeA,kCAsCC;AArDD,wCAKsB;AACtB,4CAA4C;AAE5C,0CAAyD;AACzD,yEAA8E;AAC9E,uCAAuD;AACvD,yCAAkD;AAClD,2DAAmE;AACnE,uCAAgD;AAEzC,KAAK,UAAU,WAAW,CAC/B,UAAsB,EACtB,SAAkB;IAElB,MAAM,OAAO,GAAG,IAAA,qCAA2B,EAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IAElE,IAAI,UAAU,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAC5C,OAAO,MAAM,IAAA,iDAA6B,EAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IACD,6FAA6F;IAC7F,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,YAAK,CAAC,4BAA4B,EAAE,CAAC;QACjE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,yBAAa,CAAC,EAAE,CAAC;QACxD,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;IACtC,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAG,MAAM,IAAA,8BAAoB,EAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,OAAO,MAAM,IAAA,gCAAqB,EAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED,IACE,IAAA,gCAAwB,EAAC,UAAU,CAAC,KAAK,CAAC;QAC1C,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,EACpC,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,IAAA,4DAAiC,EAAC,OAAO,CAAC,CAAA;QACxE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,eAAe,CAAA;QACxB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,IAAA,gCAAqB,EAAC,OAAO,CAAC,CAAA;AAC7C,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAY;IACtC,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,YAAK,CAAC,OAAO;QAC5B,KAAK,CAAC,MAAM,KAAK,0BAAmB,CAAC,cAAc,CACpD,CAAA;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { type BotContext } from '@botonic/core';
2
+ import { RequestContext, type WebchatSettingsProps } from '@botonic/react';
3
+ import React from 'react';
4
+ import { type FlowContent } from '../content-fields';
5
+ export type FlowBuilderActionProps = {
6
+ contents: FlowContent[];
7
+ webchatSettingsParams?: WebchatSettingsProps;
8
+ };
9
+ export declare class FlowBuilderAction extends React.Component<FlowBuilderActionProps> {
10
+ static contextType: React.Context<import("@botonic/react").ActionRequest>;
11
+ context: React.ContextType<typeof RequestContext>;
12
+ static executeConversationStart(botContext: BotContext): Promise<FlowBuilderActionProps>;
13
+ static botonicInit(botContext: BotContext, contentID?: string): Promise<FlowBuilderActionProps>;
14
+ static prepareContentsToRender(botContext: BotContext, contents: FlowContent[]): Promise<FlowContent[]>;
15
+ private static isAiAgentContent;
16
+ private static processAiAgentContent;
17
+ protected getWebchatSettingsParams(botContext: BotContext): {
18
+ shouldSendWebchatSettings: boolean;
19
+ webchatSettingsParams?: WebchatSettingsProps;
20
+ };
21
+ render(): JSX.Element | JSX.Element[];
22
+ }
23
+ export declare class FlowBuilderMultichannelAction extends FlowBuilderAction {
24
+ render(): JSX.Element | JSX.Element[];
25
+ }
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlowBuilderMultichannelAction = exports.FlowBuilderAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const core_1 = require("@botonic/core");
7
+ const react_1 = require("@botonic/react");
8
+ const react_2 = tslib_1.__importDefault(require("react"));
9
+ const content_fields_1 = require("../content-fields");
10
+ const ai_agent_1 = require("../utils/ai-agent");
11
+ const get_flow_builder_plugin_1 = require("../utils/get-flow-builder-plugin");
12
+ const context_1 = require("./context");
13
+ const first_interaction_1 = require("./first-interaction");
14
+ const get_contents_1 = require("./get-contents");
15
+ class FlowBuilderAction extends react_2.default.Component {
16
+ static async executeConversationStart(botContext) {
17
+ const context = (0, context_1.getFlowBuilderActionContext)(botContext);
18
+ const contents = await (0, first_interaction_1.getContentsByFirstInteraction)(context);
19
+ const filteredContents = await FlowBuilderAction.prepareContentsToRender(botContext, contents);
20
+ return { contents: filteredContents };
21
+ }
22
+ static async botonicInit(botContext, contentID) {
23
+ const contents = await (0, get_contents_1.getContents)(botContext, contentID);
24
+ const contentsToRender = await FlowBuilderAction.prepareContentsToRender(botContext, contents);
25
+ return { contents: contentsToRender };
26
+ }
27
+ static async prepareContentsToRender(botContext, contents) {
28
+ for (const content of contents) {
29
+ if (FlowBuilderAction.isAiAgentContent(content)) {
30
+ await FlowBuilderAction.processAiAgentContent(botContext, contents);
31
+ continue;
32
+ }
33
+ await content.processContent(botContext);
34
+ if (content instanceof content_fields_1.FlowWhatsappRequestContactInfoNode) {
35
+ const flowBuilderPlugin = (0, get_flow_builder_plugin_1.getFlowBuilderPlugin)(botContext.plugins);
36
+ flowBuilderPlugin.cmsApi.setWhatsappRequestContactId(content.id);
37
+ }
38
+ }
39
+ return contents;
40
+ }
41
+ static isAiAgentContent(content) {
42
+ return (content instanceof content_fields_1.FlowAiAgent || content instanceof content_fields_1.FlowAiAgentRouter);
43
+ }
44
+ // TODO: Refactor this to be more generic and reusable
45
+ static async processAiAgentContent(botContext, contents) {
46
+ const splitContents = (0, ai_agent_1.splitAiAgentContents)(contents);
47
+ if (!splitContents) {
48
+ return;
49
+ }
50
+ if ('aiAgentRouterContent' in splitContents) {
51
+ const { aiAgentRouterContent, contentsBeforeAiAgentRouter } = splitContents;
52
+ await aiAgentRouterContent.processContent(botContext, contentsBeforeAiAgentRouter);
53
+ }
54
+ if ('aiAgentWorkerContent' in splitContents) {
55
+ const { aiAgentWorkerContent, contentsBeforeAiAgentWorker } = splitContents;
56
+ await aiAgentWorkerContent.processContent(botContext, contentsBeforeAiAgentWorker);
57
+ }
58
+ }
59
+ getWebchatSettingsParams(botContext) {
60
+ let { webchatSettingsParams } = this.props;
61
+ if (botContext.session.user.system_locale_updated) {
62
+ webchatSettingsParams = {
63
+ ...webchatSettingsParams,
64
+ user: {
65
+ ...webchatSettingsParams?.user,
66
+ system_locale: botContext.session.user.system_locale,
67
+ },
68
+ };
69
+ }
70
+ const shouldSendWebchatSettings = ((0, core_1.isWebchat)(botContext.session) || (0, core_1.isDev)(botContext.session)) &&
71
+ !!webchatSettingsParams;
72
+ return {
73
+ shouldSendWebchatSettings,
74
+ webchatSettingsParams,
75
+ };
76
+ }
77
+ render() {
78
+ const { contents } = this.props;
79
+ const botContext = this.context;
80
+ const { shouldSendWebchatSettings, webchatSettingsParams } = this.getWebchatSettingsParams(botContext);
81
+ 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(botContext))] }));
82
+ }
83
+ }
84
+ exports.FlowBuilderAction = FlowBuilderAction;
85
+ FlowBuilderAction.contextType = react_1.RequestContext;
86
+ class FlowBuilderMultichannelAction extends FlowBuilderAction {
87
+ render() {
88
+ const { contents } = this.props;
89
+ const botContext = this.context;
90
+ const { shouldSendWebchatSettings, webchatSettingsParams } = this.getWebchatSettingsParams(botContext);
91
+ 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(botContext))] }));
92
+ }
93
+ }
94
+ exports.FlowBuilderMultichannelAction = FlowBuilderMultichannelAction;
95
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { FlowContent } from '../content-fields';
2
+ import type { FlowBuilderContext } from './context';
3
+ export declare function getContentsByPayload(context: FlowBuilderContext): Promise<FlowContent[]>;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContentsByPayload = getContentsByPayload;
4
+ const core_1 = require("@botonic/core");
5
+ const uuid_1 = require("uuid");
6
+ const constants_1 = require("../constants");
7
+ const tracking_1 = require("../tracking");
8
+ async function getContentsByPayload(context) {
9
+ const { cmsApi, flowBuilderPlugin, request, contentID } = context;
10
+ if (request.input.payload?.startsWith(constants_1.AGENT_RATING_PAYLOAD)) {
11
+ return await resolveRatingPayload(context);
12
+ }
13
+ if (request.input.payload?.startsWith(constants_1.PUSH_FLOW_PAYLOAD)) {
14
+ return await resolvePushFlowPayload(context);
15
+ }
16
+ const id = contentID
17
+ ? cmsApi.getNodeByContentID(contentID)?.id
18
+ : request.input.payload;
19
+ const targetNode = id ? cmsApi.getNodeById(id) : undefined;
20
+ if (targetNode) {
21
+ return await flowBuilderPlugin.getContentsByNode(targetNode);
22
+ }
23
+ return [];
24
+ }
25
+ async function resolveRatingPayload(context) {
26
+ const { cmsApi, flowBuilderPlugin, request } = context;
27
+ if (!request.input.payload) {
28
+ return [];
29
+ }
30
+ const { target, text, value, possibleOptions, possibleValues } = flowBuilderPlugin.getRatingSubmittedInfo(request.input.payload);
31
+ if (request.session._hubtype_case_id) {
32
+ const event = {
33
+ action: core_1.EventAction.FeedbackCase,
34
+ feedbackTargetId: request.session._hubtype_case_id,
35
+ feedbackGroupId: (0, uuid_1.v7)().toString(),
36
+ possibleOptions,
37
+ possibleValues,
38
+ option: text,
39
+ value,
40
+ };
41
+ await (0, core_1.storeCaseRating)(request.session, value);
42
+ await (0, tracking_1.trackEvent)(request, core_1.EventAction.FeedbackCase, event);
43
+ }
44
+ const targetNode = target
45
+ ? cmsApi.getNodeById(target.id)
46
+ : undefined;
47
+ if (targetNode) {
48
+ return await flowBuilderPlugin.getContentsByNode(targetNode);
49
+ }
50
+ return [];
51
+ }
52
+ async function resolvePushFlowPayload(context) {
53
+ const { cmsApi, flowBuilderPlugin, request } = context;
54
+ if (!request.input.payload) {
55
+ return [];
56
+ }
57
+ const parts = request.input.payload.split(constants_1.SEPARATOR);
58
+ const pushFlowId = parts.length > 1 ? parts[1] : '';
59
+ if (!pushFlowId) {
60
+ return [];
61
+ }
62
+ try {
63
+ const pushFlowNode = cmsApi.getNodeByCampaignId(pushFlowId);
64
+ if (!pushFlowNode) {
65
+ return [];
66
+ }
67
+ return await flowBuilderPlugin.getContentsByNode(pushFlowNode);
68
+ }
69
+ catch {
70
+ // Campaign not found - return empty to trigger fallback
71
+ return [];
72
+ }
73
+ }
74
+ //# sourceMappingURL=payload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/action/payload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { BotContext } from '@botonic/core';
2
+ import { type HtBotActionNode, type HtCaptureUserInputNode, type HtFlowBuilderData, type HtFlowWebview, type HtKeywordNode, type HtNodeComponent, type HtNodeLink, type HtNodeWithContent, type HtRatingButton, type HtRatingNode, type HtSmartIntentNode, type HtWhatsappRequestContactInfoNode } from './content-fields/hubtype-fields';
3
+ import { type FlowBuilderApiOptions } from './types';
4
+ export declare class FlowBuilderApi {
5
+ url: string;
6
+ flowUrl: string;
7
+ flow: HtFlowBuilderData;
8
+ botContext: BotContext;
9
+ private constructor();
10
+ static create(options: FlowBuilderApiOptions): Promise<FlowBuilderApi>;
11
+ private getFlow;
12
+ private updateSessionWithUserInfo;
13
+ getNodeByFlowId(id: string): HtNodeWithContent;
14
+ getNodeByCampaignId<T extends HtNodeComponent>(id: string): T;
15
+ getNodeById<T extends HtNodeComponent>(id: string): T;
16
+ getRatingNodeByButtonId(id: string): HtRatingNode;
17
+ getRatingButtonById(ratingNode: HtRatingNode, id: string): HtRatingButton;
18
+ getNodeByContentID(contentID: string): HtNodeComponent;
19
+ getStartNode(): HtNodeWithContent;
20
+ getFallbackNode(alternate: boolean): HtNodeWithContent;
21
+ getSmartIntentNodes(): HtSmartIntentNode[];
22
+ getKeywordNodes(): HtKeywordNode[];
23
+ getPayload(target?: HtNodeLink): string | undefined;
24
+ isBotAction(id: string): boolean;
25
+ private isUUID;
26
+ createPayloadWithParams(botActionNode: HtBotActionNode): string;
27
+ private getFollowUpContentID;
28
+ getFlowName(flowId: string): string;
29
+ getCampaignFlowName(campaignId: string): string;
30
+ getStartNodeAiAgentFlow(): HtNodeWithContent | undefined;
31
+ isAiAgentEnabled(): boolean;
32
+ getWebviewById(id: string): HtFlowWebview | undefined;
33
+ shouldCaptureUserInput(): boolean;
34
+ getCaptureUserInputId(): string | undefined;
35
+ setCaptureUserInputId(id: string): void;
36
+ removeCaptureUserInputId(): void;
37
+ setUserExtraDataVariable(key: string, value: string): void;
38
+ getCaptureUserInputNode(): HtCaptureUserInputNode | undefined;
39
+ getSessionWhatsappRequestContactId(): string | undefined;
40
+ setWhatsappRequestContactId(id: string): void;
41
+ removeWhatsappRequestContactId(): void;
42
+ getWhatsappRequestContactInfoNode(): HtWhatsappRequestContactInfoNode | undefined;
43
+ getResolvedLocale(): string;
44
+ isPushFlowPayload(payload?: string): boolean;
45
+ }