@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,100 +0,0 @@
1
- import type { ActionRequest } from '@botonic/react'
2
-
3
- import {
4
- ACCESS_TOKEN_VARIABLE_KEY,
5
- VARIABLE_PATTERN_GLOBAL,
6
- } from '../constants'
7
- import type {
8
- HtMediaFileLocale,
9
- HtNodeLink,
10
- HtQueueLocale,
11
- HtTextLocale,
12
- HtVideoLocale,
13
- } from './hubtype-fields'
14
-
15
- export abstract class ContentFieldsBase {
16
- public code: string
17
- public followUp?: HtNodeLink
18
-
19
- constructor(public readonly id: string) {}
20
-
21
- abstract trackFlow(request: ActionRequest): Promise<void>
22
-
23
- static getTextByLocale(locale: string, text: HtTextLocale[]): string {
24
- const result = text.find(t => t.locale === locale)
25
- return result?.message ?? ''
26
- }
27
-
28
- static getAssetByLocale(locale: string, asset: HtMediaFileLocale[]): string {
29
- const result = asset.find(i => i.locale === locale)
30
- return result?.file ?? ''
31
- }
32
-
33
- static getVideoByLocale(locale: string, video: HtVideoLocale[]): string {
34
- const result = video.find(v => v.locale === locale)
35
- return result?.url ?? ''
36
- }
37
-
38
- static getQueueByLocale(
39
- locale: string,
40
- queues: HtQueueLocale[]
41
- ): HtQueueLocale | undefined {
42
- return queues.find(queue => queue.locale === locale)
43
- }
44
-
45
- replaceVariables(text: string, request: ActionRequest): string {
46
- const matches = text.match(VARIABLE_PATTERN_GLOBAL)
47
-
48
- let replacedText = text
49
- if (matches && request) {
50
- matches.forEach(match => {
51
- // remove \\ ( escape for _ ) added by text node with markdown
52
- const keyPath = match.slice(1, -1).replaceAll('\\', '')
53
- const botVariable = keyPath.endsWith(ACCESS_TOKEN_VARIABLE_KEY)
54
- ? match
55
- : this.getValueFromKeyPath(request, keyPath)
56
- // TODO In local if change variable and render multiple times the value is always the last update
57
- replacedText = replacedText.replace(
58
- match,
59
- this.isValidType(botVariable) ? botVariable : match
60
- )
61
- })
62
- }
63
-
64
- return replacedText
65
- }
66
-
67
- getValueFromKeyPath(request: ActionRequest, keyPath: string): any {
68
- if (keyPath.startsWith('session.user.contact_info.')) {
69
- const name = keyPath.split('.').at(-1)
70
- return request.session.user.contact_info?.find(
71
- contact => contact.name === name
72
- )?.value
73
- }
74
-
75
- if (keyPath.startsWith('input.') || keyPath.startsWith('session.')) {
76
- return keyPath
77
- .split('.')
78
- .reduce((object, key) => this.resolveObjectKey(object, key), request)
79
- }
80
-
81
- return keyPath
82
- .split('.')
83
- .reduce(
84
- (object, key) => this.resolveObjectKey(object, key),
85
- request.session.user.extra_data
86
- )
87
- }
88
-
89
- private resolveObjectKey(object: any, key: string): any {
90
- if (object && object[key] !== undefined) {
91
- return object[key]
92
- }
93
- return undefined
94
- }
95
-
96
- private isValidType(botVariable: any): boolean {
97
- const validTypes = ['boolean', 'string', 'number']
98
- return validTypes.includes(typeof botVariable)
99
- }
100
- }
@@ -1,67 +0,0 @@
1
- import { type AgenticOutputMessage, VerbosityLevel } from '@botonic/core'
2
- import type { ActionRequest } from '@botonic/react'
3
-
4
- import { trackOneContent } from '../tracking'
5
- import { ContentFieldsBase } from './content-fields-base'
6
- import { FlowCarousel } from './flow-carousel'
7
- import { FlowText } from './flow-text'
8
- import type {
9
- HtAiAgentNode,
10
- HtInputGuardrailRule,
11
- } from './hubtype-fields/ai-agent'
12
-
13
- export class FlowAiAgent extends ContentFieldsBase {
14
- public name: string = ''
15
- public instructions: string = ''
16
- public model: string = ''
17
- public verbosity: VerbosityLevel = VerbosityLevel.Medium
18
- public activeTools?: { name: string }[]
19
- public inputGuardrailRules: HtInputGuardrailRule[]
20
- public sources?: { id: string; name: string }[]
21
-
22
- public responses: AgenticOutputMessage[] = []
23
-
24
- static fromHubtypeCMS(component: HtAiAgentNode): FlowAiAgent {
25
- const newAiAgent = new FlowAiAgent(component.id)
26
- newAiAgent.code = component.code
27
- newAiAgent.name = component.content.name
28
- newAiAgent.instructions = component.content.instructions
29
- newAiAgent.model = component.content.model
30
- newAiAgent.verbosity = component.content.verbosity
31
- newAiAgent.activeTools = component.content.active_tools
32
- newAiAgent.inputGuardrailRules =
33
- component.content.input_guardrail_rules || []
34
- newAiAgent.sources = component.content.sources
35
- newAiAgent.followUp = component.follow_up
36
-
37
- return newAiAgent
38
- }
39
-
40
- async trackFlow(request: ActionRequest): Promise<void> {
41
- // We can call trackFlowContent here but the function no track events for AiAgent contents
42
- // Review how we can track here the ai agent event
43
- await trackOneContent(request, this)
44
- }
45
-
46
- toBotonic(id: string, request: ActionRequest): JSX.Element {
47
- return (
48
- <>
49
- {this.responses.map((response: AgenticOutputMessage) => {
50
- if (
51
- response.type === 'text' ||
52
- response.type === 'textWithButtons' ||
53
- response.type === 'botExecutor'
54
- ) {
55
- return FlowText.fromAIAgent(id, response)
56
- }
57
-
58
- if (response.type === 'carousel') {
59
- return FlowCarousel.fromAIAgent(id, response, request)
60
- }
61
-
62
- return <></>
63
- })}
64
- </>
65
- )
66
- }
67
- }
@@ -1,52 +0,0 @@
1
- import { BotonicAction, EventAction, type EventBotAction } from '@botonic/core'
2
- import type { ActionRequest } from '@botonic/react'
3
-
4
- import type { FlowBuilderApi } from '../api'
5
- import {
6
- getCommonFlowContentEventArgsForContentId,
7
- trackEvent,
8
- } from '../tracking'
9
- import { ContentFieldsBase } from './content-fields-base'
10
- import type { HtBotActionNode } from './hubtype-fields'
11
-
12
- export class FlowBotAction extends ContentFieldsBase {
13
- public code: string
14
- public payload: string
15
-
16
- static fromHubtypeCMS(
17
- cmsBotAction: HtBotActionNode,
18
- cmsApi: FlowBuilderApi
19
- ): FlowBotAction {
20
- const newBotAction = new FlowBotAction(cmsBotAction.id)
21
- newBotAction.code = cmsBotAction.code
22
- newBotAction.payload = cmsApi.createPayloadWithParams(cmsBotAction)
23
- newBotAction.followUp = cmsBotAction.follow_up
24
-
25
- return newBotAction
26
- }
27
-
28
- async trackFlow(request: ActionRequest): Promise<void> {
29
- const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } =
30
- getCommonFlowContentEventArgsForContentId(request, this.id)
31
- const eventBotAction: EventBotAction = {
32
- action: EventAction.BotAction,
33
- flowThreadId,
34
- flowId,
35
- flowName,
36
- flowNodeId,
37
- flowNodeContentId,
38
- flowNodeIsMeaningful: false,
39
- payload: this.payload,
40
- }
41
- const { action, ...eventArgs } = eventBotAction
42
- await trackEvent(request, action, eventArgs)
43
- }
44
-
45
- doBotAction(request: ActionRequest): void {
46
- request.session._botonic_action = `${BotonicAction.Redirect}:${this.payload}`
47
- }
48
-
49
- toBotonic(): JSX.Element {
50
- return <></>
51
- }
52
- }
@@ -1,163 +0,0 @@
1
- import { type ActionRequest, Button, Reply, type Webview } from '@botonic/react'
2
-
3
- import type { FlowBuilderApi } from '../api'
4
- import { SOURCE_INFO_SEPARATOR } from '../constants'
5
- import { ContentFieldsBase } from './content-fields-base'
6
- import { FlowWebview } from './flow-webview'
7
- import {
8
- type HtButton,
9
- HtButtonStyle,
10
- type HtNodeWithContent,
11
- HtNodeWithContentType,
12
- type HtUrlNode,
13
- } from './hubtype-fields'
14
- import type { HtRatingButton } from './hubtype-fields/rating'
15
-
16
- export class FlowButton extends ContentFieldsBase {
17
- public text = ''
18
- public url?: string
19
- public payload?: string
20
- public target?: string
21
- public webview?: Webview
22
- public flowWebview?: FlowWebview // Used for tracking
23
- public params?: Record<string, string>
24
-
25
- static fromHubtypeCMS(
26
- cmsButton: HtButton,
27
- locale: string,
28
- cmsApi: FlowBuilderApi
29
- ): FlowButton {
30
- const urlId = FlowButton.getUrlId(cmsButton, locale)
31
-
32
- const newButton = new FlowButton(cmsButton.id)
33
- newButton.text = FlowButton.getTextByLocale(locale, cmsButton.text)
34
- if (cmsButton.target) {
35
- const webview = FlowButton.getTargetWebview(cmsApi, cmsButton.target.id)
36
- if (webview) {
37
- newButton.flowWebview = webview
38
- const params = FlowButton.getWebviewParams(webview, cmsApi)
39
- newButton.webview = { name: webview.webviewComponentName }
40
- newButton.params = params
41
- } else {
42
- newButton.payload = cmsApi.getPayload(cmsButton.target)
43
- }
44
- }
45
-
46
- if (cmsButton.url && urlId) {
47
- const urlNode = cmsApi.getNodeById<HtUrlNode>(urlId)
48
- newButton.url = urlNode.content.url
49
- }
50
-
51
- return newButton
52
- }
53
-
54
- private static getWebviewParams(
55
- webview: FlowWebview,
56
- cmsApi: FlowBuilderApi
57
- ) {
58
- const params: Record<string, string> = {
59
- webviewId: webview.webviewTargetId,
60
- t: Date.now().toString(),
61
- }
62
- const exitSuccessContentID = FlowButton.getExitSuccessContentID(
63
- webview,
64
- cmsApi
65
- )
66
-
67
- if (exitSuccessContentID) {
68
- params.exitSuccessContentID = exitSuccessContentID
69
- }
70
-
71
- return params
72
- }
73
-
74
- private static getExitSuccessContentID(
75
- webview: FlowWebview,
76
- cmsApi: FlowBuilderApi
77
- ) {
78
- const webviewSuccessExit = webview.exits?.find(
79
- exit => exit.name === 'Success'
80
- )
81
- const exitSuccessId = webviewSuccessExit?.target?.id
82
- if (!exitSuccessId) {
83
- return undefined
84
- }
85
- const exitNode = cmsApi.getNodeById<HtNodeWithContent>(exitSuccessId)
86
-
87
- return exitNode.code
88
- }
89
-
90
- static fromAIAgent(button: {
91
- id: string
92
- text: string
93
- payload?: string
94
- url?: string
95
- }): FlowButton {
96
- const newButton = new FlowButton(button.id)
97
- newButton.text = button.text
98
- if (button.url) {
99
- newButton.url = button.url
100
- } else {
101
- newButton.payload = button.payload
102
- }
103
- return newButton
104
- }
105
-
106
- static fromRating(button: HtRatingButton): FlowButton {
107
- const newButton = new FlowButton(button.id)
108
- newButton.text = button.text
109
- newButton.payload = button.payload
110
- newButton.target = button.target?.id
111
- return newButton
112
- }
113
-
114
- static getUrlId(cmsButton: HtButton, locale: string): string | undefined {
115
- return cmsButton.url.find(url => url.locale === locale)?.id
116
- }
117
-
118
- static getTargetWebview(
119
- cmsApi: FlowBuilderApi,
120
- targetId: string
121
- ): FlowWebview | undefined {
122
- const targetNode = cmsApi.getNodeById(targetId)
123
- if (targetNode.type !== HtNodeWithContentType.WEBVIEW) {
124
- return undefined
125
- }
126
- return FlowWebview.fromHubtypeCMS(targetNode)
127
- }
128
-
129
- async trackFlow(request: ActionRequest): Promise<void> {
130
- if (this.flowWebview) {
131
- await this.flowWebview.trackFlow(request)
132
- }
133
- }
134
-
135
- renderButton(buttonIndex: number, buttonStyle?: HtButtonStyle): JSX.Element {
136
- if (buttonStyle === HtButtonStyle.QUICK_REPLY) {
137
- return (
138
- <Reply key={this.id} payload={this.getButtonPayload(buttonIndex)}>
139
- {this.text}
140
- </Reply>
141
- )
142
- }
143
-
144
- return (
145
- <Button
146
- key={this.id}
147
- url={this.url}
148
- payload={this.getButtonPayload(buttonIndex)}
149
- target={this.target}
150
- webview={this.webview}
151
- params={this.params}
152
- >
153
- {this.text}
154
- </Button>
155
- )
156
- }
157
-
158
- private getButtonPayload(buttonIndex: number): string | undefined {
159
- return this.payload
160
- ? `${this.payload}${SOURCE_INFO_SEPARATOR}${buttonIndex}`
161
- : undefined
162
- }
163
- }
@@ -1,45 +0,0 @@
1
- import type { ActionRequest } from '@botonic/react'
2
-
3
- import { getFlowBuilderPlugin } from '../helpers'
4
- import { ContentFieldsBase } from './content-fields-base'
5
- import {
6
- HtAiValidationType,
7
- type HtCaptureUserInputNode,
8
- } from './hubtype-fields/capture-user-input'
9
-
10
- export class FlowCaptureUserInput extends ContentFieldsBase {
11
- public fieldName = ''
12
- public aiValidationType = HtAiValidationType.NONE
13
- public aiValidationInstructions = ''
14
- public captureSuccessId = ''
15
- public captureFailId = ''
16
-
17
- static fromHubtypeCMS(cmsText: HtCaptureUserInputNode): FlowCaptureUserInput {
18
- const newCaptureUserInput = new FlowCaptureUserInput(cmsText.id)
19
- newCaptureUserInput.code = cmsText.code
20
- newCaptureUserInput.fieldName = cmsText.content.field_name
21
- newCaptureUserInput.aiValidationType =
22
- cmsText.content.ai_validation_type || HtAiValidationType.NONE
23
- newCaptureUserInput.aiValidationInstructions =
24
- cmsText.content.ai_validation_instructions || ''
25
- newCaptureUserInput.captureSuccessId = cmsText.content.capture_success.id
26
- newCaptureUserInput.captureFailId = cmsText.content.capture_fail.id
27
- newCaptureUserInput.followUp = undefined
28
-
29
- return newCaptureUserInput
30
- }
31
-
32
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
- async trackFlow(_request: ActionRequest): Promise<void> {
34
- return
35
- }
36
-
37
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
- toBotonic(_id: string, request: ActionRequest): JSX.Element {
39
- const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
40
- const cmsApi = flowBuilderPlugin.cmsApi
41
- cmsApi.setCaptureUserInputId(this.id)
42
-
43
- return <></>
44
- }
45
- }
@@ -1,254 +0,0 @@
1
- import { type CarouselMessage, isWhatsapp } from '@botonic/core'
2
- import {
3
- type ActionRequest,
4
- Button,
5
- CardType,
6
- Carousel,
7
- Text,
8
- WhatsappCTAUrlButton,
9
- WhatsappCTAUrlHeaderType,
10
- type WhatsappInteractiveMediaCard,
11
- WhatsappInteractiveMediaCarousel,
12
- } from '@botonic/react'
13
-
14
- import type { FlowBuilderApi } from '../api'
15
- import { trackOneContent } from '../tracking'
16
- import { ContentFieldsBase } from './content-fields-base'
17
- import { FlowElement } from './flow-element'
18
- import type { HtCarouselNode } from './hubtype-fields'
19
-
20
- const DEFAULT_TEXT_MESSAGE = 'These are the options'
21
- export class FlowCarousel extends ContentFieldsBase {
22
- public whatsappText: string = ''
23
- public elements: FlowElement[] = []
24
-
25
- static fromHubtypeCMS(
26
- component: HtCarouselNode,
27
- locale: string,
28
- cmsApi: FlowBuilderApi
29
- ): FlowCarousel {
30
- const newCarousel = new FlowCarousel(component.id)
31
- newCarousel.code = component.code
32
- newCarousel.elements = component.content.elements.map(element =>
33
- FlowElement.fromHubtypeCMS(element, locale, cmsApi)
34
- )
35
- newCarousel.whatsappText = FlowCarousel.getTextByLocale(
36
- locale,
37
- component.content.whatsapp_text
38
- )
39
- newCarousel.followUp = component.follow_up
40
-
41
- return newCarousel
42
- }
43
-
44
- async trackFlow(request: ActionRequest): Promise<void> {
45
- await trackOneContent(request, this)
46
- for (const element of this.elements) {
47
- await element.trackFlow(request)
48
- }
49
- }
50
-
51
- static areElementsValidForWhatsapp = (carouselMessage: CarouselMessage) => {
52
- const isValid =
53
- carouselMessage.content.elements.every(element => element.button.url) ||
54
- carouselMessage.content.elements.every(element => element.button.payload)
55
-
56
- if (!isValid) {
57
- console.warn(
58
- 'Cannot use WhatsappInteractiveMediaCarousel for Whatsapp created by AIAgent, all elements must have either url or payload.',
59
- carouselMessage.content
60
- )
61
- }
62
- return isValid
63
- }
64
-
65
- static generateWhatsappElementText(element: {
66
- title: string
67
- subtitle?: string
68
- }): string {
69
- if (element.subtitle) {
70
- return `*${element.title}*\n${element.subtitle}`
71
- }
72
- return element.title
73
- }
74
-
75
- private static createCardsFromElements(
76
- elements: FlowElement[]
77
- ): WhatsappInteractiveMediaCard[] {
78
- return elements.map(element => {
79
- const text = FlowCarousel.generateWhatsappElementText(element)
80
-
81
- if (element.button?.url) {
82
- return {
83
- imageLink: element.image,
84
- text,
85
- type: CardType.CTA_URL as const,
86
- action: {
87
- buttonText: element.button.text,
88
- buttonUrl: element.button.url,
89
- },
90
- }
91
- }
92
- if (element.button?.payload) {
93
- return {
94
- imageLink: element.image,
95
- text,
96
- type: CardType.QUICK_REPLY as const,
97
- action: {
98
- buttons: [
99
- {
100
- text: element.button.text,
101
- payload: element.button.payload,
102
- },
103
- ],
104
- },
105
- }
106
- }
107
- throw new Error('Element must have a url or a payload')
108
- })
109
- }
110
-
111
- static fromAIAgent(
112
- id: string,
113
- carouselMessage: CarouselMessage,
114
- request: ActionRequest
115
- ): JSX.Element {
116
- if (
117
- isWhatsapp(request.session) &&
118
- FlowCarousel.areElementsValidForWhatsapp(carouselMessage)
119
- ) {
120
- if (
121
- carouselMessage.content.elements.length === 1 &&
122
- carouselMessage.content.elements[0].button?.url
123
- ) {
124
- const element = carouselMessage.content.elements[0]
125
- const buttonText = element.button.text
126
- const url = carouselMessage.content.elements[0].button.url
127
- // TODO: Add a new fromAIAgent method in FlowWhatsappCtaUrlButtonNode to create a WhatsappCTAUrlButton from an AIAgent message
128
- return (
129
- <WhatsappCTAUrlButton
130
- key={id}
131
- body={element.title}
132
- headerType={WhatsappCTAUrlHeaderType.Image}
133
- headerImage={element.image}
134
- footer={element.subtitle}
135
- displayText={buttonText}
136
- url={url}
137
- />
138
- )
139
- }
140
-
141
- if (
142
- carouselMessage.content.elements.length === 1 &&
143
- carouselMessage.content.elements[0].button?.payload
144
- ) {
145
- const element = carouselMessage.content.elements[0]
146
- const text = FlowCarousel.generateWhatsappElementText(element)
147
- const buttonPayload = carouselMessage.content.elements[0].button.payload
148
- const buttonText = carouselMessage.content.elements[0].button.text
149
-
150
- return (
151
- <Text>
152
- {text}
153
- <Button payload={buttonPayload}>{buttonText}</Button>
154
- </Text>
155
- )
156
- }
157
-
158
- const elements = carouselMessage.content.elements.map((element, index) =>
159
- FlowElement.fromAIAgent(`${id}-element-${index}`, element)
160
- )
161
- return (
162
- <WhatsappInteractiveMediaCarousel
163
- cards={FlowCarousel.createCardsFromElements(elements)}
164
- textMessage={carouselMessage.content.text || DEFAULT_TEXT_MESSAGE}
165
- />
166
- )
167
- }
168
- return (
169
- <Carousel key={id}>
170
- {carouselMessage.content.elements.map((element, index) =>
171
- FlowElement.fromAIAgent(`${id}-element-${index}`, element).toBotonic(
172
- id
173
- )
174
- )}
175
- </Carousel>
176
- )
177
- }
178
-
179
- private toCarouselMessage(elements: FlowElement[]): CarouselMessage {
180
- return {
181
- type: 'carousel',
182
- content: {
183
- elements: elements.map(element => {
184
- return {
185
- button: {
186
- text: element.button?.text || '',
187
- payload: element.button?.payload,
188
- url: element.button?.url,
189
- },
190
- title: element.title,
191
- subtitle: element.subtitle,
192
- image: element.image,
193
- }
194
- }),
195
- },
196
- }
197
- }
198
-
199
- toBotonic(id: string, request: ActionRequest): JSX.Element {
200
- const carouselMessage = this.toCarouselMessage(this.elements)
201
- if (
202
- isWhatsapp(request.session) &&
203
- FlowCarousel.areElementsValidForWhatsapp(carouselMessage)
204
- ) {
205
- if (this.elements.length === 1 && this.elements[0].button?.url) {
206
- const element = this.elements[0]
207
- const buttonText = this.elements[0].button.text
208
- const url = this.elements[0].button.url
209
-
210
- return (
211
- <WhatsappCTAUrlButton
212
- key={id}
213
- body={element.title}
214
- headerType={WhatsappCTAUrlHeaderType.Image}
215
- headerImage={element.image}
216
- displayText={buttonText}
217
- url={url}
218
- />
219
- )
220
- }
221
-
222
- if (
223
- this.elements.length === 1 &&
224
- this.elements[0].button &&
225
- this.elements[0].button?.payload
226
- ) {
227
- const element = this.elements[0]
228
- const text = FlowCarousel.generateWhatsappElementText(element)
229
- const buttonPayload = this.elements[0].button.payload
230
- const buttonText = this.elements[0].button.text
231
-
232
- return (
233
- <Text>
234
- {text}
235
- <Button payload={buttonPayload}>{buttonText}</Button>
236
- </Text>
237
- )
238
- }
239
-
240
- return (
241
- <WhatsappInteractiveMediaCarousel
242
- cards={FlowCarousel.createCardsFromElements(this.elements)}
243
- // TODO: Add the text message in flow builder frontend and take it from the carousel node with different languages
244
- textMessage={this.whatsappText || DEFAULT_TEXT_MESSAGE}
245
- />
246
- )
247
- }
248
- return (
249
- <Carousel key={id}>
250
- {this.elements.map(element => element.toBotonic(id))}
251
- </Carousel>
252
- )
253
- }
254
- }