@botonic/plugin-flow-builder 0.57.0-rslib-esm.2 → 0.57.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 +14 -0
  72. package/lib/cjs/content-fields/flow-contact-reasons-conditional.js +65 -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 +16 -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 +14 -0
  367. package/lib/esm/content-fields/flow-contact-reasons-conditional.js +65 -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 +16 -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 +90 -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 +18 -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
@@ -1,35 +0,0 @@
1
- import { splitAiAgentContents } from "../utils/ai-agent.js";
2
-
3
-
4
-
5
- async function getContentsByAiAgentFromUserInput({ cmsApi, flowBuilderPlugin, request }) {
6
- const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow();
7
- const isAiAgentEnabled = cmsApi.isAiAgentEnabled();
8
- if (!startNodeAiAgentFlow || !isAiAgentEnabled) {
9
- return [];
10
- }
11
- const contents = await flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow);
12
- const splitContents = splitAiAgentContents(contents);
13
- if (!splitContents) {
14
- return [];
15
- }
16
- if ('aiAgentRouterContent' in splitContents) {
17
- const { aiAgentRouterContent, contentsBeforeAiAgentRouter } = splitContents;
18
- const aiAgentResponse = await aiAgentRouterContent.resolveAIAgentResponse(request, contentsBeforeAiAgentRouter);
19
- if (!aiAgentResponse || aiAgentResponse.exit) {
20
- return [];
21
- }
22
- }
23
- if ('aiAgentWorkerContent' in splitContents) {
24
- const { aiAgentWorkerContent, contentsBeforeAiAgentWorker } = splitContents;
25
- const aiAgentResponse = await aiAgentWorkerContent.resolveAIAgentResponse(request, contentsBeforeAiAgentWorker);
26
- if (!aiAgentResponse || aiAgentResponse.exit) {
27
- return [];
28
- }
29
- }
30
- return contents;
31
- }
32
-
33
- export { getContentsByAiAgentFromUserInput };
34
-
35
- //# sourceMappingURL=ai-agent-from-user-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action/ai-agent-from-user-input.js","sources":["../../src/action/ai-agent-from-user-input.ts"],"sourcesContent":["import type { FlowContent } from '../content-fields/index'\nimport { splitAiAgentContents } from '../utils/ai-agent'\nimport type { FlowBuilderContext } from './context'\n\nexport async function getContentsByAiAgentFromUserInput({\n cmsApi,\n flowBuilderPlugin,\n request,\n}: FlowBuilderContext): Promise<FlowContent[]> {\n const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow()\n const isAiAgentEnabled = cmsApi.isAiAgentEnabled()\n if (!startNodeAiAgentFlow || !isAiAgentEnabled) {\n return []\n }\n\n const contents =\n await flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow)\n\n const splitContents = splitAiAgentContents(contents)\n\n if (!splitContents) {\n return []\n }\n\n if ('aiAgentRouterContent' in splitContents) {\n const { aiAgentRouterContent, contentsBeforeAiAgentRouter } = splitContents\n const aiAgentResponse = await aiAgentRouterContent.resolveAIAgentResponse(\n request,\n contentsBeforeAiAgentRouter\n )\n\n if (!aiAgentResponse || aiAgentResponse.exit) {\n return []\n }\n }\n\n if ('aiAgentWorkerContent' in splitContents) {\n const { aiAgentWorkerContent, contentsBeforeAiAgentWorker } = splitContents\n const aiAgentResponse = await aiAgentWorkerContent.resolveAIAgentResponse(\n request,\n contentsBeforeAiAgentWorker\n )\n\n if (!aiAgentResponse || aiAgentResponse.exit) {\n return []\n }\n }\n\n return contents\n}\n"],"names":["splitAiAgentContents","getContentsByAiAgentFromUserInput","cmsApi","flowBuilderPlugin","request","startNodeAiAgentFlow","isAiAgentEnabled","contents","splitContents","aiAgentRouterContent","contentsBeforeAiAgentRouter","aiAgentResponse","aiAgentWorkerContent","contentsBeforeAiAgentWorker"],"mappings":";;;AACwD;AAGjD,eAAeC,iCAAiCA,CAAC,EACtDC,MAAM,EACNC,iBAAiB,EACjBC,OAAO,EACY;IACnB,MAAMC,uBAAuBH,OAAO,uBAAuB;IAC3D,MAAMI,mBAAmBJ,OAAO,gBAAgB;IAChD,IAAI,CAACG,wBAAwB,CAACC,kBAAkB;QAC9C,OAAO,EAAE;IACX;IAEA,MAAMC,WACJ,MAAMJ,kBAAkB,iBAAiB,CAACE;IAE5C,MAAMG,gBAAgBR,oBAAoBA,CAACO;IAE3C,IAAI,CAACC,eAAe;QAClB,OAAO,EAAE;IACX;IAEA,IAAI,0BAA0BA,eAAe;QAC3C,MAAM,EAAEC,oBAAoB,EAAEC,2BAA2B,EAAE,GAAGF;QAC9D,MAAMG,kBAAkB,MAAMF,qBAAqB,sBAAsB,CACvEL,SACAM;QAGF,IAAI,CAACC,mBAAmBA,gBAAgB,IAAI,EAAE;YAC5C,OAAO,EAAE;QACX;IACF;IAEA,IAAI,0BAA0BH,eAAe;QAC3C,MAAM,EAAEI,oBAAoB,EAAEC,2BAA2B,EAAE,GAAGL;QAC9D,MAAMG,kBAAkB,MAAMC,qBAAqB,sBAAsB,CACvER,SACAS;QAGF,IAAI,CAACF,mBAAmBA,gBAAgB,IAAI,EAAE;YAC5C,OAAO,EAAE;QACX;IACF;IAEA,OAAOJ;AACT"}
@@ -1,11 +0,0 @@
1
- import type { BotContext } from '@botonic/core';
2
- import type { FlowBuilderApi } from '../api.js';
3
- import type BotonicPluginFlowBuilder from '../index.js';
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;
@@ -1,20 +0,0 @@
1
- import { getFlowBuilderPlugin } from "../utils/get-flow-builder-plugin.js";
2
-
3
-
4
-
5
- function getFlowBuilderActionContext(request, contentID) {
6
- const flowBuilderPlugin = 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
-
18
- export { getFlowBuilderActionContext };
19
-
20
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action/context.js","sources":["../../src/action/context.ts"],"sourcesContent":["import type { BotContext } from '@botonic/core'\n\nimport type { FlowBuilderApi } from '../api'\nimport type BotonicPluginFlowBuilder from '../index'\nimport { getFlowBuilderPlugin } from '../utils/get-flow-builder-plugin'\n\nexport interface FlowBuilderContext {\n cmsApi: FlowBuilderApi\n flowBuilderPlugin: BotonicPluginFlowBuilder\n request: BotContext\n resolvedLocale: string\n contentID?: string\n}\n\nexport function getFlowBuilderActionContext(\n request: BotContext,\n contentID?: string\n): FlowBuilderContext {\n const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)\n const cmsApi = flowBuilderPlugin.cmsApi\n const resolvedLocale = flowBuilderPlugin.cmsApi.getResolvedLocale()\n return {\n cmsApi,\n flowBuilderPlugin,\n request,\n resolvedLocale,\n contentID,\n }\n}\n"],"names":["getFlowBuilderPlugin","getFlowBuilderActionContext","request","contentID","flowBuilderPlugin","cmsApi","resolvedLocale"],"mappings":";;;AAIuE;AAUhE,SAASC,2BAA2BA,CACzCC,OAAmB,EACnBC,SAAkB;IAElB,MAAMC,oBAAoBJ,oBAAoBA,CAACE,QAAQ,OAAO;IAC9D,MAAMG,SAASD,kBAAkB,MAAM;IACvC,MAAME,iBAAiBF,kBAAkB,MAAM,CAAC,iBAAiB;IACjE,OAAO;QACLC;QACAD;QACAF;QACAI;QACAH;IACF;AACF"}
@@ -1,3 +0,0 @@
1
- import type { FlowContent } from '../content-fields/index.js';
2
- import type { FlowBuilderContext } from './context.js';
3
- export declare function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, }: FlowBuilderContext): Promise<FlowContent[]>;
@@ -1,41 +0,0 @@
1
- import { EventAction } from "@botonic/core";
2
- import { getCommonFlowContentEventArgsForContentId, trackEvent } from "../tracking.js";
3
-
4
-
5
-
6
-
7
-
8
- async function getContentsByFallback({ cmsApi, flowBuilderPlugin, request }) {
9
- const fallbackNode = await getFallbackNode(cmsApi, request);
10
- const fallbackContents = await flowBuilderPlugin.getContentsByNode(fallbackNode);
11
- return fallbackContents;
12
- }
13
- async function getFallbackNode(cmsApi, request) {
14
- if (request.session.user.extra_data?.isFirstFallbackOption === undefined) {
15
- request.session.user.extra_data = {
16
- ...request.session.user.extra_data,
17
- isFirstFallbackOption: true
18
- };
19
- }
20
- const isFirstFallbackOption = !!request.session.user.extra_data.isFirstFallbackOption;
21
- const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption);
22
- request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption;
23
- const { flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(request, fallbackNode.id);
24
- const event = {
25
- action: EventAction.Fallback,
26
- flowId,
27
- flowName,
28
- flowNodeId,
29
- flowNodeContentId,
30
- userInput: request.input.data,
31
- fallbackOut: isFirstFallbackOption ? 1 : 2,
32
- fallbackMessageId: request.input.message_id
33
- };
34
- const { action, ...eventArgs } = event;
35
- await trackEvent(request, action, eventArgs);
36
- return fallbackNode;
37
- }
38
-
39
- export { getContentsByFallback };
40
-
41
- //# sourceMappingURL=fallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action/fallback.js","sources":["../../src/action/fallback.ts"],"sourcesContent":["import { EventAction, type EventFallback } from '@botonic/core'\nimport type { ActionRequest } from '@botonic/react'\n\nimport type { FlowBuilderApi } from '../api'\nimport type { FlowContent } from '../content-fields'\nimport {\n getCommonFlowContentEventArgsForContentId,\n trackEvent,\n} from '../tracking'\nimport type { FlowBuilderContext } from './context'\n\nexport async function getContentsByFallback({\n cmsApi,\n flowBuilderPlugin,\n request,\n}: FlowBuilderContext): Promise<FlowContent[]> {\n const fallbackNode = await getFallbackNode(cmsApi, request)\n const fallbackContents =\n await flowBuilderPlugin.getContentsByNode(fallbackNode)\n\n return fallbackContents\n}\n\nasync function getFallbackNode(cmsApi: FlowBuilderApi, request: ActionRequest) {\n if (request.session.user.extra_data?.isFirstFallbackOption === undefined) {\n request.session.user.extra_data = {\n ...request.session.user.extra_data,\n isFirstFallbackOption: true,\n }\n }\n\n const isFirstFallbackOption =\n !!request.session.user.extra_data.isFirstFallbackOption\n const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption)\n request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption\n\n const { flowId, flowName, flowNodeId, flowNodeContentId } =\n getCommonFlowContentEventArgsForContentId(request, fallbackNode.id)\n\n const event: EventFallback = {\n action: EventAction.Fallback,\n flowId,\n flowName,\n flowNodeId,\n flowNodeContentId,\n userInput: request.input.data as string,\n fallbackOut: isFirstFallbackOption ? 1 : 2,\n fallbackMessageId: request.input.message_id,\n }\n const { action, ...eventArgs } = event\n\n await trackEvent(request, action, eventArgs)\n\n return fallbackNode\n}\n"],"names":["EventAction","getCommonFlowContentEventArgsForContentId","trackEvent","getContentsByFallback","cmsApi","flowBuilderPlugin","request","fallbackNode","getFallbackNode","fallbackContents","undefined","isFirstFallbackOption","flowId","flowName","flowNodeId","flowNodeContentId","event","action","eventArgs"],"mappings":";;;;;AAA+D;AAQ3C;AAGb,eAAeG,qBAAqBA,CAAC,EAC1CC,MAAM,EACNC,iBAAiB,EACjBC,OAAO,EACY;IACnB,MAAMC,eAAe,MAAMC,eAAeA,CAACJ,QAAQE;IACnD,MAAMG,mBACJ,MAAMJ,kBAAkB,iBAAiB,CAACE;IAE5C,OAAOE;AACT;AAEA,eAAeD,eAAeA,CAACJ,MAAsB,EAAEE,OAAsB;IAC3E,IAAIA,QAAQ,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0BI,WAAW;QACxEJ,QAAQ,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG;YAChC,GAAGA,QAAQ,OAAO,CAAC,IAAI,CAAC,UAAU;YAClC,uBAAuB;QACzB;IACF;IAEA,MAAMK,wBACJ,CAAC,CAACL,QAAQ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB;IACzD,MAAMC,eAAeH,OAAO,eAAe,CAACO;IAC5CL,QAAQ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,CAACK;IAEzD,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,iBAAiB,EAAE,GACvDd,yCAAyCA,CAACK,SAASC,aAAa,EAAE;IAEpE,MAAMS,QAAuB;QAC3B,QAAQhB,oBAAoB;QAC5BY;QACAC;QACAC;QACAC;QACA,WAAWT,QAAQ,KAAK,CAAC,IAAI;QAC7B,aAAaK,wBAAwB,IAAI;QACzC,mBAAmBL,QAAQ,KAAK,CAAC,UAAU;IAC7C;IACA,MAAM,EAAEW,MAAM,EAAE,GAAGC,WAAW,GAAGF;IAEjC,MAAMd,UAAUA,CAACI,SAASW,QAAQC;IAElC,OAAOX;AACT"}
@@ -1,3 +0,0 @@
1
- import { type FlowContent } from '../content-fields/index.js';
2
- import type { FlowBuilderContext } from './context.js';
3
- export declare function getContentsByFirstInteraction(context: FlowBuilderContext): Promise<FlowContent[]>;
@@ -1,100 +0,0 @@
1
- import { MAIN_FLOW_NAME } from "../constants.js";
2
- import { FlowAiAgent, FlowAiAgentRouter, FlowBotAction } from "../content-fields/index.js";
3
- import { inputHasTextOrTranscript } from "../utils/input.js";
4
- import { getContentsByAiAgentFromUserInput } from "./ai-agent-from-user-input.js";
5
- import { getContentsByPayload } from "./payload.js";
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
- async function getContentsByFirstInteraction(context) {
18
- const { contentID, flowBuilderPlugin, request } = context;
19
- /*
20
- * If the contentID is provided, the firstInteractionContents are obtained even if they are not used
21
- * because when obtain this firstInteractionContents is when the session.flow_thread_id is updated.
22
- * This is needed for example when send a WhatsApp campaign is sent,
23
- * the bot not receives the message because this message is sent directly by the backend
24
- * we expect the bot to respond only with the contents of the contentID and not with the firstInteractionContents.
25
- */ const firstInteractionContents = await flowBuilderPlugin.getStartContents();
26
- if (contentID) {
27
- try {
28
- const contentsByContentID = await flowBuilderPlugin.getContentsByContentID(contentID);
29
- if (contentsByContentID.length > 0) {
30
- return contentsByContentID;
31
- }
32
- } catch (_error) {
33
- console.warn(`The contentID ${contentID} is not found. Returning the firstInteractionContents`);
34
- }
35
- }
36
- // Bot actions and AI agents already consume the user input. Matching
37
- // keywords/intents/KB/AI-agent-from-user-input on top would duplicate replies
38
- // (e.g. Main start → Go to flow → AI Agents).
39
- if (startContentsAlreadyHandleUserInput(firstInteractionContents)) {
40
- return firstInteractionContents;
41
- }
42
- if (request.input.nluResolution || inputHasTextOrTranscript(request.input)) {
43
- const contentsByUserInput = await getContentsByUserInput(context);
44
- return [
45
- ...firstInteractionContents,
46
- ...contentsByUserInput
47
- ];
48
- }
49
- return firstInteractionContents;
50
- }
51
- function startContentsAlreadyHandleUserInput(contents) {
52
- if (contents.at(-1) instanceof FlowBotAction) {
53
- return true;
54
- }
55
- // To avoid duplicated ai agent response, we check if there is an ai agent or ai agent router in the first interaction contents.
56
- return contents.some((content)=>content instanceof FlowAiAgent || content instanceof FlowAiAgentRouter);
57
- }
58
- async function getContentsByUserInput(context) {
59
- const { cmsApi, flowBuilderPlugin, request, resolvedLocale } = context;
60
- const payloadByNlu = request.input.nluResolution?.payload;
61
- if (payloadByNlu) {
62
- request.input.payload = payloadByNlu;
63
- const conversationStartId = getConversationStartId(cmsApi);
64
- if (request.input.payload === conversationStartId) {
65
- return [];
66
- }
67
- const contentsByKeywordsOrIntents = await getContentsByPayload({
68
- cmsApi,
69
- flowBuilderPlugin,
70
- request,
71
- resolvedLocale
72
- });
73
- const hasRepeatedContent = await checkRepeatedContents(flowBuilderPlugin, contentsByKeywordsOrIntents);
74
- if (hasRepeatedContent) {
75
- return [];
76
- }
77
- if (contentsByKeywordsOrIntents.length > 0) {
78
- return contentsByKeywordsOrIntents;
79
- }
80
- }
81
- if (!flowBuilderPlugin.disableAIAgentInFirstInteraction) {
82
- const contentsByAiAgent = await getContentsByAiAgentFromUserInput(context);
83
- return contentsByAiAgent;
84
- }
85
- return [];
86
- }
87
- function getConversationStartId(cmsApi) {
88
- const conversationStartId = cmsApi.flow.flows.find((flow)=>flow.name === MAIN_FLOW_NAME)?.start_node_id;
89
- return conversationStartId;
90
- }
91
- async function checkRepeatedContents(flowBuilderPlugin, contentsByKeywordsOrIntents) {
92
- const startContents = await flowBuilderPlugin.getStartContents();
93
- const contentIds = new Set(contentsByKeywordsOrIntents.map((content)=>content.id));
94
- const hasRepeatedContent = startContents.some((content)=>contentIds.has(content.id));
95
- return hasRepeatedContent;
96
- }
97
-
98
- export { getContentsByFirstInteraction };
99
-
100
- //# sourceMappingURL=first-interaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action/first-interaction.js","sources":["../../src/action/first-interaction.ts"],"sourcesContent":["import type { FlowBuilderApi } from '../api'\nimport { MAIN_FLOW_NAME } from '../constants'\nimport {\n FlowAiAgent,\n FlowAiAgentRouter,\n FlowBotAction,\n type FlowContent,\n} from '../content-fields'\nimport type BotonicPluginFlowBuilder from '../index'\nimport { inputHasTextOrTranscript } from '../utils/input'\nimport { getContentsByAiAgentFromUserInput } from './ai-agent-from-user-input'\nimport type { FlowBuilderContext } from './context'\nimport { getContentsByPayload } from './payload'\n\nexport async function getContentsByFirstInteraction(\n context: FlowBuilderContext\n): Promise<FlowContent[]> {\n const { contentID, flowBuilderPlugin, request } = context\n\n /*\n * If the contentID is provided, the firstInteractionContents are obtained even if they are not used\n * because when obtain this firstInteractionContents is when the session.flow_thread_id is updated.\n * This is needed for example when send a WhatsApp campaign is sent,\n * the bot not receives the message because this message is sent directly by the backend\n * we expect the bot to respond only with the contents of the contentID and not with the firstInteractionContents.\n */\n const firstInteractionContents = await flowBuilderPlugin.getStartContents()\n\n if (contentID) {\n try {\n const contentsByContentID =\n await flowBuilderPlugin.getContentsByContentID(contentID)\n\n if (contentsByContentID.length > 0) {\n return contentsByContentID\n }\n } catch (_error) {\n console.warn(\n `The contentID ${contentID} is not found. Returning the firstInteractionContents`\n )\n }\n }\n\n // Bot actions and AI agents already consume the user input. Matching\n // keywords/intents/KB/AI-agent-from-user-input on top would duplicate replies\n // (e.g. Main start → Go to flow → AI Agents).\n if (startContentsAlreadyHandleUserInput(firstInteractionContents)) {\n return firstInteractionContents\n }\n\n if (request.input.nluResolution || inputHasTextOrTranscript(request.input)) {\n const contentsByUserInput = await getContentsByUserInput(context)\n\n return [...firstInteractionContents, ...contentsByUserInput]\n }\n\n return firstInteractionContents\n}\n\nfunction startContentsAlreadyHandleUserInput(contents: FlowContent[]): boolean {\n if (contents.at(-1) instanceof FlowBotAction) {\n return true\n }\n\n // To avoid duplicated ai agent response, we check if there is an ai agent or ai agent router in the first interaction contents.\n return contents.some(\n content =>\n content instanceof FlowAiAgent || content instanceof FlowAiAgentRouter\n )\n}\n\nasync function getContentsByUserInput(\n context: FlowBuilderContext\n): Promise<FlowContent[]> {\n const { cmsApi, flowBuilderPlugin, request, resolvedLocale } = context\n const payloadByNlu = request.input.nluResolution?.payload\n\n if (payloadByNlu) {\n request.input.payload = payloadByNlu\n const conversationStartId = getConversationStartId(cmsApi)\n\n if (request.input.payload === conversationStartId) {\n return []\n }\n\n const contentsByKeywordsOrIntents = await getContentsByPayload({\n cmsApi,\n flowBuilderPlugin,\n request,\n resolvedLocale,\n })\n\n const hasRepeatedContent = await checkRepeatedContents(\n flowBuilderPlugin,\n contentsByKeywordsOrIntents\n )\n\n if (hasRepeatedContent) {\n return []\n }\n\n if (contentsByKeywordsOrIntents.length > 0) {\n return contentsByKeywordsOrIntents\n }\n }\n\n if (!flowBuilderPlugin.disableAIAgentInFirstInteraction) {\n const contentsByAiAgent = await getContentsByAiAgentFromUserInput(context)\n return contentsByAiAgent\n }\n\n return []\n}\n\nfunction getConversationStartId(cmsApi: FlowBuilderApi) {\n const conversationStartId = cmsApi.flow.flows.find(\n flow => flow.name === MAIN_FLOW_NAME\n )?.start_node_id\n\n return conversationStartId\n}\n\nasync function checkRepeatedContents(\n flowBuilderPlugin: BotonicPluginFlowBuilder,\n contentsByKeywordsOrIntents: FlowContent[]\n) {\n const startContents = await flowBuilderPlugin.getStartContents()\n const contentIds = new Set(\n contentsByKeywordsOrIntents.map(content => content.id)\n )\n const hasRepeatedContent = startContents.some(content =>\n contentIds.has(content.id)\n )\n\n return hasRepeatedContent\n}\n"],"names":["MAIN_FLOW_NAME","FlowAiAgent","FlowAiAgentRouter","FlowBotAction","inputHasTextOrTranscript","getContentsByAiAgentFromUserInput","getContentsByPayload","getContentsByFirstInteraction","context","contentID","flowBuilderPlugin","request","firstInteractionContents","contentsByContentID","_error","console","startContentsAlreadyHandleUserInput","contentsByUserInput","getContentsByUserInput","contents","content","cmsApi","resolvedLocale","payloadByNlu","conversationStartId","getConversationStartId","contentsByKeywordsOrIntents","hasRepeatedContent","checkRepeatedContents","contentsByAiAgent","flow","startContents","contentIds","Set"],"mappings":";;;;;;;;;;;AAC6C;AAMnB;AAE+B;AACqB;AAE9B;AAEzC,eAAeO,6BAA6BA,CACjDC,OAA2B;IAE3B,MAAM,EAAEC,SAAS,EAAEC,iBAAiB,EAAEC,OAAO,EAAE,GAAGH;IAElD;;;;;;GAMC,GACD,MAAMI,2BAA2B,MAAMF,kBAAkB,gBAAgB;IAEzE,IAAID,WAAW;QACb,IAAI;YACF,MAAMI,sBACJ,MAAMH,kBAAkB,sBAAsB,CAACD;YAEjD,IAAII,oBAAoB,MAAM,GAAG,GAAG;gBAClC,OAAOA;YACT;QACF,EAAE,OAAOC,QAAQ;YACfC,QAAQ,IAAI,CACV,CAAC,cAAc,EAAEN,UAAU,qDAAqD,CAAC;QAErF;IACF;IAEA,qEAAqE;IACrE,8EAA8E;IAC9E,8CAA8C;IAC9C,IAAIO,mCAAmCA,CAACJ,2BAA2B;QACjE,OAAOA;IACT;IAEA,IAAID,QAAQ,KAAK,CAAC,aAAa,IAAIP,wBAAwBA,CAACO,QAAQ,KAAK,GAAG;QAC1E,MAAMM,sBAAsB,MAAMC,sBAAsBA,CAACV;QAEzD,OAAO;eAAII;eAA6BK;SAAoB;IAC9D;IAEA,OAAOL;AACT;AAEA,SAASI,mCAAmCA,CAACG,QAAuB;IAClE,IAAIA,SAAS,EAAE,CAAC,CAAC,cAAchB,aAAaA,EAAE;QAC5C,OAAO;IACT;IAEA,gIAAgI;IAChI,OAAOgB,SAAS,IAAI,CAClBC,CAAAA,UACEA,mBAAmBnB,WAAWA,IAAImB,mBAAmBlB,iBAAiBA;AAE5E;AAEA,eAAegB,sBAAsBA,CACnCV,OAA2B;IAE3B,MAAM,EAAEa,MAAM,EAAEX,iBAAiB,EAAEC,OAAO,EAAEW,cAAc,EAAE,GAAGd;IAC/D,MAAMe,eAAeZ,QAAQ,KAAK,CAAC,aAAa,EAAE;IAElD,IAAIY,cAAc;QAChBZ,QAAQ,KAAK,CAAC,OAAO,GAAGY;QACxB,MAAMC,sBAAsBC,sBAAsBA,CAACJ;QAEnD,IAAIV,QAAQ,KAAK,CAAC,OAAO,KAAKa,qBAAqB;YACjD,OAAO,EAAE;QACX;QAEA,MAAME,8BAA8B,MAAMpB,oBAAoBA,CAAC;YAC7De;YACAX;YACAC;YACAW;QACF;QAEA,MAAMK,qBAAqB,MAAMC,qBAAqBA,CACpDlB,mBACAgB;QAGF,IAAIC,oBAAoB;YACtB,OAAO,EAAE;QACX;QAEA,IAAID,4BAA4B,MAAM,GAAG,GAAG;YAC1C,OAAOA;QACT;IACF;IAEA,IAAI,CAAChB,kBAAkB,gCAAgC,EAAE;QACvD,MAAMmB,oBAAoB,MAAMxB,iCAAiCA,CAACG;QAClE,OAAOqB;IACT;IAEA,OAAO,EAAE;AACX;AAEA,SAASJ,sBAAsBA,CAACJ,MAAsB;IACpD,MAAMG,sBAAsBH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAChDS,CAAAA,OAAQA,KAAK,IAAI,KAAK9B,cAAcA,GACnC;IAEH,OAAOwB;AACT;AAEA,eAAeI,qBAAqBA,CAClClB,iBAA2C,EAC3CgB,2BAA0C;IAE1C,MAAMK,gBAAgB,MAAMrB,kBAAkB,gBAAgB;IAC9D,MAAMsB,aAAa,IAAIC,IACrBP,4BAA4B,GAAG,CAACN,CAAAA,UAAWA,QAAQ,EAAE;IAEvD,MAAMO,qBAAqBI,cAAc,IAAI,CAACX,CAAAA,UAC5CY,WAAW,GAAG,CAACZ,QAAQ,EAAE;IAG3B,OAAOO;AACT"}
@@ -1,3 +0,0 @@
1
- import { type BotContext } from '@botonic/core';
2
- import type { FlowContent } from '../content-fields/index.js';
3
- export declare function getContents(botContext: BotContext, contentID?: string): Promise<FlowContent[]>;
@@ -1,56 +0,0 @@
1
- import { INPUT } from "@botonic/core";
2
- import { EMPTY_PAYLOAD } from "../constants.js";
3
- import { inputHasTextOrTranscript } from "../utils/input.js";
4
- import { getContentsByAiAgentFromUserInput } from "./ai-agent-from-user-input.js";
5
- import { getFlowBuilderActionContext } from "./context.js";
6
- import { getContentsByFallback } from "./fallback.js";
7
- import { getContentsByFirstInteraction } from "./first-interaction.js";
8
- import { getContentsByPayload } from "./payload.js";
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
- async function getContents(botContext, contentID) {
27
- const context = getFlowBuilderActionContext(botContext, contentID);
28
- if (botContext.session.is_first_interaction) {
29
- return await getContentsByFirstInteraction(context);
30
- }
31
- // TODO: Add needed logic when we can define contents for multi locale queue position message
32
- if (botContext.input.type === INPUT.EVENT_QUEUE_POSITION_CHANGED) {
33
- return [];
34
- }
35
- if (botContext.input.payload?.startsWith(EMPTY_PAYLOAD)) {
36
- botContext.input.payload = undefined;
37
- }
38
- if (botContext.input.payload || contentID) {
39
- const contentsByPayload = await getContentsByPayload(context);
40
- if (contentsByPayload.length > 0) {
41
- return contentsByPayload;
42
- }
43
- return await getContentsByFallback(context);
44
- }
45
- if (inputHasTextOrTranscript(botContext.input)) {
46
- const aiAgentContents = await getContentsByAiAgentFromUserInput(context);
47
- if (aiAgentContents.length > 0) {
48
- return aiAgentContents;
49
- }
50
- }
51
- return await getContentsByFallback(context);
52
- }
53
-
54
- export { getContents };
55
-
56
- //# sourceMappingURL=get-contents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action/get-contents.js","sources":["../../src/action/get-contents.ts"],"sourcesContent":["import { type BotContext, INPUT } from '@botonic/core'\nimport { EMPTY_PAYLOAD } from '../constants'\nimport type { FlowContent } from '../content-fields'\nimport { inputHasTextOrTranscript } from '../utils/input'\nimport { getContentsByAiAgentFromUserInput } from './ai-agent-from-user-input'\nimport { getFlowBuilderActionContext } from './context'\nimport { getContentsByFallback } from './fallback'\nimport { getContentsByFirstInteraction } from './first-interaction'\nimport { getContentsByPayload } from './payload'\n\nexport async function getContents(\n botContext: BotContext,\n contentID?: string\n): Promise<FlowContent[]> {\n const context = getFlowBuilderActionContext(botContext, contentID)\n\n if (botContext.session.is_first_interaction) {\n return await getContentsByFirstInteraction(context)\n }\n // TODO: Add needed logic when we can define contents for multi locale queue position message\n if (botContext.input.type === INPUT.EVENT_QUEUE_POSITION_CHANGED) {\n return []\n }\n\n if (botContext.input.payload?.startsWith(EMPTY_PAYLOAD)) {\n botContext.input.payload = undefined\n }\n\n if (botContext.input.payload || contentID) {\n const contentsByPayload = await getContentsByPayload(context)\n if (contentsByPayload.length > 0) {\n return contentsByPayload\n }\n\n return await getContentsByFallback(context)\n }\n\n if (inputHasTextOrTranscript(botContext.input)) {\n const aiAgentContents = await getContentsByAiAgentFromUserInput(context)\n if (aiAgentContents.length > 0) {\n return aiAgentContents\n }\n }\n\n return await getContentsByFallback(context)\n}\n"],"names":["INPUT","EMPTY_PAYLOAD","inputHasTextOrTranscript","getContentsByAiAgentFromUserInput","getFlowBuilderActionContext","getContentsByFallback","getContentsByFirstInteraction","getContentsByPayload","getContents","botContext","contentID","context","undefined","contentsByPayload","aiAgentContents"],"mappings":";;;;;;;;;;;;;;;;;AAAsD;AACV;AAEa;AACqB;AACvB;AACL;AACiB;AACnB;AAEzC,eAAeQ,WAAWA,CAC/BC,UAAsB,EACtBC,SAAkB;IAElB,MAAMC,UAAUP,2BAA2BA,CAACK,YAAYC;IAExD,IAAID,WAAW,OAAO,CAAC,oBAAoB,EAAE;QAC3C,OAAO,MAAMH,6BAA6BA,CAACK;IAC7C;IACA,6FAA6F;IAC7F,IAAIF,WAAW,KAAK,CAAC,IAAI,KAAKT,kCAAkC,EAAE;QAChE,OAAO,EAAE;IACX;IAEA,IAAIS,WAAW,KAAK,CAAC,OAAO,EAAE,WAAWR,aAAaA,GAAG;QACvDQ,WAAW,KAAK,CAAC,OAAO,GAAGG;IAC7B;IAEA,IAAIH,WAAW,KAAK,CAAC,OAAO,IAAIC,WAAW;QACzC,MAAMG,oBAAoB,MAAMN,oBAAoBA,CAACI;QACrD,IAAIE,kBAAkB,MAAM,GAAG,GAAG;YAChC,OAAOA;QACT;QAEA,OAAO,MAAMR,qBAAqBA,CAACM;IACrC;IAEA,IAAIT,wBAAwBA,CAACO,WAAW,KAAK,GAAG;QAC9C,MAAMK,kBAAkB,MAAMX,iCAAiCA,CAACQ;QAChE,IAAIG,gBAAgB,MAAM,GAAG,GAAG;YAC9B,OAAOA;QACT;IACF;IAEA,OAAO,MAAMT,qBAAqBA,CAACM;AACrC"}
@@ -1,25 +0,0 @@
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/index.js';
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
- }
@@ -1,126 +0,0 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { isDev, isWebchat } from "@botonic/core";
3
- import { Multichannel, RequestContext, WebchatSettings } from "@botonic/react";
4
- import react from "react";
5
- import { FlowAiAgent, FlowAiAgentRouter } from "../content-fields/index.js";
6
- import { splitAiAgentContents } from "../utils/ai-agent.js";
7
- import { getFlowBuilderActionContext } from "./context.js";
8
- import { getContentsByFirstInteraction } from "./first-interaction.js";
9
- import { getContents } from "./get-contents.js";
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
- class FlowBuilderAction extends react.Component {
30
- static async executeConversationStart(botContext) {
31
- const context = getFlowBuilderActionContext(botContext);
32
- const contents = await getContentsByFirstInteraction(context);
33
- const filteredContents = await FlowBuilderAction.prepareContentsToRender(botContext, contents);
34
- return {
35
- contents: filteredContents
36
- };
37
- }
38
- static async botonicInit(botContext, contentID) {
39
- const contents = await getContents(botContext, contentID);
40
- const contentsToRender = await FlowBuilderAction.prepareContentsToRender(botContext, contents);
41
- return {
42
- contents: contentsToRender
43
- };
44
- }
45
- static async prepareContentsToRender(botContext, contents) {
46
- for (const content of contents){
47
- if (FlowBuilderAction.isAiAgentContent(content)) {
48
- await FlowBuilderAction.processAiAgentContent(botContext, contents);
49
- continue;
50
- }
51
- await content.processContent(botContext);
52
- }
53
- return contents;
54
- }
55
- static isAiAgentContent(content) {
56
- return content instanceof FlowAiAgent || content instanceof FlowAiAgentRouter;
57
- }
58
- // TODO: Refactor this to be more generic and reusable
59
- static async processAiAgentContent(botContext, contents) {
60
- const splitContents = splitAiAgentContents(contents);
61
- if (!splitContents) {
62
- return;
63
- }
64
- if ('aiAgentRouterContent' in splitContents) {
65
- const { aiAgentRouterContent, contentsBeforeAiAgentRouter } = splitContents;
66
- await aiAgentRouterContent.processContent(botContext, contentsBeforeAiAgentRouter);
67
- }
68
- if ('aiAgentWorkerContent' in splitContents) {
69
- const { aiAgentWorkerContent, contentsBeforeAiAgentWorker } = splitContents;
70
- await aiAgentWorkerContent.processContent(botContext, contentsBeforeAiAgentWorker);
71
- }
72
- }
73
- getWebchatSettingsParams(botContext) {
74
- let { webchatSettingsParams } = this.props;
75
- if (botContext.session.user.system_locale_updated) {
76
- webchatSettingsParams = {
77
- ...webchatSettingsParams,
78
- user: {
79
- ...webchatSettingsParams?.user,
80
- system_locale: botContext.session.user.system_locale
81
- }
82
- };
83
- }
84
- const shouldSendWebchatSettings = (isWebchat(botContext.session) || isDev(botContext.session)) && !!webchatSettingsParams;
85
- return {
86
- shouldSendWebchatSettings,
87
- webchatSettingsParams
88
- };
89
- }
90
- render() {
91
- const { contents } = this.props;
92
- const botContext = this.context;
93
- const { shouldSendWebchatSettings, webchatSettingsParams } = this.getWebchatSettingsParams(botContext);
94
- return /*#__PURE__*/ jsxs(Fragment, {
95
- children: [
96
- shouldSendWebchatSettings && /*#__PURE__*/ jsx(WebchatSettings, {
97
- ...webchatSettingsParams
98
- }),
99
- contents.map((content)=>content.toBotonic(botContext))
100
- ]
101
- });
102
- }
103
- }
104
- FlowBuilderAction.contextType = RequestContext;
105
- class FlowBuilderMultichannelAction extends FlowBuilderAction {
106
- render() {
107
- const { contents } = this.props;
108
- const botContext = this.context;
109
- const { shouldSendWebchatSettings, webchatSettingsParams } = this.getWebchatSettingsParams(botContext);
110
- return /*#__PURE__*/ jsxs(Multichannel, {
111
- text: {
112
- buttonsAsText: false
113
- },
114
- children: [
115
- shouldSendWebchatSettings && /*#__PURE__*/ jsx(WebchatSettings, {
116
- ...webchatSettingsParams
117
- }),
118
- contents.map((content)=>content.toBotonic(botContext))
119
- ]
120
- });
121
- }
122
- }
123
-
124
- export { FlowBuilderAction, FlowBuilderMultichannelAction };
125
-
126
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action/index.js","sources":["../../src/action/index.tsx"],"sourcesContent":["import { type BotContext, isDev, isWebchat } from '@botonic/core'\nimport {\n Multichannel,\n RequestContext,\n WebchatSettings,\n type WebchatSettingsProps,\n} from '@botonic/react'\nimport React from 'react'\n\nimport {\n FlowAiAgent,\n FlowAiAgentRouter,\n type FlowContent,\n} from '../content-fields'\nimport { splitAiAgentContents } from '../utils/ai-agent'\nimport { getFlowBuilderActionContext } from './context'\nimport { getContentsByFirstInteraction } from './first-interaction'\nimport { getContents } from './get-contents'\n\nexport type FlowBuilderActionProps = {\n contents: FlowContent[]\n webchatSettingsParams?: WebchatSettingsProps\n}\n\nexport class FlowBuilderAction extends React.Component<FlowBuilderActionProps> {\n static contextType = RequestContext\n declare context: React.ContextType<typeof RequestContext>\n\n static async executeConversationStart(\n botContext: BotContext\n ): Promise<FlowBuilderActionProps> {\n const context = getFlowBuilderActionContext(botContext)\n const contents = await getContentsByFirstInteraction(context)\n\n const filteredContents = await FlowBuilderAction.prepareContentsToRender(\n botContext,\n contents\n )\n\n return { contents: filteredContents }\n }\n\n static async botonicInit(\n botContext: BotContext,\n contentID?: string\n ): Promise<FlowBuilderActionProps> {\n const contents = await getContents(botContext, contentID)\n\n const contentsToRender = await FlowBuilderAction.prepareContentsToRender(\n botContext,\n contents\n )\n\n return { contents: contentsToRender }\n }\n\n static async prepareContentsToRender(\n botContext: BotContext,\n contents: FlowContent[]\n ) {\n for (const content of contents) {\n if (FlowBuilderAction.isAiAgentContent(content)) {\n await FlowBuilderAction.processAiAgentContent(botContext, contents)\n continue\n }\n\n await content.processContent(botContext)\n }\n\n return contents\n }\n\n private static isAiAgentContent(content: FlowContent): boolean {\n return (\n content instanceof FlowAiAgent || content instanceof FlowAiAgentRouter\n )\n }\n\n // TODO: Refactor this to be more generic and reusable\n private static async processAiAgentContent(\n botContext: BotContext,\n contents: FlowContent[]\n ) {\n const splitContents = splitAiAgentContents(contents)\n if (!splitContents) {\n return\n }\n\n if ('aiAgentRouterContent' in splitContents) {\n const { aiAgentRouterContent, contentsBeforeAiAgentRouter } =\n splitContents\n await aiAgentRouterContent.processContent(\n botContext,\n contentsBeforeAiAgentRouter\n )\n }\n\n if ('aiAgentWorkerContent' in splitContents) {\n const { aiAgentWorkerContent, contentsBeforeAiAgentWorker } =\n splitContents\n await aiAgentWorkerContent.processContent(\n botContext,\n contentsBeforeAiAgentWorker\n )\n }\n }\n\n protected getWebchatSettingsParams(botContext: BotContext): {\n shouldSendWebchatSettings: boolean\n webchatSettingsParams?: WebchatSettingsProps\n } {\n let { webchatSettingsParams } = this.props\n if (botContext.session.user.system_locale_updated) {\n webchatSettingsParams = {\n ...webchatSettingsParams,\n user: {\n ...webchatSettingsParams?.user,\n system_locale: botContext.session.user.system_locale,\n },\n }\n }\n const shouldSendWebchatSettings =\n (isWebchat(botContext.session) || isDev(botContext.session)) &&\n !!webchatSettingsParams\n\n return {\n shouldSendWebchatSettings,\n webchatSettingsParams,\n }\n }\n\n render(): JSX.Element | JSX.Element[] {\n const { contents } = this.props\n const botContext = this.context as BotContext\n const { shouldSendWebchatSettings, webchatSettingsParams } =\n this.getWebchatSettingsParams(botContext)\n\n return (\n <>\n {shouldSendWebchatSettings && (\n <WebchatSettings {...webchatSettingsParams} />\n )}\n {contents.map(content => content.toBotonic(botContext))}\n </>\n )\n }\n}\n\nexport class FlowBuilderMultichannelAction extends FlowBuilderAction {\n render(): JSX.Element | JSX.Element[] {\n const { contents } = this.props\n const botContext = this.context as BotContext\n const { shouldSendWebchatSettings, webchatSettingsParams } =\n this.getWebchatSettingsParams(botContext)\n\n return (\n <Multichannel text={{ buttonsAsText: false }}>\n {shouldSendWebchatSettings && (\n <WebchatSettings {...webchatSettingsParams} />\n )}\n {contents.map(content => content.toBotonic(botContext))}\n </Multichannel>\n )\n }\n}\n"],"names":["isDev","isWebchat","Multichannel","RequestContext","WebchatSettings","React","FlowAiAgent","FlowAiAgentRouter","splitAiAgentContents","getFlowBuilderActionContext","getContentsByFirstInteraction","getContents","FlowBuilderAction","botContext","context","contents","filteredContents","contentID","contentsToRender","content","splitContents","aiAgentRouterContent","contentsBeforeAiAgentRouter","aiAgentWorkerContent","contentsBeforeAiAgentWorker","webchatSettingsParams","shouldSendWebchatSettings","FlowBuilderMultichannelAction"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAiE;AAM1C;AACE;AAMC;AAC8B;AACD;AACY;AACvB;AAOrC,MAAMY,iBAAiBA,SAASP,eAAe;IAIpD,aAAa,yBACXQ,UAAsB,EACW;QACjC,MAAMC,UAAUL,2BAA2BA,CAACI;QAC5C,MAAME,WAAW,MAAML,6BAA6BA,CAACI;QAErD,MAAME,mBAAmB,MAAMJ,iBAAiBA,CAAC,uBAAuB,CACtEC,YACAE;QAGF,OAAO;YAAE,UAAUC;QAAiB;IACtC;IAEA,aAAa,YACXH,UAAsB,EACtBI,SAAkB,EACe;QACjC,MAAMF,WAAW,MAAMJ,WAAWA,CAACE,YAAYI;QAE/C,MAAMC,mBAAmB,MAAMN,iBAAiBA,CAAC,uBAAuB,CACtEC,YACAE;QAGF,OAAO;YAAE,UAAUG;QAAiB;IACtC;IAEA,aAAa,wBACXL,UAAsB,EACtBE,QAAuB,EACvB;QACA,KAAK,MAAMI,WAAWJ,SAAU;YAC9B,IAAIH,iBAAiBA,CAAC,gBAAgB,CAACO,UAAU;gBAC/C,MAAMP,iBAAiBA,CAAC,qBAAqB,CAACC,YAAYE;gBAC1D;YACF;YAEA,MAAMI,QAAQ,cAAc,CAACN;QAC/B;QAEA,OAAOE;IACT;IAEA,OAAe,iBAAiBI,OAAoB,EAAW;QAC7D,OACEA,mBAAmBb,WAAWA,IAAIa,mBAAmBZ,iBAAiBA;IAE1E;IAEA,sDAAsD;IACtD,aAAqB,sBACnBM,UAAsB,EACtBE,QAAuB,EACvB;QACA,MAAMK,gBAAgBZ,oBAAoBA,CAACO;QAC3C,IAAI,CAACK,eAAe;YAClB;QACF;QAEA,IAAI,0BAA0BA,eAAe;YAC3C,MAAM,EAAEC,oBAAoB,EAAEC,2BAA2B,EAAE,GACzDF;YACF,MAAMC,qBAAqB,cAAc,CACvCR,YACAS;QAEJ;QAEA,IAAI,0BAA0BF,eAAe;YAC3C,MAAM,EAAEG,oBAAoB,EAAEC,2BAA2B,EAAE,GACzDJ;YACF,MAAMG,qBAAqB,cAAc,CACvCV,YACAW;QAEJ;IACF;IAEU,yBAAyBX,UAAsB,EAGvD;QACA,IAAI,EAAEY,qBAAqB,EAAE,GAAG,IAAI,CAAC,KAAK;QAC1C,IAAIZ,WAAW,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACjDY,wBAAwB;gBACtB,GAAGA,qBAAqB;gBACxB,MAAM;oBACJ,GAAGA,uBAAuB,IAAI;oBAC9B,eAAeZ,WAAW,OAAO,CAAC,IAAI,CAAC,aAAa;gBACtD;YACF;QACF;QACA,MAAMa,4BACHzB,CAAAA,SAASA,CAACY,WAAW,OAAO,KAAKb,KAAKA,CAACa,WAAW,OAAO,MAC1D,CAAC,CAACY;QAEJ,OAAO;YACLC;YACAD;QACF;IACF;IAEA,SAAsC;QACpC,MAAM,EAAEV,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK;QAC/B,MAAMF,aAAa,IAAI,CAAC,OAAO;QAC/B,MAAM,EAAEa,yBAAyB,EAAED,qBAAqB,EAAE,GACxD,IAAI,CAAC,wBAAwB,CAACZ;QAEhC,qBACE;;gBACGa,2CACC,IAACtB,eAAeA;oBAAE,GAAGqB,qBAAqB;;gBAE3CV,SAAS,GAAG,CAACI,CAAAA,UAAWA,QAAQ,SAAS,CAACN;;;IAGjD;AACF;AA1HaD,iBAAiBA,CACrB,cAAcT,cAAcA;AA2H9B,MAAMwB,6BAA6BA,SAASf,iBAAiBA;IAClE,SAAsC;QACpC,MAAM,EAAEG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK;QAC/B,MAAMF,aAAa,IAAI,CAAC,OAAO;QAC/B,MAAM,EAAEa,yBAAyB,EAAED,qBAAqB,EAAE,GACxD,IAAI,CAAC,wBAAwB,CAACZ;QAEhC,qBACE,KAACX,YAAYA;YAAC,MAAM;gBAAE,eAAe;YAAM;;gBACxCwB,2CACC,IAACtB,eAAeA;oBAAE,GAAGqB,qBAAqB;;gBAE3CV,SAAS,GAAG,CAACI,CAAAA,UAAWA,QAAQ,SAAS,CAACN;;;IAGjD;AACF"}
@@ -1,3 +0,0 @@
1
- import type { FlowContent } from '../content-fields/index.js';
2
- import type { FlowBuilderContext } from './context.js';
3
- export declare function getContentsByPayload(context: FlowBuilderContext): Promise<FlowContent[]>;
@@ -1,78 +0,0 @@
1
- import { EventAction, storeCaseRating } from "@botonic/core";
2
- import { v7 } from "uuid";
3
- import { AGENT_RATING_PAYLOAD, PUSH_FLOW_PAYLOAD, SEPARATOR } from "../constants.js";
4
- import { trackEvent } from "../tracking.js";
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
- async function getContentsByPayload(context) {
15
- const { cmsApi, flowBuilderPlugin, request, contentID } = context;
16
- if (request.input.payload?.startsWith(AGENT_RATING_PAYLOAD)) {
17
- return await resolveRatingPayload(context);
18
- }
19
- if (request.input.payload?.startsWith(PUSH_FLOW_PAYLOAD)) {
20
- return await resolvePushFlowPayload(context);
21
- }
22
- const id = contentID ? cmsApi.getNodeByContentID(contentID)?.id : request.input.payload;
23
- const targetNode = id ? cmsApi.getNodeById(id) : undefined;
24
- if (targetNode) {
25
- return await flowBuilderPlugin.getContentsByNode(targetNode);
26
- }
27
- return [];
28
- }
29
- async function resolveRatingPayload(context) {
30
- const { cmsApi, flowBuilderPlugin, request } = context;
31
- if (!request.input.payload) {
32
- return [];
33
- }
34
- const { target, text, value, possibleOptions, possibleValues } = flowBuilderPlugin.getRatingSubmittedInfo(request.input.payload);
35
- if (request.session._hubtype_case_id) {
36
- const event = {
37
- action: EventAction.FeedbackCase,
38
- feedbackTargetId: request.session._hubtype_case_id,
39
- feedbackGroupId: v7().toString(),
40
- possibleOptions,
41
- possibleValues,
42
- option: text,
43
- value
44
- };
45
- await storeCaseRating(request.session, value);
46
- await trackEvent(request, EventAction.FeedbackCase, event);
47
- }
48
- const targetNode = target ? cmsApi.getNodeById(target.id) : undefined;
49
- if (targetNode) {
50
- return await flowBuilderPlugin.getContentsByNode(targetNode);
51
- }
52
- return [];
53
- }
54
- async function resolvePushFlowPayload(context) {
55
- const { cmsApi, flowBuilderPlugin, request } = context;
56
- if (!request.input.payload) {
57
- return [];
58
- }
59
- const parts = request.input.payload.split(SEPARATOR);
60
- const pushFlowId = parts.length > 1 ? parts[1] : '';
61
- if (!pushFlowId) {
62
- return [];
63
- }
64
- try {
65
- const pushFlowNode = cmsApi.getNodeByCampaignId(pushFlowId);
66
- if (!pushFlowNode) {
67
- return [];
68
- }
69
- return await flowBuilderPlugin.getContentsByNode(pushFlowNode);
70
- } catch {
71
- // Campaign not found - return empty to trigger fallback
72
- return [];
73
- }
74
- }
75
-
76
- export { getContentsByPayload };
77
-
78
- //# sourceMappingURL=payload.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action/payload.js","sources":["../../src/action/payload.ts"],"sourcesContent":["import { EventAction, type EventFeedback, storeCaseRating } from '@botonic/core'\nimport { v7 as uuid } from 'uuid'\n\nimport {\n AGENT_RATING_PAYLOAD,\n PUSH_FLOW_PAYLOAD,\n SEPARATOR,\n} from '../constants'\nimport type { FlowContent } from '../content-fields'\nimport type { HtNodeWithContent } from '../content-fields/hubtype-fields'\nimport { trackEvent } from '../tracking'\nimport type { FlowBuilderContext } from './context'\n\nexport async function getContentsByPayload(\n context: FlowBuilderContext\n): Promise<FlowContent[]> {\n const { cmsApi, flowBuilderPlugin, request, contentID } = context\n if (request.input.payload?.startsWith(AGENT_RATING_PAYLOAD)) {\n return await resolveRatingPayload(context)\n }\n if (request.input.payload?.startsWith(PUSH_FLOW_PAYLOAD)) {\n return await resolvePushFlowPayload(context)\n }\n\n const id = contentID\n ? cmsApi.getNodeByContentID(contentID)?.id\n : request.input.payload\n const targetNode = id ? cmsApi.getNodeById<HtNodeWithContent>(id) : undefined\n\n if (targetNode) {\n return await flowBuilderPlugin.getContentsByNode(targetNode)\n }\n\n return []\n}\n\nasync function resolveRatingPayload(\n context: FlowBuilderContext\n): Promise<FlowContent[]> {\n const { cmsApi, flowBuilderPlugin, request } = context\n\n if (!request.input.payload) {\n return []\n }\n\n const { target, text, value, possibleOptions, possibleValues } =\n flowBuilderPlugin.getRatingSubmittedInfo(request.input.payload)\n\n if (request.session._hubtype_case_id) {\n const event: EventFeedback = {\n action: EventAction.FeedbackCase,\n feedbackTargetId: request.session._hubtype_case_id,\n feedbackGroupId: uuid().toString(),\n possibleOptions,\n possibleValues,\n option: text,\n value,\n }\n\n await storeCaseRating(request.session, value)\n await trackEvent(request, EventAction.FeedbackCase, event)\n }\n\n const targetNode = target\n ? cmsApi.getNodeById<HtNodeWithContent>(target.id)\n : undefined\n\n if (targetNode) {\n return await flowBuilderPlugin.getContentsByNode(targetNode)\n }\n\n return []\n}\n\nasync function resolvePushFlowPayload(\n context: FlowBuilderContext\n): Promise<FlowContent[]> {\n const { cmsApi, flowBuilderPlugin, request } = context\n\n if (!request.input.payload) {\n return []\n }\n\n const parts = request.input.payload.split(SEPARATOR)\n const pushFlowId = parts.length > 1 ? parts[1] : ''\n\n if (!pushFlowId) {\n return []\n }\n\n try {\n const pushFlowNode =\n cmsApi.getNodeByCampaignId<HtNodeWithContent>(pushFlowId)\n\n if (!pushFlowNode) {\n return []\n }\n\n return await flowBuilderPlugin.getContentsByNode(pushFlowNode)\n } catch {\n // Campaign not found - return empty to trigger fallback\n return []\n }\n}\n"],"names":["EventAction","storeCaseRating","v7","uuid","AGENT_RATING_PAYLOAD","PUSH_FLOW_PAYLOAD","SEPARATOR","trackEvent","getContentsByPayload","context","cmsApi","flowBuilderPlugin","request","contentID","resolveRatingPayload","resolvePushFlowPayload","id","targetNode","undefined","target","text","value","possibleOptions","possibleValues","event","parts","pushFlowId","pushFlowNode"],"mappings":";;;;;;;;;AAAgF;AAC/C;AAMZ;AAGmB;AAGjC,eAAeQ,oBAAoBA,CACxCC,OAA2B;IAE3B,MAAM,EAAEC,MAAM,EAAEC,iBAAiB,EAAEC,OAAO,EAAEC,SAAS,EAAE,GAAGJ;IAC1D,IAAIG,QAAQ,KAAK,CAAC,OAAO,EAAE,WAAWR,oBAAoBA,GAAG;QAC3D,OAAO,MAAMU,oBAAoBA,CAACL;IACpC;IACA,IAAIG,QAAQ,KAAK,CAAC,OAAO,EAAE,WAAWP,iBAAiBA,GAAG;QACxD,OAAO,MAAMU,sBAAsBA,CAACN;IACtC;IAEA,MAAMO,KAAKH,YACPH,OAAO,kBAAkB,CAACG,YAAY,KACtCD,QAAQ,KAAK,CAAC,OAAO;IACzB,MAAMK,aAAaD,KAAKN,OAAO,WAAW,CAAoBM,MAAME;IAEpE,IAAID,YAAY;QACd,OAAO,MAAMN,kBAAkB,iBAAiB,CAACM;IACnD;IAEA,OAAO,EAAE;AACX;AAEA,eAAeH,oBAAoBA,CACjCL,OAA2B;IAE3B,MAAM,EAAEC,MAAM,EAAEC,iBAAiB,EAAEC,OAAO,EAAE,GAAGH;IAE/C,IAAI,CAACG,QAAQ,KAAK,CAAC,OAAO,EAAE;QAC1B,OAAO,EAAE;IACX;IAEA,MAAM,EAAEO,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,eAAe,EAAEC,cAAc,EAAE,GAC5DZ,kBAAkB,sBAAsB,CAACC,QAAQ,KAAK,CAAC,OAAO;IAEhE,IAAIA,QAAQ,OAAO,CAAC,gBAAgB,EAAE;QACpC,MAAMY,QAAuB;YAC3B,QAAQxB,wBAAwB;YAChC,kBAAkBY,QAAQ,OAAO,CAAC,gBAAgB;YAClD,iBAAiBT,EAAIA,GAAG,QAAQ;YAChCmB;YACAC;YACA,QAAQH;YACRC;QACF;QAEA,MAAMpB,eAAeA,CAACW,QAAQ,OAAO,EAAES;QACvC,MAAMd,UAAUA,CAACK,SAASZ,wBAAwB,EAAEwB;IACtD;IAEA,MAAMP,aAAaE,SACfT,OAAO,WAAW,CAAoBS,OAAO,EAAE,IAC/CD;IAEJ,IAAID,YAAY;QACd,OAAO,MAAMN,kBAAkB,iBAAiB,CAACM;IACnD;IAEA,OAAO,EAAE;AACX;AAEA,eAAeF,sBAAsBA,CACnCN,OAA2B;IAE3B,MAAM,EAAEC,MAAM,EAAEC,iBAAiB,EAAEC,OAAO,EAAE,GAAGH;IAE/C,IAAI,CAACG,QAAQ,KAAK,CAAC,OAAO,EAAE;QAC1B,OAAO,EAAE;IACX;IAEA,MAAMa,QAAQb,QAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,CAACN,SAASA;IACnD,MAAMoB,aAAaD,MAAM,MAAM,GAAG,IAAIA,KAAK,CAAC,EAAE,GAAG;IAEjD,IAAI,CAACC,YAAY;QACf,OAAO,EAAE;IACX;IAEA,IAAI;QACF,MAAMC,eACJjB,OAAO,mBAAmB,CAAoBgB;QAEhD,IAAI,CAACC,cAAc;YACjB,OAAO,EAAE;QACX;QAEA,OAAO,MAAMhB,kBAAkB,iBAAiB,CAACgB;IACnD,EAAE,OAAM;QACN,wDAAwD;QACxD,OAAO,EAAE;IACX;AACF"}
package/lib/api.d.ts DELETED
@@ -1,40 +0,0 @@
1
- import type { PluginPreRequest } 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 } from './content-fields/hubtype-fields/index.js';
3
- import { type FlowBuilderApiOptions } from './types.js';
4
- export declare class FlowBuilderApi {
5
- url: string;
6
- flowUrl: string;
7
- flow: HtFlowBuilderData;
8
- request: PluginPreRequest;
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
- getResolvedLocale(): string;
40
- }