@botonic/plugin-flow-builder 0.46.1 → 2.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (774) hide show
  1. package/CHANGELOG.md +227 -0
  2. package/README.md +6 -274
  3. package/package.json +20 -44
  4. package/src/index.d.ts +2 -0
  5. package/src/index.js +3 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/action/ai-agent.d.ts +3 -0
  8. package/src/lib/action/ai-agent.js +67 -0
  9. package/src/lib/action/ai-agent.js.map +1 -0
  10. package/src/lib/action/fallback.d.ts +3 -0
  11. package/src/lib/action/fallback.js +40 -0
  12. package/src/lib/action/fallback.js.map +1 -0
  13. package/src/lib/action/first-interaction.d.ts +3 -0
  14. package/src/lib/action/first-interaction.js +83 -0
  15. package/src/lib/action/first-interaction.js.map +1 -0
  16. package/src/lib/action/index.d.ts +20 -0
  17. package/src/lib/action/index.js +148 -0
  18. package/src/lib/action/index.js.map +1 -0
  19. package/src/lib/action/knowledge-bases.d.ts +3 -0
  20. package/src/lib/action/knowledge-bases.js +90 -0
  21. package/src/lib/action/knowledge-bases.js.map +1 -0
  22. package/src/lib/action/payload.d.ts +3 -0
  23. package/src/lib/action/payload.js +80 -0
  24. package/src/lib/action/payload.js.map +1 -0
  25. package/{lib/esm → src/lib}/api.d.ts +8 -19
  26. package/{lib/cjs → src/lib}/api.js +60 -101
  27. package/src/lib/api.js.map +1 -0
  28. package/{lib/cjs → src/lib}/constants.d.ts +3 -2
  29. package/src/lib/constants.js +19 -0
  30. package/src/lib/constants.js.map +1 -0
  31. package/{lib/esm → src/lib}/content-fields/content-fields-base.d.ts +9 -5
  32. package/src/lib/content-fields/content-fields-base.js +94 -0
  33. package/src/lib/content-fields/content-fields-base.js.map +1 -0
  34. package/{lib/cjs → src/lib}/content-fields/flow-ai-agent.d.ts +5 -7
  35. package/src/lib/content-fields/flow-ai-agent.js +50 -0
  36. package/src/lib/content-fields/flow-ai-agent.js.map +1 -0
  37. package/src/lib/content-fields/flow-bot-action.d.ts +11 -0
  38. package/src/lib/content-fields/flow-bot-action.js +43 -0
  39. package/src/lib/content-fields/flow-bot-action.js.map +1 -0
  40. package/{lib/esm → src/lib}/content-fields/flow-button.d.ts +13 -6
  41. package/src/lib/content-fields/flow-button.js +123 -0
  42. package/src/lib/content-fields/flow-button.js.map +1 -0
  43. package/{lib/esm → src/lib}/content-fields/flow-capture-user-input.d.ts +4 -4
  44. package/src/lib/content-fields/flow-capture-user-input.js +42 -0
  45. package/src/lib/content-fields/flow-capture-user-input.js.map +1 -0
  46. package/src/lib/content-fields/flow-carousel.d.ts +49 -0
  47. package/src/lib/content-fields/flow-carousel.js +181 -0
  48. package/src/lib/content-fields/flow-carousel.js.map +1 -0
  49. package/src/lib/content-fields/flow-channel-conditional.d.ts +13 -0
  50. package/src/lib/content-fields/flow-channel-conditional.js +53 -0
  51. package/src/lib/content-fields/flow-channel-conditional.js.map +1 -0
  52. package/src/lib/content-fields/flow-country-conditional.d.ts +12 -0
  53. package/src/lib/content-fields/flow-country-conditional.js +55 -0
  54. package/src/lib/content-fields/flow-country-conditional.js.map +1 -0
  55. package/src/lib/content-fields/flow-custom-conditional.d.ts +16 -0
  56. package/{lib/cjs → src/lib}/content-fields/flow-custom-conditional.js +36 -34
  57. package/src/lib/content-fields/flow-custom-conditional.js.map +1 -0
  58. package/{lib/cjs → src/lib}/content-fields/flow-element.d.ts +3 -10
  59. package/src/lib/content-fields/flow-element.js +38 -0
  60. package/src/lib/content-fields/flow-element.js.map +1 -0
  61. package/src/lib/content-fields/flow-go-to-flow.d.ts +12 -0
  62. package/src/lib/content-fields/flow-go-to-flow.js +46 -0
  63. package/src/lib/content-fields/flow-go-to-flow.js.map +1 -0
  64. package/{lib/cjs → src/lib}/content-fields/flow-handoff.d.ts +6 -6
  65. package/src/lib/content-fields/flow-handoff.js +77 -0
  66. package/src/lib/content-fields/flow-handoff.js.map +1 -0
  67. package/src/lib/content-fields/flow-image.d.ts +10 -0
  68. package/src/lib/content-fields/flow-image.js +28 -0
  69. package/src/lib/content-fields/flow-image.js.map +1 -0
  70. package/{lib/cjs → src/lib}/content-fields/flow-knowledge-base.d.ts +5 -4
  71. package/src/lib/content-fields/flow-knowledge-base.js +52 -0
  72. package/src/lib/content-fields/flow-knowledge-base.js.map +1 -0
  73. package/{lib/esm → src/lib}/content-fields/flow-queue-status-conditional.d.ts +6 -6
  74. package/src/lib/content-fields/flow-queue-status-conditional.js +97 -0
  75. package/src/lib/content-fields/flow-queue-status-conditional.js.map +1 -0
  76. package/{lib/esm → src/lib}/content-fields/flow-rating.d.ts +5 -4
  77. package/src/lib/content-fields/flow-rating.js +80 -0
  78. package/src/lib/content-fields/flow-rating.js.map +1 -0
  79. package/src/lib/content-fields/flow-text.d.ts +15 -0
  80. package/src/lib/content-fields/flow-text.js +76 -0
  81. package/src/lib/content-fields/flow-text.js.map +1 -0
  82. package/src/lib/content-fields/flow-video.d.ts +10 -0
  83. package/src/lib/content-fields/flow-video.js +28 -0
  84. package/src/lib/content-fields/flow-video.js.map +1 -0
  85. package/{lib/esm → src/lib}/content-fields/flow-webview.d.ts +3 -3
  86. package/src/lib/content-fields/flow-webview.js +41 -0
  87. package/src/lib/content-fields/flow-webview.js.map +1 -0
  88. package/{lib/cjs → src/lib}/content-fields/flow-whatsapp-cta-url-button.d.ts +8 -7
  89. package/src/lib/content-fields/flow-whatsapp-cta-url-button.js +76 -0
  90. package/src/lib/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
  91. package/{lib/esm → src/lib}/content-fields/flow-whatsapp-template.d.ts +7 -7
  92. package/src/lib/content-fields/flow-whatsapp-template.js +159 -0
  93. package/src/lib/content-fields/flow-whatsapp-template.js.map +1 -0
  94. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/ai-agent.d.ts +2 -5
  95. package/src/lib/content-fields/hubtype-fields/ai-agent.js +2 -0
  96. package/src/lib/content-fields/hubtype-fields/ai-agent.js.map +1 -0
  97. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/bot-action.d.ts +2 -2
  98. package/src/lib/content-fields/hubtype-fields/bot-action.js +2 -0
  99. package/src/lib/content-fields/hubtype-fields/bot-action.js.map +1 -0
  100. package/{lib/esm → src/lib}/content-fields/hubtype-fields/button.d.ts +1 -1
  101. package/src/lib/content-fields/hubtype-fields/button.js +2 -0
  102. package/src/lib/content-fields/hubtype-fields/button.js.map +1 -0
  103. package/{lib/esm → src/lib}/content-fields/hubtype-fields/capture-user-input.d.ts +2 -2
  104. package/src/lib/content-fields/hubtype-fields/capture-user-input.js +9 -0
  105. package/src/lib/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  106. package/{lib/esm → src/lib}/content-fields/hubtype-fields/carousel.d.ts +3 -3
  107. package/src/lib/content-fields/hubtype-fields/carousel.js +2 -0
  108. package/src/lib/content-fields/hubtype-fields/carousel.js.map +1 -0
  109. package/{lib/esm → src/lib}/content-fields/hubtype-fields/channel-conditional.d.ts +3 -3
  110. package/src/lib/content-fields/hubtype-fields/channel-conditional.js +2 -0
  111. package/src/lib/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
  112. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/common.d.ts +2 -2
  113. package/src/lib/content-fields/hubtype-fields/common.js +2 -0
  114. package/src/lib/content-fields/hubtype-fields/common.js.map +1 -0
  115. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/country-conditional.d.ts +3 -3
  116. package/src/lib/content-fields/hubtype-fields/country-conditional.js +2 -0
  117. package/src/lib/content-fields/hubtype-fields/country-conditional.js.map +1 -0
  118. package/{lib/esm → src/lib}/content-fields/hubtype-fields/custom-conditional.d.ts +3 -3
  119. package/src/lib/content-fields/hubtype-fields/custom-conditional.js +2 -0
  120. package/src/lib/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
  121. package/{lib/esm → src/lib}/content-fields/hubtype-fields/fallback.d.ts +2 -2
  122. package/src/lib/content-fields/hubtype-fields/fallback.js +2 -0
  123. package/src/lib/content-fields/hubtype-fields/fallback.js.map +1 -0
  124. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/function.d.ts +3 -3
  125. package/src/lib/content-fields/hubtype-fields/function.js +8 -0
  126. package/src/lib/content-fields/hubtype-fields/function.js.map +1 -0
  127. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/go-to-flow.d.ts +2 -2
  128. package/src/lib/content-fields/hubtype-fields/go-to-flow.js +2 -0
  129. package/src/lib/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
  130. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/handoff.d.ts +2 -2
  131. package/src/lib/content-fields/hubtype-fields/handoff.js +2 -0
  132. package/src/lib/content-fields/hubtype-fields/handoff.js.map +1 -0
  133. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/image.d.ts +2 -2
  134. package/src/lib/content-fields/hubtype-fields/image.js +2 -0
  135. package/src/lib/content-fields/hubtype-fields/image.js.map +1 -0
  136. package/{lib/esm → src/lib}/content-fields/hubtype-fields/index.d.ts +1 -0
  137. package/{lib/cjs/content-fields/hubtype-fields/index.d.ts → src/lib/content-fields/hubtype-fields/index.js} +2 -0
  138. package/src/lib/content-fields/hubtype-fields/index.js.map +1 -0
  139. package/{lib/esm → src/lib}/content-fields/hubtype-fields/keyword.d.ts +2 -2
  140. package/src/lib/content-fields/hubtype-fields/keyword.js +2 -0
  141. package/src/lib/content-fields/hubtype-fields/keyword.js.map +1 -0
  142. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/knowledge-base.d.ts +2 -2
  143. package/src/lib/content-fields/hubtype-fields/knowledge-base.js +2 -0
  144. package/src/lib/content-fields/hubtype-fields/knowledge-base.js.map +1 -0
  145. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/node-types.d.ts +4 -4
  146. package/{lib/esm → src/lib}/content-fields/hubtype-fields/node-types.js +10 -13
  147. package/src/lib/content-fields/hubtype-fields/node-types.js.map +1 -0
  148. package/src/lib/content-fields/hubtype-fields/nodes.d.ts +24 -0
  149. package/src/lib/content-fields/hubtype-fields/nodes.js +2 -0
  150. package/src/lib/content-fields/hubtype-fields/nodes.js.map +1 -0
  151. package/{lib/esm → src/lib}/content-fields/hubtype-fields/payload.d.ts +1 -1
  152. package/src/lib/content-fields/hubtype-fields/payload.js +2 -0
  153. package/src/lib/content-fields/hubtype-fields/payload.js.map +1 -0
  154. package/{lib/esm → src/lib}/content-fields/hubtype-fields/queue-status-conditional.d.ts +3 -3
  155. package/src/lib/content-fields/hubtype-fields/queue-status-conditional.js +2 -0
  156. package/src/lib/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
  157. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/rating.d.ts +2 -2
  158. package/src/lib/content-fields/hubtype-fields/rating.js +6 -0
  159. package/src/lib/content-fields/hubtype-fields/rating.js.map +1 -0
  160. package/{lib/esm → src/lib}/content-fields/hubtype-fields/smart-intent.d.ts +2 -2
  161. package/src/lib/content-fields/hubtype-fields/smart-intent.js +2 -0
  162. package/src/lib/content-fields/hubtype-fields/smart-intent.js.map +1 -0
  163. package/{lib/esm → src/lib}/content-fields/hubtype-fields/text.d.ts +3 -3
  164. package/src/lib/content-fields/hubtype-fields/text.js +2 -0
  165. package/src/lib/content-fields/hubtype-fields/text.js.map +1 -0
  166. package/{lib/esm → src/lib}/content-fields/hubtype-fields/url.d.ts +1 -1
  167. package/src/lib/content-fields/hubtype-fields/url.js +2 -0
  168. package/src/lib/content-fields/hubtype-fields/url.js.map +1 -0
  169. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/video.d.ts +2 -2
  170. package/src/lib/content-fields/hubtype-fields/video.js +2 -0
  171. package/src/lib/content-fields/hubtype-fields/video.js.map +1 -0
  172. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/webview.d.ts +2 -2
  173. package/src/lib/content-fields/hubtype-fields/webview.js +2 -0
  174. package/src/lib/content-fields/hubtype-fields/webview.js.map +1 -0
  175. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/whatsapp-button-list.d.ts +2 -2
  176. package/src/lib/content-fields/hubtype-fields/whatsapp-button-list.js +2 -0
  177. package/src/lib/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  178. package/{lib/esm → src/lib}/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +5 -5
  179. package/src/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js +2 -0
  180. package/src/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
  181. package/src/lib/content-fields/hubtype-fields/whatsapp-template.d.ts +72 -0
  182. package/src/lib/content-fields/hubtype-fields/whatsapp-template.js +2 -0
  183. package/src/lib/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
  184. package/{lib/cjs → src/lib}/content-fields/index.d.ts +1 -5
  185. package/{lib/esm/content-fields/index.d.ts → src/lib/content-fields/index.js} +3 -7
  186. package/src/lib/content-fields/index.js.map +1 -0
  187. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +14 -0
  188. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +38 -0
  189. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  190. package/{lib/cjs → src/lib}/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +6 -5
  191. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +33 -0
  192. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  193. package/{lib/cjs → src/lib}/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +5 -5
  194. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +48 -0
  195. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  196. package/src/lib/filters/index.d.ts +12 -0
  197. package/src/lib/filters/index.js +16 -0
  198. package/src/lib/filters/index.js.map +1 -0
  199. package/{lib/cjs → src/lib}/flow-factory.d.ts +3 -3
  200. package/src/lib/flow-factory.js +65 -0
  201. package/src/lib/flow-factory.js.map +1 -0
  202. package/{lib/esm → src/lib}/functions/index.d.ts +4 -4
  203. package/src/lib/functions/index.js +47 -0
  204. package/src/lib/functions/index.js.map +1 -0
  205. package/src/lib/helpers.d.ts +3 -0
  206. package/{lib/esm → src/lib}/helpers.js +1 -4
  207. package/src/lib/helpers.js.map +1 -0
  208. package/src/lib/index.d.ts +39 -0
  209. package/src/lib/index.js +158 -0
  210. package/src/lib/index.js.map +1 -0
  211. package/src/lib/services/capture-user-input-client.d.ts +16 -0
  212. package/src/lib/services/capture-user-input-client.js +38 -0
  213. package/src/lib/services/capture-user-input-client.js.map +1 -0
  214. package/src/lib/services/flow-client.d.ts +9 -0
  215. package/src/lib/services/flow-client.js +33 -0
  216. package/src/lib/services/flow-client.js.map +1 -0
  217. package/{lib/esm/services/hubtype-queues-api.d.ts → src/lib/services/hubtype-queues-client.d.ts} +1 -1
  218. package/src/lib/services/hubtype-queues-client.js +28 -0
  219. package/src/lib/services/hubtype-queues-client.js.map +1 -0
  220. package/src/lib/services/smart-intent-client.d.ts +7 -0
  221. package/src/lib/services/smart-intent-client.js +22 -0
  222. package/src/lib/services/smart-intent-client.js.map +1 -0
  223. package/src/lib/tests/helpers/flows/basic.d.ts +2 -0
  224. package/src/lib/tests/helpers/flows/basic.js +2437 -0
  225. package/src/lib/tests/helpers/flows/basic.js.map +1 -0
  226. package/src/lib/tests/helpers/flows/capture-user-input.d.ts +2 -0
  227. package/src/lib/tests/helpers/flows/capture-user-input.js +354 -0
  228. package/src/lib/tests/helpers/flows/capture-user-input.js.map +1 -0
  229. package/src/lib/tests/helpers/flows/whatsapp-template.d.ts +2 -0
  230. package/src/lib/tests/helpers/flows/whatsapp-template.js +513 -0
  231. package/src/lib/tests/helpers/flows/whatsapp-template.js.map +1 -0
  232. package/src/lib/tests/helpers/utils.d.ts +32 -0
  233. package/src/lib/tests/helpers/utils.js +71 -0
  234. package/src/lib/tests/helpers/utils.js.map +1 -0
  235. package/src/lib/tests/mocks/ai-agent-response.d.ts +3 -0
  236. package/src/lib/tests/mocks/ai-agent-response.js +18 -0
  237. package/src/lib/tests/mocks/ai-agent-response.js.map +1 -0
  238. package/src/lib/tests/mocks/capture-user-input-client.d.ts +1 -0
  239. package/src/lib/tests/mocks/capture-user-input-client.js +12 -0
  240. package/src/lib/tests/mocks/capture-user-input-client.js.map +1 -0
  241. package/src/lib/tests/mocks/hubtype-queue-client.d.ts +3 -0
  242. package/src/lib/tests/mocks/hubtype-queue-client.js +22 -0
  243. package/src/lib/tests/mocks/hubtype-queue-client.js.map +1 -0
  244. package/src/lib/tests/mocks/index.d.ts +1 -0
  245. package/src/lib/tests/mocks/index.js +2 -0
  246. package/src/lib/tests/mocks/index.js.map +1 -0
  247. package/src/lib/tests/mocks/smart-intent-client.d.ts +3 -0
  248. package/src/lib/tests/mocks/smart-intent-client.js +31 -0
  249. package/src/lib/tests/mocks/smart-intent-client.js.map +1 -0
  250. package/src/lib/tracking.d.ts +15 -0
  251. package/src/lib/tracking.js +85 -0
  252. package/src/lib/tracking.js.map +1 -0
  253. package/src/lib/types.d.ts +69 -0
  254. package/src/lib/types.js +11 -0
  255. package/src/lib/types.js.map +1 -0
  256. package/src/lib/user-input/capture-user-input.d.ts +10 -0
  257. package/src/lib/user-input/capture-user-input.js +62 -0
  258. package/src/lib/user-input/capture-user-input.js.map +1 -0
  259. package/src/lib/user-input/index.d.ts +4 -0
  260. package/src/lib/user-input/index.js +38 -0
  261. package/src/lib/user-input/index.js.map +1 -0
  262. package/{lib/cjs → src/lib}/user-input/keyword.d.ts +7 -9
  263. package/src/lib/user-input/keyword.js +86 -0
  264. package/src/lib/user-input/keyword.js.map +1 -0
  265. package/{lib/cjs → src/lib}/user-input/smart-intent.d.ts +6 -7
  266. package/src/lib/user-input/smart-intent.js +69 -0
  267. package/src/lib/user-input/smart-intent.js.map +1 -0
  268. package/src/lib/utils.d.ts +4 -0
  269. package/src/lib/utils.js +16 -0
  270. package/src/lib/utils.js.map +1 -0
  271. package/lib/cjs/action/ai-agent.d.ts +0 -3
  272. package/lib/cjs/action/ai-agent.js +0 -67
  273. package/lib/cjs/action/ai-agent.js.map +0 -1
  274. package/lib/cjs/action/fallback.d.ts +0 -3
  275. package/lib/cjs/action/fallback.js +0 -36
  276. package/lib/cjs/action/fallback.js.map +0 -1
  277. package/lib/cjs/action/first-interaction.d.ts +0 -3
  278. package/lib/cjs/action/first-interaction.js +0 -91
  279. package/lib/cjs/action/first-interaction.js.map +0 -1
  280. package/lib/cjs/action/index.d.ts +0 -28
  281. package/lib/cjs/action/index.js +0 -127
  282. package/lib/cjs/action/index.js.map +0 -1
  283. package/lib/cjs/action/knowledge-bases.d.ts +0 -3
  284. package/lib/cjs/action/knowledge-bases.js +0 -85
  285. package/lib/cjs/action/knowledge-bases.js.map +0 -1
  286. package/lib/cjs/action/payload.d.ts +0 -3
  287. package/lib/cjs/action/payload.js +0 -74
  288. package/lib/cjs/action/payload.js.map +0 -1
  289. package/lib/cjs/api.d.ts +0 -50
  290. package/lib/cjs/api.js.map +0 -1
  291. package/lib/cjs/constants.js +0 -20
  292. package/lib/cjs/constants.js.map +0 -1
  293. package/lib/cjs/content-fields/content-fields-base.d.ts +0 -17
  294. package/lib/cjs/content-fields/content-fields-base.js +0 -66
  295. package/lib/cjs/content-fields/content-fields-base.js.map +0 -1
  296. package/lib/cjs/content-fields/flow-ai-agent.js +0 -53
  297. package/lib/cjs/content-fields/flow-ai-agent.js.map +0 -1
  298. package/lib/cjs/content-fields/flow-bot-action.d.ts +0 -12
  299. package/lib/cjs/content-fields/flow-bot-action.js +0 -39
  300. package/lib/cjs/content-fields/flow-bot-action.js.map +0 -1
  301. package/lib/cjs/content-fields/flow-button.d.ts +0 -30
  302. package/lib/cjs/content-fields/flow-button.js +0 -103
  303. package/lib/cjs/content-fields/flow-button.js.map +0 -1
  304. package/lib/cjs/content-fields/flow-capture-user-input.d.ts +0 -13
  305. package/lib/cjs/content-fields/flow-capture-user-input.js +0 -43
  306. package/lib/cjs/content-fields/flow-capture-user-input.js.map +0 -1
  307. package/lib/cjs/content-fields/flow-carousel.d.ts +0 -21
  308. package/lib/cjs/content-fields/flow-carousel.js +0 -147
  309. package/lib/cjs/content-fields/flow-carousel.js.map +0 -1
  310. package/lib/cjs/content-fields/flow-channel-conditional.d.ts +0 -13
  311. package/lib/cjs/content-fields/flow-channel-conditional.js +0 -53
  312. package/lib/cjs/content-fields/flow-channel-conditional.js.map +0 -1
  313. package/lib/cjs/content-fields/flow-country-conditional.d.ts +0 -12
  314. package/lib/cjs/content-fields/flow-country-conditional.js +0 -54
  315. package/lib/cjs/content-fields/flow-country-conditional.js.map +0 -1
  316. package/lib/cjs/content-fields/flow-custom-conditional.d.ts +0 -16
  317. package/lib/cjs/content-fields/flow-custom-conditional.js.map +0 -1
  318. package/lib/cjs/content-fields/flow-element.js +0 -46
  319. package/lib/cjs/content-fields/flow-element.js.map +0 -1
  320. package/lib/cjs/content-fields/flow-go-to-flow.d.ts +0 -13
  321. package/lib/cjs/content-fields/flow-go-to-flow.js +0 -58
  322. package/lib/cjs/content-fields/flow-go-to-flow.js.map +0 -1
  323. package/lib/cjs/content-fields/flow-handoff.js +0 -63
  324. package/lib/cjs/content-fields/flow-handoff.js.map +0 -1
  325. package/lib/cjs/content-fields/flow-image.d.ts +0 -9
  326. package/lib/cjs/content-fields/flow-image.js +0 -28
  327. package/lib/cjs/content-fields/flow-image.js.map +0 -1
  328. package/lib/cjs/content-fields/flow-knowledge-base.js +0 -39
  329. package/lib/cjs/content-fields/flow-knowledge-base.js.map +0 -1
  330. package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +0 -29
  331. package/lib/cjs/content-fields/flow-queue-status-conditional.js +0 -90
  332. package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +0 -1
  333. package/lib/cjs/content-fields/flow-rating.d.ts +0 -14
  334. package/lib/cjs/content-fields/flow-rating.js +0 -61
  335. package/lib/cjs/content-fields/flow-rating.js.map +0 -1
  336. package/lib/cjs/content-fields/flow-text.d.ts +0 -15
  337. package/lib/cjs/content-fields/flow-text.js +0 -54
  338. package/lib/cjs/content-fields/flow-text.js.map +0 -1
  339. package/lib/cjs/content-fields/flow-video.d.ts +0 -9
  340. package/lib/cjs/content-fields/flow-video.js +0 -28
  341. package/lib/cjs/content-fields/flow-video.js.map +0 -1
  342. package/lib/cjs/content-fields/flow-webview.d.ts +0 -11
  343. package/lib/cjs/content-fields/flow-webview.js +0 -42
  344. package/lib/cjs/content-fields/flow-webview.js.map +0 -1
  345. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +0 -87
  346. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
  347. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +0 -29
  348. package/lib/cjs/content-fields/flow-whatsapp-template.js +0 -183
  349. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +0 -1
  350. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js +0 -3
  351. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js.map +0 -1
  352. package/lib/cjs/content-fields/hubtype-fields/bot-action.js +0 -3
  353. package/lib/cjs/content-fields/hubtype-fields/bot-action.js.map +0 -1
  354. package/lib/cjs/content-fields/hubtype-fields/button.d.ts +0 -8
  355. package/lib/cjs/content-fields/hubtype-fields/button.js +0 -3
  356. package/lib/cjs/content-fields/hubtype-fields/button.js.map +0 -1
  357. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.d.ts +0 -19
  358. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js +0 -12
  359. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
  360. package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +0 -17
  361. package/lib/cjs/content-fields/hubtype-fields/carousel.js +0 -3
  362. package/lib/cjs/content-fields/hubtype-fields/carousel.js.map +0 -1
  363. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.d.ts +0 -10
  364. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js +0 -3
  365. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
  366. package/lib/cjs/content-fields/hubtype-fields/common.js +0 -3
  367. package/lib/cjs/content-fields/hubtype-fields/common.js.map +0 -1
  368. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js +0 -3
  369. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js.map +0 -1
  370. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.d.ts +0 -11
  371. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js +0 -3
  372. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
  373. package/lib/cjs/content-fields/hubtype-fields/fallback.d.ts +0 -11
  374. package/lib/cjs/content-fields/hubtype-fields/fallback.js +0 -3
  375. package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +0 -1
  376. package/lib/cjs/content-fields/hubtype-fields/function.js +0 -11
  377. package/lib/cjs/content-fields/hubtype-fields/function.js.map +0 -1
  378. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js +0 -3
  379. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
  380. package/lib/cjs/content-fields/hubtype-fields/handoff.js +0 -3
  381. package/lib/cjs/content-fields/hubtype-fields/handoff.js.map +0 -1
  382. package/lib/cjs/content-fields/hubtype-fields/image.js +0 -3
  383. package/lib/cjs/content-fields/hubtype-fields/image.js.map +0 -1
  384. package/lib/cjs/content-fields/hubtype-fields/index.js +0 -28
  385. package/lib/cjs/content-fields/hubtype-fields/index.js.map +0 -1
  386. package/lib/cjs/content-fields/hubtype-fields/keyword.d.ts +0 -9
  387. package/lib/cjs/content-fields/hubtype-fields/keyword.js +0 -3
  388. package/lib/cjs/content-fields/hubtype-fields/keyword.js.map +0 -1
  389. package/lib/cjs/content-fields/hubtype-fields/knowledge-base.js +0 -3
  390. package/lib/cjs/content-fields/hubtype-fields/knowledge-base.js.map +0 -1
  391. package/lib/cjs/content-fields/hubtype-fields/node-types.js +0 -36
  392. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +0 -1
  393. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +0 -24
  394. package/lib/cjs/content-fields/hubtype-fields/nodes.js +0 -3
  395. package/lib/cjs/content-fields/hubtype-fields/nodes.js.map +0 -1
  396. package/lib/cjs/content-fields/hubtype-fields/payload.d.ts +0 -8
  397. package/lib/cjs/content-fields/hubtype-fields/payload.js +0 -3
  398. package/lib/cjs/content-fields/hubtype-fields/payload.js.map +0 -1
  399. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.d.ts +0 -25
  400. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js +0 -3
  401. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
  402. package/lib/cjs/content-fields/hubtype-fields/rating.js +0 -9
  403. package/lib/cjs/content-fields/hubtype-fields/rating.js.map +0 -1
  404. package/lib/cjs/content-fields/hubtype-fields/smart-intent.d.ts +0 -11
  405. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js +0 -3
  406. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js.map +0 -1
  407. package/lib/cjs/content-fields/hubtype-fields/text.d.ts +0 -11
  408. package/lib/cjs/content-fields/hubtype-fields/text.js +0 -3
  409. package/lib/cjs/content-fields/hubtype-fields/text.js.map +0 -1
  410. package/lib/cjs/content-fields/hubtype-fields/url.d.ts +0 -8
  411. package/lib/cjs/content-fields/hubtype-fields/url.js +0 -3
  412. package/lib/cjs/content-fields/hubtype-fields/url.js.map +0 -1
  413. package/lib/cjs/content-fields/hubtype-fields/video.js +0 -3
  414. package/lib/cjs/content-fields/hubtype-fields/video.js.map +0 -1
  415. package/lib/cjs/content-fields/hubtype-fields/webview.js +0 -3
  416. package/lib/cjs/content-fields/hubtype-fields/webview.js.map +0 -1
  417. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +0 -3
  418. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
  419. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +0 -17
  420. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -3
  421. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
  422. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -72
  423. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js +0 -3
  424. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
  425. package/lib/cjs/content-fields/index.js +0 -47
  426. package/lib/cjs/content-fields/index.js.map +0 -1
  427. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -13
  428. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -39
  429. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
  430. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -34
  431. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
  432. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -41
  433. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
  434. package/lib/cjs/filters/index.d.ts +0 -12
  435. package/lib/cjs/filters/index.js +0 -17
  436. package/lib/cjs/filters/index.js.map +0 -1
  437. package/lib/cjs/flow-factory.js +0 -65
  438. package/lib/cjs/flow-factory.js.map +0 -1
  439. package/lib/cjs/functions/index.d.ts +0 -11
  440. package/lib/cjs/functions/index.js +0 -49
  441. package/lib/cjs/functions/index.js.map +0 -1
  442. package/lib/cjs/helpers.d.ts +0 -3
  443. package/lib/cjs/helpers.js +0 -16
  444. package/lib/cjs/helpers.js.map +0 -1
  445. package/lib/cjs/index.d.ts +0 -46
  446. package/lib/cjs/index.js +0 -182
  447. package/lib/cjs/index.js.map +0 -1
  448. package/lib/cjs/services/hubtype-queues-api.d.ts +0 -14
  449. package/lib/cjs/services/hubtype-queues-api.js +0 -26
  450. package/lib/cjs/services/hubtype-queues-api.js.map +0 -1
  451. package/lib/cjs/tracking.d.ts +0 -16
  452. package/lib/cjs/tracking.js +0 -72
  453. package/lib/cjs/tracking.js.map +0 -1
  454. package/lib/cjs/types.d.ts +0 -63
  455. package/lib/cjs/types.js +0 -14
  456. package/lib/cjs/types.js.map +0 -1
  457. package/lib/cjs/user-input/capture-user-input-api.d.ts +0 -21
  458. package/lib/cjs/user-input/capture-user-input-api.js +0 -88
  459. package/lib/cjs/user-input/capture-user-input-api.js.map +0 -1
  460. package/lib/cjs/user-input/index.d.ts +0 -4
  461. package/lib/cjs/user-input/index.js +0 -37
  462. package/lib/cjs/user-input/index.js.map +0 -1
  463. package/lib/cjs/user-input/keyword.js +0 -84
  464. package/lib/cjs/user-input/keyword.js.map +0 -1
  465. package/lib/cjs/user-input/smart-intent.js +0 -85
  466. package/lib/cjs/user-input/smart-intent.js.map +0 -1
  467. package/lib/cjs/utils.d.ts +0 -8
  468. package/lib/cjs/utils.js +0 -57
  469. package/lib/cjs/utils.js.map +0 -1
  470. package/lib/cjs/webview/contents-context.d.ts +0 -2
  471. package/lib/cjs/webview/contents-context.js +0 -12
  472. package/lib/cjs/webview/contents-context.js.map +0 -1
  473. package/lib/cjs/webview/index.d.ts +0 -3
  474. package/lib/cjs/webview/index.js +0 -10
  475. package/lib/cjs/webview/index.js.map +0 -1
  476. package/lib/cjs/webview/types.d.ts +0 -47
  477. package/lib/cjs/webview/types.js +0 -9
  478. package/lib/cjs/webview/types.js.map +0 -1
  479. package/lib/cjs/webview/use-webview-contents.d.ts +0 -2
  480. package/lib/cjs/webview/use-webview-contents.js +0 -83
  481. package/lib/cjs/webview/use-webview-contents.js.map +0 -1
  482. package/lib/esm/action/ai-agent.d.ts +0 -3
  483. package/lib/esm/action/ai-agent.js +0 -67
  484. package/lib/esm/action/ai-agent.js.map +0 -1
  485. package/lib/esm/action/fallback.d.ts +0 -3
  486. package/lib/esm/action/fallback.js +0 -36
  487. package/lib/esm/action/fallback.js.map +0 -1
  488. package/lib/esm/action/first-interaction.d.ts +0 -3
  489. package/lib/esm/action/first-interaction.js +0 -91
  490. package/lib/esm/action/first-interaction.js.map +0 -1
  491. package/lib/esm/action/index.d.ts +0 -28
  492. package/lib/esm/action/index.js +0 -127
  493. package/lib/esm/action/index.js.map +0 -1
  494. package/lib/esm/action/knowledge-bases.d.ts +0 -3
  495. package/lib/esm/action/knowledge-bases.js +0 -85
  496. package/lib/esm/action/knowledge-bases.js.map +0 -1
  497. package/lib/esm/action/payload.d.ts +0 -3
  498. package/lib/esm/action/payload.js +0 -74
  499. package/lib/esm/action/payload.js.map +0 -1
  500. package/lib/esm/api.js +0 -254
  501. package/lib/esm/api.js.map +0 -1
  502. package/lib/esm/constants.d.ts +0 -14
  503. package/lib/esm/constants.js +0 -20
  504. package/lib/esm/constants.js.map +0 -1
  505. package/lib/esm/content-fields/content-fields-base.js +0 -66
  506. package/lib/esm/content-fields/content-fields-base.js.map +0 -1
  507. package/lib/esm/content-fields/flow-ai-agent.d.ts +0 -22
  508. package/lib/esm/content-fields/flow-ai-agent.js +0 -53
  509. package/lib/esm/content-fields/flow-ai-agent.js.map +0 -1
  510. package/lib/esm/content-fields/flow-bot-action.d.ts +0 -12
  511. package/lib/esm/content-fields/flow-bot-action.js +0 -39
  512. package/lib/esm/content-fields/flow-bot-action.js.map +0 -1
  513. package/lib/esm/content-fields/flow-button.js +0 -103
  514. package/lib/esm/content-fields/flow-button.js.map +0 -1
  515. package/lib/esm/content-fields/flow-capture-user-input.js +0 -43
  516. package/lib/esm/content-fields/flow-capture-user-input.js.map +0 -1
  517. package/lib/esm/content-fields/flow-carousel.d.ts +0 -21
  518. package/lib/esm/content-fields/flow-carousel.js +0 -147
  519. package/lib/esm/content-fields/flow-carousel.js.map +0 -1
  520. package/lib/esm/content-fields/flow-channel-conditional.d.ts +0 -13
  521. package/lib/esm/content-fields/flow-channel-conditional.js +0 -53
  522. package/lib/esm/content-fields/flow-channel-conditional.js.map +0 -1
  523. package/lib/esm/content-fields/flow-country-conditional.d.ts +0 -12
  524. package/lib/esm/content-fields/flow-country-conditional.js +0 -54
  525. package/lib/esm/content-fields/flow-country-conditional.js.map +0 -1
  526. package/lib/esm/content-fields/flow-custom-conditional.d.ts +0 -16
  527. package/lib/esm/content-fields/flow-custom-conditional.js +0 -83
  528. package/lib/esm/content-fields/flow-custom-conditional.js.map +0 -1
  529. package/lib/esm/content-fields/flow-element.d.ts +0 -22
  530. package/lib/esm/content-fields/flow-element.js +0 -46
  531. package/lib/esm/content-fields/flow-element.js.map +0 -1
  532. package/lib/esm/content-fields/flow-go-to-flow.d.ts +0 -13
  533. package/lib/esm/content-fields/flow-go-to-flow.js +0 -58
  534. package/lib/esm/content-fields/flow-go-to-flow.js.map +0 -1
  535. package/lib/esm/content-fields/flow-handoff.d.ts +0 -16
  536. package/lib/esm/content-fields/flow-handoff.js +0 -63
  537. package/lib/esm/content-fields/flow-handoff.js.map +0 -1
  538. package/lib/esm/content-fields/flow-image.d.ts +0 -9
  539. package/lib/esm/content-fields/flow-image.js +0 -28
  540. package/lib/esm/content-fields/flow-image.js.map +0 -1
  541. package/lib/esm/content-fields/flow-knowledge-base.d.ts +0 -20
  542. package/lib/esm/content-fields/flow-knowledge-base.js +0 -39
  543. package/lib/esm/content-fields/flow-knowledge-base.js.map +0 -1
  544. package/lib/esm/content-fields/flow-queue-status-conditional.js +0 -90
  545. package/lib/esm/content-fields/flow-queue-status-conditional.js.map +0 -1
  546. package/lib/esm/content-fields/flow-rating.js +0 -61
  547. package/lib/esm/content-fields/flow-rating.js.map +0 -1
  548. package/lib/esm/content-fields/flow-text.d.ts +0 -15
  549. package/lib/esm/content-fields/flow-text.js +0 -54
  550. package/lib/esm/content-fields/flow-text.js.map +0 -1
  551. package/lib/esm/content-fields/flow-video.d.ts +0 -9
  552. package/lib/esm/content-fields/flow-video.js +0 -28
  553. package/lib/esm/content-fields/flow-video.js.map +0 -1
  554. package/lib/esm/content-fields/flow-webview.js +0 -42
  555. package/lib/esm/content-fields/flow-webview.js.map +0 -1
  556. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -19
  557. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +0 -87
  558. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
  559. package/lib/esm/content-fields/flow-whatsapp-template.js +0 -183
  560. package/lib/esm/content-fields/flow-whatsapp-template.js.map +0 -1
  561. package/lib/esm/content-fields/hubtype-fields/ai-agent.d.ts +0 -25
  562. package/lib/esm/content-fields/hubtype-fields/ai-agent.js +0 -3
  563. package/lib/esm/content-fields/hubtype-fields/ai-agent.js.map +0 -1
  564. package/lib/esm/content-fields/hubtype-fields/bot-action.d.ts +0 -10
  565. package/lib/esm/content-fields/hubtype-fields/bot-action.js +0 -3
  566. package/lib/esm/content-fields/hubtype-fields/bot-action.js.map +0 -1
  567. package/lib/esm/content-fields/hubtype-fields/button.js +0 -3
  568. package/lib/esm/content-fields/hubtype-fields/button.js.map +0 -1
  569. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +0 -12
  570. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
  571. package/lib/esm/content-fields/hubtype-fields/carousel.js +0 -3
  572. package/lib/esm/content-fields/hubtype-fields/carousel.js.map +0 -1
  573. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +0 -3
  574. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
  575. package/lib/esm/content-fields/hubtype-fields/common.d.ts +0 -78
  576. package/lib/esm/content-fields/hubtype-fields/common.js +0 -3
  577. package/lib/esm/content-fields/hubtype-fields/common.js.map +0 -1
  578. package/lib/esm/content-fields/hubtype-fields/country-conditional.d.ts +0 -10
  579. package/lib/esm/content-fields/hubtype-fields/country-conditional.js +0 -3
  580. package/lib/esm/content-fields/hubtype-fields/country-conditional.js.map +0 -1
  581. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +0 -3
  582. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
  583. package/lib/esm/content-fields/hubtype-fields/fallback.js +0 -3
  584. package/lib/esm/content-fields/hubtype-fields/fallback.js.map +0 -1
  585. package/lib/esm/content-fields/hubtype-fields/function.d.ts +0 -30
  586. package/lib/esm/content-fields/hubtype-fields/function.js +0 -11
  587. package/lib/esm/content-fields/hubtype-fields/function.js.map +0 -1
  588. package/lib/esm/content-fields/hubtype-fields/go-to-flow.d.ts +0 -9
  589. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +0 -3
  590. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
  591. package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +0 -11
  592. package/lib/esm/content-fields/hubtype-fields/handoff.js +0 -3
  593. package/lib/esm/content-fields/hubtype-fields/handoff.js.map +0 -1
  594. package/lib/esm/content-fields/hubtype-fields/image.d.ts +0 -8
  595. package/lib/esm/content-fields/hubtype-fields/image.js +0 -3
  596. package/lib/esm/content-fields/hubtype-fields/image.js.map +0 -1
  597. package/lib/esm/content-fields/hubtype-fields/index.js +0 -28
  598. package/lib/esm/content-fields/hubtype-fields/index.js.map +0 -1
  599. package/lib/esm/content-fields/hubtype-fields/keyword.js +0 -3
  600. package/lib/esm/content-fields/hubtype-fields/keyword.js.map +0 -1
  601. package/lib/esm/content-fields/hubtype-fields/knowledge-base.d.ts +0 -17
  602. package/lib/esm/content-fields/hubtype-fields/knowledge-base.js +0 -3
  603. package/lib/esm/content-fields/hubtype-fields/knowledge-base.js.map +0 -1
  604. package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +0 -29
  605. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +0 -1
  606. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +0 -24
  607. package/lib/esm/content-fields/hubtype-fields/nodes.js +0 -3
  608. package/lib/esm/content-fields/hubtype-fields/nodes.js.map +0 -1
  609. package/lib/esm/content-fields/hubtype-fields/payload.js +0 -3
  610. package/lib/esm/content-fields/hubtype-fields/payload.js.map +0 -1
  611. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +0 -3
  612. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
  613. package/lib/esm/content-fields/hubtype-fields/rating.d.ts +0 -23
  614. package/lib/esm/content-fields/hubtype-fields/rating.js +0 -9
  615. package/lib/esm/content-fields/hubtype-fields/rating.js.map +0 -1
  616. package/lib/esm/content-fields/hubtype-fields/smart-intent.js +0 -3
  617. package/lib/esm/content-fields/hubtype-fields/smart-intent.js.map +0 -1
  618. package/lib/esm/content-fields/hubtype-fields/text.js +0 -3
  619. package/lib/esm/content-fields/hubtype-fields/text.js.map +0 -1
  620. package/lib/esm/content-fields/hubtype-fields/url.js +0 -3
  621. package/lib/esm/content-fields/hubtype-fields/url.js.map +0 -1
  622. package/lib/esm/content-fields/hubtype-fields/video.d.ts +0 -8
  623. package/lib/esm/content-fields/hubtype-fields/video.js +0 -3
  624. package/lib/esm/content-fields/hubtype-fields/video.js.map +0 -1
  625. package/lib/esm/content-fields/hubtype-fields/webview.d.ts +0 -16
  626. package/lib/esm/content-fields/hubtype-fields/webview.js +0 -3
  627. package/lib/esm/content-fields/hubtype-fields/webview.js.map +0 -1
  628. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.d.ts +0 -21
  629. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +0 -3
  630. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
  631. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -3
  632. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
  633. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -72
  634. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +0 -3
  635. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
  636. package/lib/esm/content-fields/index.js +0 -47
  637. package/lib/esm/content-fields/index.js.map +0 -1
  638. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -13
  639. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -39
  640. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
  641. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +0 -12
  642. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -34
  643. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
  644. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -13
  645. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -41
  646. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
  647. package/lib/esm/filters/index.d.ts +0 -12
  648. package/lib/esm/filters/index.js +0 -17
  649. package/lib/esm/filters/index.js.map +0 -1
  650. package/lib/esm/flow-factory.d.ts +0 -12
  651. package/lib/esm/flow-factory.js +0 -65
  652. package/lib/esm/flow-factory.js.map +0 -1
  653. package/lib/esm/functions/index.js +0 -49
  654. package/lib/esm/functions/index.js.map +0 -1
  655. package/lib/esm/helpers.d.ts +0 -3
  656. package/lib/esm/helpers.js.map +0 -1
  657. package/lib/esm/index.d.ts +0 -46
  658. package/lib/esm/index.js +0 -182
  659. package/lib/esm/index.js.map +0 -1
  660. package/lib/esm/services/hubtype-queues-api.js +0 -26
  661. package/lib/esm/services/hubtype-queues-api.js.map +0 -1
  662. package/lib/esm/tracking.d.ts +0 -16
  663. package/lib/esm/tracking.js +0 -72
  664. package/lib/esm/tracking.js.map +0 -1
  665. package/lib/esm/types.d.ts +0 -63
  666. package/lib/esm/types.js +0 -14
  667. package/lib/esm/types.js.map +0 -1
  668. package/lib/esm/user-input/capture-user-input-api.d.ts +0 -21
  669. package/lib/esm/user-input/capture-user-input-api.js +0 -88
  670. package/lib/esm/user-input/capture-user-input-api.js.map +0 -1
  671. package/lib/esm/user-input/index.d.ts +0 -4
  672. package/lib/esm/user-input/index.js +0 -37
  673. package/lib/esm/user-input/index.js.map +0 -1
  674. package/lib/esm/user-input/keyword.d.ts +0 -27
  675. package/lib/esm/user-input/keyword.js +0 -84
  676. package/lib/esm/user-input/keyword.js.map +0 -1
  677. package/lib/esm/user-input/smart-intent.d.ts +0 -23
  678. package/lib/esm/user-input/smart-intent.js +0 -85
  679. package/lib/esm/user-input/smart-intent.js.map +0 -1
  680. package/lib/esm/utils.d.ts +0 -8
  681. package/lib/esm/utils.js +0 -57
  682. package/lib/esm/utils.js.map +0 -1
  683. package/lib/esm/webview/contents-context.d.ts +0 -2
  684. package/lib/esm/webview/contents-context.js +0 -12
  685. package/lib/esm/webview/contents-context.js.map +0 -1
  686. package/lib/esm/webview/index.d.ts +0 -3
  687. package/lib/esm/webview/index.js +0 -10
  688. package/lib/esm/webview/index.js.map +0 -1
  689. package/lib/esm/webview/types.d.ts +0 -47
  690. package/lib/esm/webview/types.js +0 -9
  691. package/lib/esm/webview/types.js.map +0 -1
  692. package/lib/esm/webview/use-webview-contents.d.ts +0 -2
  693. package/lib/esm/webview/use-webview-contents.js +0 -83
  694. package/lib/esm/webview/use-webview-contents.js.map +0 -1
  695. package/src/action/ai-agent.ts +0 -102
  696. package/src/action/fallback.ts +0 -55
  697. package/src/action/first-interaction.ts +0 -131
  698. package/src/action/index.tsx +0 -205
  699. package/src/action/knowledge-bases.ts +0 -161
  700. package/src/action/payload.ts +0 -104
  701. package/src/api.ts +0 -364
  702. package/src/constants.ts +0 -20
  703. package/src/content-fields/content-fields-base.ts +0 -100
  704. package/src/content-fields/flow-ai-agent.tsx +0 -67
  705. package/src/content-fields/flow-bot-action.tsx +0 -52
  706. package/src/content-fields/flow-button.tsx +0 -163
  707. package/src/content-fields/flow-capture-user-input.tsx +0 -45
  708. package/src/content-fields/flow-carousel.tsx +0 -254
  709. package/src/content-fields/flow-channel-conditional.tsx +0 -65
  710. package/src/content-fields/flow-country-conditional.tsx +0 -67
  711. package/src/content-fields/flow-custom-conditional.tsx +0 -117
  712. package/src/content-fields/flow-element.tsx +0 -79
  713. package/src/content-fields/flow-go-to-flow.tsx +0 -75
  714. package/src/content-fields/flow-handoff.tsx +0 -99
  715. package/src/content-fields/flow-image.tsx +0 -26
  716. package/src/content-fields/flow-knowledge-base.tsx +0 -51
  717. package/src/content-fields/flow-queue-status-conditional.tsx +0 -130
  718. package/src/content-fields/flow-rating.tsx +0 -99
  719. package/src/content-fields/flow-text.tsx +0 -81
  720. package/src/content-fields/flow-video.tsx +0 -26
  721. package/src/content-fields/flow-webview.tsx +0 -46
  722. package/src/content-fields/flow-whatsapp-cta-url-button.tsx +0 -209
  723. package/src/content-fields/flow-whatsapp-template.tsx +0 -319
  724. package/src/content-fields/hubtype-fields/ai-agent.ts +0 -22
  725. package/src/content-fields/hubtype-fields/bot-action.ts +0 -11
  726. package/src/content-fields/hubtype-fields/button.ts +0 -9
  727. package/src/content-fields/hubtype-fields/capture-user-input.ts +0 -21
  728. package/src/content-fields/hubtype-fields/carousel.ts +0 -19
  729. package/src/content-fields/hubtype-fields/channel-conditional.ts +0 -11
  730. package/src/content-fields/hubtype-fields/common.ts +0 -94
  731. package/src/content-fields/hubtype-fields/country-conditional.ts +0 -11
  732. package/src/content-fields/hubtype-fields/custom-conditional.ts +0 -12
  733. package/src/content-fields/hubtype-fields/fallback.ts +0 -12
  734. package/src/content-fields/hubtype-fields/function.ts +0 -36
  735. package/src/content-fields/hubtype-fields/go-to-flow.ts +0 -10
  736. package/src/content-fields/hubtype-fields/handoff.ts +0 -12
  737. package/src/content-fields/hubtype-fields/image.ts +0 -9
  738. package/src/content-fields/hubtype-fields/index.ts +0 -24
  739. package/src/content-fields/hubtype-fields/keyword.ts +0 -10
  740. package/src/content-fields/hubtype-fields/knowledge-base.ts +0 -18
  741. package/src/content-fields/hubtype-fields/node-types.ts +0 -31
  742. package/src/content-fields/hubtype-fields/nodes.ts +0 -54
  743. package/src/content-fields/hubtype-fields/payload.ts +0 -9
  744. package/src/content-fields/hubtype-fields/queue-status-conditional.ts +0 -55
  745. package/src/content-fields/hubtype-fields/rating.ts +0 -26
  746. package/src/content-fields/hubtype-fields/smart-intent.ts +0 -12
  747. package/src/content-fields/hubtype-fields/text.ts +0 -12
  748. package/src/content-fields/hubtype-fields/url.ts +0 -9
  749. package/src/content-fields/hubtype-fields/video.ts +0 -9
  750. package/src/content-fields/hubtype-fields/webview.ts +0 -18
  751. package/src/content-fields/hubtype-fields/whatsapp-button-list.ts +0 -25
  752. package/src/content-fields/hubtype-fields/whatsapp-cta-url-button.ts +0 -19
  753. package/src/content-fields/hubtype-fields/whatsapp-template.ts +0 -90
  754. package/src/content-fields/index.ts +0 -67
  755. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.tsx +0 -55
  756. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx +0 -51
  757. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx +0 -78
  758. package/src/filters/index.ts +0 -27
  759. package/src/flow-factory.ts +0 -134
  760. package/src/functions/index.ts +0 -78
  761. package/src/helpers.ts +0 -25
  762. package/src/index.ts +0 -301
  763. package/src/services/hubtype-queues-api.ts +0 -36
  764. package/src/tracking.ts +0 -118
  765. package/src/types.ts +0 -117
  766. package/src/user-input/capture-user-input-api.ts +0 -144
  767. package/src/user-input/index.ts +0 -61
  768. package/src/user-input/keyword.ts +0 -134
  769. package/src/user-input/smart-intent.ts +0 -119
  770. package/src/utils.ts +0 -66
  771. package/src/webview/contents-context.ts +0 -11
  772. package/src/webview/index.ts +0 -3
  773. package/src/webview/types.ts +0 -52
  774. package/src/webview/use-webview-contents.ts +0 -120
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useWebviewContents = useWebviewContents;
4
- const tslib_1 = require("tslib");
5
- const axios_1 = tslib_1.__importDefault(require("axios"));
6
- const react_1 = require("react");
7
- const constants_1 = require("../constants");
8
- const types_1 = require("../types");
9
- const types_2 = require("./types");
10
- function useWebviewContents({ apiUrl = constants_1.FLOW_BUILDER_API_URL_PROD, version = types_1.FlowBuilderJSONVersion.LATEST, botId, webviewId, providerId, locale, mapContents, }) {
11
- const [textContents, setTextContents] = (0, react_1.useState)();
12
- const [imageContents, setImageContents] = (0, react_1.useState)();
13
- const [contents, setContents] = (0, react_1.useState)({});
14
- const [currentLocale, setCurrentLocale] = (0, react_1.useState)(locale);
15
- const [error, setError] = (0, react_1.useState)(false);
16
- const updateCurrentLocale = (textContents) => {
17
- if (!textContents || textContents.length === 0) {
18
- console.log('There is no text contents to check the locale');
19
- return;
20
- }
21
- const locales = textContents[0].content.text.map(text => text.locale);
22
- const language = currentLocale.split('-')[0];
23
- if (locales.includes(currentLocale)) {
24
- setCurrentLocale(currentLocale);
25
- return;
26
- }
27
- if (locales.includes(language)) {
28
- setCurrentLocale(language);
29
- return;
30
- }
31
- console.error(`locale: ${currentLocale} cannot be resolved with: ${locales.join(', ')}`);
32
- };
33
- const getTextContent = (contentID) => {
34
- return (textContents
35
- ?.find(textContent => textContent.code === contentID)
36
- ?.content.text.find(text => text.locale === currentLocale)?.message ||
37
- '');
38
- };
39
- const getImageSrc = (contentID) => {
40
- return (imageContents
41
- ?.find(imageContent => imageContent.code === contentID)
42
- ?.content.image.find(image => image.locale === currentLocale)?.file ||
43
- '');
44
- };
45
- (0, react_1.useEffect)(() => {
46
- if (textContents || imageContents) {
47
- const contentsObject = {};
48
- for (const [key, value] of Object.entries(mapContents)) {
49
- contentsObject[key] = getTextContent(value) || getImageSrc(value);
50
- }
51
- setContents(contentsObject);
52
- }
53
- }, [textContents, imageContents, currentLocale]);
54
- (0, react_1.useEffect)(() => {
55
- const getResponseContents = async () => {
56
- const url = `${apiUrl}/v1/bot_flows/${botId}/versions/${version}/webviews/${webviewId}/?provider_id=${providerId}`;
57
- try {
58
- const response = await axios_1.default.get(url);
59
- const textResponseContents = response.data.filter(webviewContent => webviewContent.type === types_2.WebviewContentType.TEXT);
60
- setTextContents(textResponseContents);
61
- const imageResponseContents = response.data.filter(webviewContent => webviewContent.type === types_2.WebviewContentType.IMAGE);
62
- setImageContents(imageResponseContents);
63
- updateCurrentLocale(textResponseContents);
64
- }
65
- catch (error) {
66
- console.error('Error fetching webview contents:', error);
67
- setError(true);
68
- }
69
- };
70
- getResponseContents();
71
- }, []);
72
- return {
73
- isLoading: Object.keys(contents).length === 0,
74
- error,
75
- webviewContentsContext: {
76
- getTextContent,
77
- getImageSrc,
78
- setCurrentLocale,
79
- contents,
80
- },
81
- };
82
- }
83
- //# sourceMappingURL=use-webview-contents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-webview-contents.js","sourceRoot":"","sources":["../../../src/webview/use-webview-contents.ts"],"names":[],"mappings":"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"}
@@ -1,102 +0,0 @@
1
- import {
2
- type BotContext,
3
- EventAction,
4
- type EventAiAgent,
5
- type InferenceResponse,
6
- } from '@botonic/core'
7
-
8
- import { FlowAiAgent, type FlowContent } from '../content-fields'
9
- import type { HtNodeWithContent } from '../content-fields/hubtype-fields'
10
- import { getFlowBuilderPlugin } from '../helpers'
11
- import { trackEvent } from '../tracking'
12
- import type { GuardrailRule } from '../types'
13
- import type { FlowBuilderContext } from './index'
14
-
15
- export async function getContentsByAiAgent({
16
- cmsApi,
17
- flowBuilderPlugin,
18
- request,
19
- }: FlowBuilderContext): Promise<FlowContent[]> {
20
- const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow()
21
- const isAiAgentEnabled = cmsApi.isAiAgentEnabled()
22
- if (!startNodeAiAgentFlow || !isAiAgentEnabled) {
23
- return []
24
- }
25
-
26
- const contents =
27
- await flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow)
28
-
29
- const aiAgentContent = contents.find(
30
- content => content instanceof FlowAiAgent
31
- ) as FlowAiAgent
32
-
33
- if (!aiAgentContent) {
34
- return []
35
- }
36
-
37
- const activeInputGuardrailRules: GuardrailRule[] =
38
- aiAgentContent.inputGuardrailRules
39
- ?.filter(rule => rule.is_active)
40
- ?.map(rule => ({
41
- name: rule.name,
42
- description: rule.description,
43
- })) || []
44
-
45
- const aiAgentResponse = await flowBuilderPlugin.getAiAgentResponse?.(
46
- request,
47
- {
48
- name: aiAgentContent.name,
49
- instructions: aiAgentContent.instructions,
50
- model: aiAgentContent.model,
51
- verbosity: aiAgentContent.verbosity,
52
- activeTools: aiAgentContent.activeTools,
53
- inputGuardrailRules: activeInputGuardrailRules,
54
- sourceIds: aiAgentContent.sources?.map(source => source.id),
55
- }
56
- )
57
-
58
- if (!aiAgentResponse) {
59
- return []
60
- }
61
- await trackAiAgentResponse(aiAgentResponse, request, aiAgentContent)
62
-
63
- if (aiAgentResponse.exit) {
64
- return []
65
- }
66
-
67
- aiAgentContent.responses = aiAgentResponse.messages
68
-
69
- return contents
70
- }
71
-
72
- async function trackAiAgentResponse(
73
- aiAgentResponse: InferenceResponse,
74
- request: BotContext,
75
- aiAgentContent: FlowAiAgent
76
- ) {
77
- const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
78
- const flowId = flowBuilderPlugin.cmsApi.getNodeById<HtNodeWithContent>(
79
- aiAgentContent.id
80
- ).flow_id
81
- const flowName = flowBuilderPlugin.getFlowName(flowId)
82
-
83
- const event: EventAiAgent = {
84
- action: EventAction.AiAgent,
85
- flowThreadId: request.session.flow_thread_id!,
86
- flowId: flowId,
87
- flowName: flowName,
88
- flowNodeId: aiAgentContent.id,
89
- flowNodeContentId: aiAgentContent.name,
90
- flowNodeIsMeaningful: true,
91
- toolsExecuted: aiAgentResponse?.toolsExecuted ?? [],
92
- memoryLength: aiAgentResponse?.memoryLength ?? 0,
93
- inputMessageId: request.input.message_id!,
94
- exit: aiAgentResponse?.exit ?? true,
95
- inputGuardrailsTriggered: aiAgentResponse?.inputGuardrailsTriggered ?? [],
96
- outputGuardrailsTriggered: [], //aiAgentResponse.outputGuardrailsTriggered,
97
- error: aiAgentResponse.error,
98
- }
99
- const { action, ...eventArgs } = event
100
-
101
- await trackEvent(request, action, eventArgs)
102
- }
@@ -1,55 +0,0 @@
1
- import { EventAction, type EventFallback } from '@botonic/core'
2
- import type { ActionRequest } from '@botonic/react'
3
-
4
- import type { FlowBuilderApi } from '../api'
5
- import type { FlowContent } from '../content-fields'
6
- import {
7
- getCommonFlowContentEventArgsForContentId,
8
- trackEvent,
9
- } from '../tracking'
10
- import type { FlowBuilderContext } from './index'
11
-
12
- export async function getContentsByFallback({
13
- cmsApi,
14
- flowBuilderPlugin,
15
- request,
16
- }: FlowBuilderContext): Promise<FlowContent[]> {
17
- const fallbackNode = await getFallbackNode(cmsApi, request)
18
- const fallbackContents =
19
- await flowBuilderPlugin.getContentsByNode(fallbackNode)
20
-
21
- return fallbackContents
22
- }
23
-
24
- async function getFallbackNode(cmsApi: FlowBuilderApi, request: ActionRequest) {
25
- if (request.session.user.extra_data?.isFirstFallbackOption === undefined) {
26
- request.session.user.extra_data = {
27
- ...request.session.user.extra_data,
28
- isFirstFallbackOption: true,
29
- }
30
- }
31
-
32
- const isFirstFallbackOption =
33
- !!request.session.user.extra_data.isFirstFallbackOption
34
- const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption)
35
- request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption
36
-
37
- const { flowId, flowName, flowNodeId, flowNodeContentId } =
38
- getCommonFlowContentEventArgsForContentId(request, fallbackNode.id)
39
-
40
- const event: EventFallback = {
41
- action: EventAction.Fallback,
42
- flowId,
43
- flowName,
44
- flowNodeId,
45
- flowNodeContentId,
46
- userInput: request.input.data as string,
47
- fallbackOut: isFirstFallbackOption ? 1 : 2,
48
- fallbackMessageId: request.input.message_id,
49
- }
50
- const { action, ...eventArgs } = event
51
-
52
- await trackEvent(request, action, eventArgs)
53
-
54
- return fallbackNode
55
- }
@@ -1,131 +0,0 @@
1
- import type { FlowBuilderApi } from '../api'
2
- import { MAIN_FLOW_NAME } from '../constants'
3
- import { FlowBotAction, type FlowContent } from '../content-fields'
4
- import type BotonicPluginFlowBuilder from '../index'
5
- import { inputHasTextOrTranscript } from '../utils'
6
- import { getContentsByAiAgent } from './ai-agent'
7
- import type { FlowBuilderContext } from './index'
8
- import { getContentsByKnowledgeBase } from './knowledge-bases'
9
- import { getContentsByPayload } from './payload'
10
-
11
- export async function getContentsByFirstInteraction(
12
- context: FlowBuilderContext
13
- ): Promise<FlowContent[]> {
14
- const { contentID, flowBuilderPlugin, request } = context
15
-
16
- /*
17
- * If the contentID is provided, the firstInteractionContents are obtained even if they are not used
18
- * because when obtain this firstInteractionContents is when the session.flow_thread_id is updated.
19
- * This is needed for example when send a WhatsApp campaign is sent,
20
- * the bot not receives the message because this message is sent directly by the backend
21
- * we expect the bot to respond only with the contents of the contentID and not with the firstInteractionContents.
22
- */
23
- const firstInteractionContents = await flowBuilderPlugin.getStartContents()
24
-
25
- if (contentID) {
26
- try {
27
- const contentsByContentID =
28
- await flowBuilderPlugin.getContentsByContentID(contentID)
29
-
30
- if (contentsByContentID.length > 0) {
31
- return contentsByContentID
32
- }
33
- } catch (_error) {
34
- console.warn(
35
- `The contentID ${contentID} is not found. Returning the firstInteractionContents`
36
- )
37
- }
38
- }
39
-
40
- /* If the first interaction has a FlowBotAction, it should be the last content
41
- * and avoid to render the match with keywords,intents or knowledge base
42
- */
43
- if (firstInteractionContents.at(-1) instanceof FlowBotAction) {
44
- return firstInteractionContents
45
- }
46
-
47
- if (request.input.nluResolution || inputHasTextOrTranscript(request.input)) {
48
- const contentsByUserInput = await getContentsByUserInput(context)
49
-
50
- return [...firstInteractionContents, ...contentsByUserInput]
51
- }
52
-
53
- return firstInteractionContents
54
- }
55
-
56
- async function getContentsByUserInput(
57
- context: FlowBuilderContext
58
- ): Promise<FlowContent[]> {
59
- const { cmsApi, flowBuilderPlugin, request, resolvedLocale } = context
60
- const payloadByNlu = request.input.nluResolution?.payload
61
-
62
- if (payloadByNlu) {
63
- request.input.payload = payloadByNlu
64
- const conversationStartId = getConversationStartId(cmsApi)
65
-
66
- if (request.input.payload === conversationStartId) {
67
- return []
68
- }
69
-
70
- const contentsByKeywordsOrIntents = await getContentsByPayload({
71
- cmsApi,
72
- flowBuilderPlugin,
73
- request,
74
- resolvedLocale,
75
- })
76
-
77
- const hasRepeatedContent = await checkRepeatedContents(
78
- flowBuilderPlugin,
79
- contentsByKeywordsOrIntents
80
- )
81
-
82
- if (hasRepeatedContent) {
83
- return []
84
- }
85
-
86
- if (contentsByKeywordsOrIntents.length > 0) {
87
- return contentsByKeywordsOrIntents
88
- }
89
- }
90
-
91
- const contentsByKnowledgeBase = await getContentsByKnowledgeBase({
92
- cmsApi,
93
- flowBuilderPlugin,
94
- request,
95
- resolvedLocale,
96
- })
97
-
98
- if (contentsByKnowledgeBase.length > 0) {
99
- return contentsByKnowledgeBase
100
- }
101
-
102
- if (!flowBuilderPlugin.disableAIAgentInFirstInteraction) {
103
- const contentsByAiAgent = await getContentsByAiAgent(context)
104
- return contentsByAiAgent
105
- }
106
-
107
- return []
108
- }
109
-
110
- function getConversationStartId(cmsApi: FlowBuilderApi) {
111
- const conversationStartId = cmsApi.flow.flows.find(
112
- flow => flow.name === MAIN_FLOW_NAME
113
- )?.start_node_id
114
-
115
- return conversationStartId
116
- }
117
-
118
- async function checkRepeatedContents(
119
- flowBuilderPlugin: BotonicPluginFlowBuilder,
120
- contentsByKeywordsOrIntents: FlowContent[]
121
- ) {
122
- const startContents = await flowBuilderPlugin.getStartContents()
123
- const contentIds = new Set(
124
- contentsByKeywordsOrIntents.map(content => content.id)
125
- )
126
- const hasRepeatedContent = startContents.some(content =>
127
- contentIds.has(content.id)
128
- )
129
-
130
- return hasRepeatedContent
131
- }
@@ -1,205 +0,0 @@
1
- import { type BotContext, INPUT, isDev, isWebchat } from '@botonic/core'
2
- import {
3
- type ActionRequest,
4
- Multichannel,
5
- RequestContext,
6
- WebchatSettings,
7
- type WebchatSettingsProps,
8
- } from '@botonic/react'
9
- import React from 'react'
10
-
11
- import type { FlowBuilderApi } from '../api'
12
- import { EMPTY_PAYLOAD } from '../constants'
13
- import { type FlowContent, FlowHandoff } from '../content-fields'
14
- import { FlowBotAction } from '../content-fields/flow-bot-action'
15
- import { ContentFilterExecutor } from '../filters'
16
- import { getFlowBuilderPlugin } from '../helpers'
17
- import type BotonicPluginFlowBuilder from '../index'
18
- import { inputHasTextOrTranscript } from '../utils'
19
- import { getContentsByAiAgent } from './ai-agent'
20
- import { getContentsByFallback } from './fallback'
21
- import { getContentsByFirstInteraction } from './first-interaction'
22
- import { getContentsByKnowledgeBase } from './knowledge-bases'
23
- import { getContentsByPayload } from './payload'
24
-
25
- export type FlowBuilderActionProps = {
26
- contents: FlowContent[]
27
- webchatSettingsParams?: WebchatSettingsProps
28
- }
29
-
30
- export class FlowBuilderAction extends React.Component<FlowBuilderActionProps> {
31
- static contextType = RequestContext
32
- declare context: React.ContextType<typeof RequestContext>
33
-
34
- static async executeConversationStart(
35
- request: ActionRequest
36
- ): Promise<FlowBuilderActionProps> {
37
- const context = getContext(request)
38
- const contents = await getContentsByFirstInteraction(context)
39
- const filteredContents = await filterContents(request, contents)
40
- await FlowBuilderAction.trackAllContents(request, filteredContents)
41
- await FlowBuilderAction.doHandoffAndBotActions(request, filteredContents)
42
-
43
- return { contents: filteredContents }
44
- }
45
-
46
- static async botonicInit(
47
- request: ActionRequest,
48
- contentID?: string
49
- ): Promise<FlowBuilderActionProps> {
50
- const contents = await getContents(request, contentID)
51
- const filteredContents = await filterContents(request, contents)
52
- await FlowBuilderAction.trackAllContents(request, filteredContents)
53
- await FlowBuilderAction.doHandoffAndBotActions(request, filteredContents)
54
-
55
- return { contents: filteredContents }
56
- }
57
-
58
- static async trackAllContents(
59
- request: ActionRequest,
60
- contents: FlowContent[]
61
- ) {
62
- for (const content of contents) {
63
- await content.trackFlow(request)
64
- }
65
- }
66
-
67
- static async doHandoffAndBotActions(
68
- request: ActionRequest,
69
- contents: FlowContent[]
70
- ) {
71
- const handoffContent = contents.find(
72
- content => content instanceof FlowHandoff
73
- ) as FlowHandoff
74
- if (handoffContent) {
75
- await handoffContent.doHandoff(request)
76
- }
77
-
78
- const botActionContent = contents.find(
79
- content => content instanceof FlowBotAction
80
- ) as FlowBotAction
81
- if (botActionContent) {
82
- botActionContent.doBotAction(request)
83
- }
84
- }
85
-
86
- render(): JSX.Element | JSX.Element[] {
87
- const { contents, webchatSettingsParams } = this.props
88
- const request = this.context as ActionRequest
89
- const shouldSendWebchatSettings =
90
- (isWebchat(request.session) || isDev(request.session)) &&
91
- !!webchatSettingsParams
92
-
93
- return (
94
- <>
95
- {shouldSendWebchatSettings && (
96
- <WebchatSettings {...webchatSettingsParams} />
97
- )}
98
- {contents.map(content => content.toBotonic(content.id, request))}
99
- </>
100
- )
101
- }
102
- }
103
-
104
- export class FlowBuilderMultichannelAction extends FlowBuilderAction {
105
- render(): JSX.Element | JSX.Element[] {
106
- const { contents, webchatSettingsParams } = this.props
107
- const request = this.context as ActionRequest
108
- const shouldSendWebchatSettings =
109
- (isWebchat(request.session) || isDev(request.session)) &&
110
- !!webchatSettingsParams
111
-
112
- return (
113
- <Multichannel text={{ buttonsAsText: false }}>
114
- {shouldSendWebchatSettings && (
115
- <WebchatSettings {...webchatSettingsParams} />
116
- )}
117
- {contents.map(content => content.toBotonic(content.id, request))}
118
- </Multichannel>
119
- )
120
- }
121
- }
122
-
123
- async function getContents(
124
- request: ActionRequest,
125
- contentID?: string
126
- ): Promise<FlowContent[]> {
127
- const context = getContext(request, contentID)
128
-
129
- if (request.session.is_first_interaction) {
130
- return await getContentsByFirstInteraction(context)
131
- }
132
- // TODO: Add needed logic when we can define contents for multi locale queue position message
133
- if (request.input.type === INPUT.EVENT_QUEUE_POSITION_CHANGED) {
134
- return []
135
- }
136
-
137
- if (request.input.payload?.startsWith(EMPTY_PAYLOAD)) {
138
- request.input.payload = undefined
139
- }
140
-
141
- if (request.input.payload || contentID) {
142
- const contentsByPayload = await getContentsByPayload(context)
143
- if (contentsByPayload.length > 0) {
144
- return contentsByPayload
145
- }
146
-
147
- return await getContentsByFallback(context)
148
- }
149
-
150
- if (inputHasTextOrTranscript(request.input)) {
151
- const aiAgentContents = await getContentsByAiAgent(context)
152
- if (aiAgentContents.length > 0) {
153
- return aiAgentContents
154
- }
155
- const knowledgeBaseContents = await getContentsByKnowledgeBase(context)
156
- if (knowledgeBaseContents.length > 0) {
157
- return knowledgeBaseContents
158
- }
159
- }
160
-
161
- return await getContentsByFallback(context)
162
- }
163
-
164
- async function filterContents(
165
- request: BotContext,
166
- contents: FlowContent[]
167
- ): Promise<FlowContent[]> {
168
- const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
169
- const contentFilters = flowBuilderPlugin.contentFilters
170
- const contentFilterExecutor = new ContentFilterExecutor({
171
- filters: contentFilters,
172
- })
173
-
174
- const filteredContents: FlowContent[] = []
175
- for (const content of contents) {
176
- const filteredContent = await contentFilterExecutor.filter(request, content)
177
- filteredContents.push(filteredContent)
178
- }
179
-
180
- return filteredContents
181
- }
182
-
183
- export interface FlowBuilderContext {
184
- cmsApi: FlowBuilderApi
185
- flowBuilderPlugin: BotonicPluginFlowBuilder
186
- request: ActionRequest
187
- resolvedLocale: string
188
- contentID?: string
189
- }
190
-
191
- function getContext(
192
- request: ActionRequest,
193
- contentID?: string
194
- ): FlowBuilderContext {
195
- const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
196
- const cmsApi = flowBuilderPlugin.cmsApi
197
- const resolvedLocale = flowBuilderPlugin.cmsApi.getResolvedLocale()
198
- return {
199
- cmsApi,
200
- flowBuilderPlugin,
201
- request,
202
- resolvedLocale,
203
- contentID,
204
- }
205
- }