@botonic/plugin-flow-builder 0.56.0-alpha.0 → 0.57.0-rslib-esm.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 (564) hide show
  1. package/lib/esm/action/ai-agent-from-user-input.d.ts +2 -2
  2. package/lib/esm/action/ai-agent-from-user-input.js +9 -6
  3. package/lib/esm/action/ai-agent-from-user-input.js.map +1 -1
  4. package/lib/esm/action/context.d.ts +2 -2
  5. package/lib/esm/action/context.js +9 -6
  6. package/lib/esm/action/context.js.map +1 -1
  7. package/lib/esm/action/fallback.d.ts +2 -2
  8. package/lib/esm/action/fallback.js +16 -11
  9. package/lib/esm/action/fallback.js.map +1 -1
  10. package/lib/esm/action/first-interaction.d.ts +2 -2
  11. package/lib/esm/action/first-interaction.js +39 -27
  12. package/lib/esm/action/first-interaction.js.map +1 -1
  13. package/lib/esm/action/get-contents.d.ts +1 -1
  14. package/lib/esm/action/get-contents.js +37 -20
  15. package/lib/esm/action/get-contents.js.map +1 -1
  16. package/lib/esm/action/index.d.ts +1 -1
  17. package/lib/esm/action/index.js +68 -32
  18. package/lib/esm/action/index.js.map +1 -1
  19. package/lib/esm/action/payload.d.ts +2 -2
  20. package/lib/esm/action/payload.js +27 -23
  21. package/lib/esm/action/payload.js.map +1 -1
  22. package/lib/esm/api.d.ts +2 -2
  23. package/lib/esm/api.js +55 -44
  24. package/lib/esm/api.js.map +1 -1
  25. package/lib/esm/constants.js +16 -18
  26. package/lib/esm/constants.js.map +1 -1
  27. package/lib/esm/content-fields/content-fields-base.d.ts +2 -2
  28. package/lib/esm/content-fields/content-fields-base.js +33 -29
  29. package/lib/esm/content-fields/content-fields-base.js.map +1 -1
  30. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +1 -1
  31. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +35 -33
  32. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +1 -1
  33. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +1 -1
  34. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js +15 -15
  35. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +1 -1
  36. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +2 -2
  37. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js +50 -35
  38. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js.map +1 -1
  39. package/lib/esm/content-fields/flow-ai-agent-base.d.ts +4 -4
  40. package/lib/esm/content-fields/flow-ai-agent-base.js +50 -47
  41. package/lib/esm/content-fields/flow-ai-agent-base.js.map +1 -1
  42. package/lib/esm/content-fields/flow-ai-agent-router.d.ts +5 -5
  43. package/lib/esm/content-fields/flow-ai-agent-router.js +57 -46
  44. package/lib/esm/content-fields/flow-ai-agent-router.js.map +1 -1
  45. package/lib/esm/content-fields/flow-ai-agent.d.ts +4 -4
  46. package/lib/esm/content-fields/flow-ai-agent.js +33 -22
  47. package/lib/esm/content-fields/flow-ai-agent.js.map +1 -1
  48. package/lib/esm/content-fields/flow-bot-action.d.ts +3 -3
  49. package/lib/esm/content-fields/flow-bot-action.js +23 -15
  50. package/lib/esm/content-fields/flow-bot-action.js.map +1 -1
  51. package/lib/esm/content-fields/flow-button.d.ts +5 -5
  52. package/lib/esm/content-fields/flow-button.js +48 -29
  53. package/lib/esm/content-fields/flow-button.js.map +1 -1
  54. package/lib/esm/content-fields/flow-capture-user-input.d.ts +2 -2
  55. package/lib/esm/content-fields/flow-capture-user-input.js +24 -23
  56. package/lib/esm/content-fields/flow-capture-user-input.js.map +1 -1
  57. package/lib/esm/content-fields/flow-carousel.d.ts +4 -4
  58. package/lib/esm/content-fields/flow-carousel.js +99 -58
  59. package/lib/esm/content-fields/flow-carousel.js.map +1 -1
  60. package/lib/esm/content-fields/flow-channel-conditional.d.ts +3 -3
  61. package/lib/esm/content-fields/flow-channel-conditional.js +26 -22
  62. package/lib/esm/content-fields/flow-channel-conditional.js.map +1 -1
  63. package/lib/esm/content-fields/flow-country-conditional.d.ts +3 -3
  64. package/lib/esm/content-fields/flow-country-conditional.js +26 -21
  65. package/lib/esm/content-fields/flow-country-conditional.js.map +1 -1
  66. package/lib/esm/content-fields/flow-custom-conditional.d.ts +3 -3
  67. package/lib/esm/content-fields/flow-custom-conditional.js +31 -33
  68. package/lib/esm/content-fields/flow-custom-conditional.js.map +1 -1
  69. package/lib/esm/content-fields/flow-element.d.ts +4 -4
  70. package/lib/esm/content-fields/flow-element.js +37 -20
  71. package/lib/esm/content-fields/flow-element.js.map +1 -1
  72. package/lib/esm/content-fields/flow-go-to-flow.d.ts +3 -3
  73. package/lib/esm/content-fields/flow-go-to-flow.js +25 -20
  74. package/lib/esm/content-fields/flow-go-to-flow.js.map +1 -1
  75. package/lib/esm/content-fields/flow-handoff.d.ts +3 -3
  76. package/lib/esm/content-fields/flow-handoff.js +30 -19
  77. package/lib/esm/content-fields/flow-handoff.js.map +1 -1
  78. package/lib/esm/content-fields/flow-image.d.ts +2 -2
  79. package/lib/esm/content-fields/flow-image.js +24 -15
  80. package/lib/esm/content-fields/flow-image.js.map +1 -1
  81. package/lib/esm/content-fields/flow-queue-status-conditional.d.ts +3 -3
  82. package/lib/esm/content-fields/flow-queue-status-conditional.js +45 -40
  83. package/lib/esm/content-fields/flow-queue-status-conditional.js.map +1 -1
  84. package/lib/esm/content-fields/flow-rating.d.ts +3 -3
  85. package/lib/esm/content-fields/flow-rating.js +62 -40
  86. package/lib/esm/content-fields/flow-rating.js.map +1 -1
  87. package/lib/esm/content-fields/flow-text.d.ts +4 -4
  88. package/lib/esm/content-fields/flow-text.js +51 -29
  89. package/lib/esm/content-fields/flow-text.js.map +1 -1
  90. package/lib/esm/content-fields/flow-video.d.ts +2 -2
  91. package/lib/esm/content-fields/flow-video.js +24 -15
  92. package/lib/esm/content-fields/flow-video.js.map +1 -1
  93. package/lib/esm/content-fields/flow-webview.d.ts +2 -2
  94. package/lib/esm/content-fields/flow-webview.js +31 -28
  95. package/lib/esm/content-fields/flow-webview.js.map +1 -1
  96. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +3 -3
  97. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +91 -52
  98. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
  99. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.d.ts +3 -4
  100. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js +32 -26
  101. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js.map +1 -1
  102. package/lib/esm/content-fields/flow-whatsapp-template.d.ts +2 -2
  103. package/lib/esm/content-fields/flow-whatsapp-template.js +119 -102
  104. package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -1
  105. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.d.ts +3 -3
  106. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js +3 -2
  107. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js.map +1 -1
  108. package/lib/esm/content-fields/hubtype-fields/ai-agent.d.ts +2 -2
  109. package/lib/esm/content-fields/hubtype-fields/ai-agent.js +3 -2
  110. package/lib/esm/content-fields/hubtype-fields/ai-agent.js.map +1 -1
  111. package/lib/esm/content-fields/hubtype-fields/bot-action.d.ts +2 -2
  112. package/lib/esm/content-fields/hubtype-fields/bot-action.js +3 -2
  113. package/lib/esm/content-fields/hubtype-fields/bot-action.js.map +1 -1
  114. package/lib/esm/content-fields/hubtype-fields/button.d.ts +1 -1
  115. package/lib/esm/content-fields/hubtype-fields/button.js +3 -2
  116. package/lib/esm/content-fields/hubtype-fields/button.js.map +1 -1
  117. package/lib/esm/content-fields/hubtype-fields/capture-user-input.d.ts +2 -2
  118. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +6 -6
  119. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +1 -1
  120. package/lib/esm/content-fields/hubtype-fields/carousel.d.ts +3 -3
  121. package/lib/esm/content-fields/hubtype-fields/carousel.js +3 -2
  122. package/lib/esm/content-fields/hubtype-fields/carousel.js.map +1 -1
  123. package/lib/esm/content-fields/hubtype-fields/channel-conditional.d.ts +3 -3
  124. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +3 -2
  125. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js.map +1 -1
  126. package/lib/esm/content-fields/hubtype-fields/common.d.ts +2 -2
  127. package/lib/esm/content-fields/hubtype-fields/common.js +3 -2
  128. package/lib/esm/content-fields/hubtype-fields/common.js.map +1 -1
  129. package/lib/esm/content-fields/hubtype-fields/country-conditional.d.ts +3 -3
  130. package/lib/esm/content-fields/hubtype-fields/country-conditional.js +3 -2
  131. package/lib/esm/content-fields/hubtype-fields/country-conditional.js.map +1 -1
  132. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.d.ts +2 -2
  133. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js +15 -15
  134. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js.map +1 -1
  135. package/lib/esm/content-fields/hubtype-fields/custom-conditional.d.ts +3 -3
  136. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +3 -2
  137. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js.map +1 -1
  138. package/lib/esm/content-fields/hubtype-fields/fallback.d.ts +2 -2
  139. package/lib/esm/content-fields/hubtype-fields/fallback.js +3 -2
  140. package/lib/esm/content-fields/hubtype-fields/fallback.js.map +1 -1
  141. package/lib/esm/content-fields/hubtype-fields/function.d.ts +2 -2
  142. package/lib/esm/content-fields/hubtype-fields/function.js +6 -6
  143. package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -1
  144. package/lib/esm/content-fields/hubtype-fields/go-to-flow.d.ts +2 -2
  145. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +3 -2
  146. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js.map +1 -1
  147. package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +2 -2
  148. package/lib/esm/content-fields/hubtype-fields/handoff.js +3 -2
  149. package/lib/esm/content-fields/hubtype-fields/handoff.js.map +1 -1
  150. package/lib/esm/content-fields/hubtype-fields/image.d.ts +2 -2
  151. package/lib/esm/content-fields/hubtype-fields/image.js +3 -2
  152. package/lib/esm/content-fields/hubtype-fields/image.js.map +1 -1
  153. package/lib/esm/content-fields/hubtype-fields/index.d.ts +27 -27
  154. package/lib/esm/content-fields/hubtype-fields/index.js +56 -30
  155. package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -1
  156. package/lib/esm/content-fields/hubtype-fields/keyword.d.ts +2 -2
  157. package/lib/esm/content-fields/hubtype-fields/keyword.js +3 -2
  158. package/lib/esm/content-fields/hubtype-fields/keyword.js.map +1 -1
  159. package/lib/esm/content-fields/hubtype-fields/node-types.js +12 -12
  160. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -1
  161. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +23 -23
  162. package/lib/esm/content-fields/hubtype-fields/nodes.js +3 -2
  163. package/lib/esm/content-fields/hubtype-fields/nodes.js.map +1 -1
  164. package/lib/esm/content-fields/hubtype-fields/payload.d.ts +1 -1
  165. package/lib/esm/content-fields/hubtype-fields/payload.js +3 -2
  166. package/lib/esm/content-fields/hubtype-fields/payload.js.map +1 -1
  167. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.d.ts +3 -3
  168. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +3 -2
  169. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -1
  170. package/lib/esm/content-fields/hubtype-fields/rating.d.ts +2 -2
  171. package/lib/esm/content-fields/hubtype-fields/rating.js +6 -6
  172. package/lib/esm/content-fields/hubtype-fields/rating.js.map +1 -1
  173. package/lib/esm/content-fields/hubtype-fields/smart-intent.d.ts +2 -2
  174. package/lib/esm/content-fields/hubtype-fields/smart-intent.js +3 -2
  175. package/lib/esm/content-fields/hubtype-fields/smart-intent.js.map +1 -1
  176. package/lib/esm/content-fields/hubtype-fields/text.d.ts +3 -3
  177. package/lib/esm/content-fields/hubtype-fields/text.js +3 -2
  178. package/lib/esm/content-fields/hubtype-fields/text.js.map +1 -1
  179. package/lib/esm/content-fields/hubtype-fields/url.d.ts +1 -1
  180. package/lib/esm/content-fields/hubtype-fields/url.js +3 -2
  181. package/lib/esm/content-fields/hubtype-fields/url.js.map +1 -1
  182. package/lib/esm/content-fields/hubtype-fields/video.d.ts +2 -2
  183. package/lib/esm/content-fields/hubtype-fields/video.js +3 -2
  184. package/lib/esm/content-fields/hubtype-fields/video.js.map +1 -1
  185. package/lib/esm/content-fields/hubtype-fields/webview.d.ts +2 -2
  186. package/lib/esm/content-fields/hubtype-fields/webview.js +3 -2
  187. package/lib/esm/content-fields/hubtype-fields/webview.js.map +1 -1
  188. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.d.ts +2 -2
  189. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +3 -2
  190. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -1
  191. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +3 -3
  192. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +3 -2
  193. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -1
  194. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +2 -2
  195. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js +3 -2
  196. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -1
  197. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.d.ts +3 -3
  198. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +6 -6
  199. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js.map +1 -1
  200. package/lib/esm/content-fields/index.d.ts +23 -23
  201. package/lib/esm/content-fields/index.js +72 -51
  202. package/lib/esm/content-fields/index.js.map +1 -1
  203. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +3 -3
  204. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +16 -14
  205. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
  206. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +4 -4
  207. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +20 -15
  208. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
  209. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +4 -4
  210. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +46 -26
  211. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
  212. package/lib/esm/content-fields/whatsapp-button-list/index.d.ts +3 -3
  213. package/lib/esm/content-fields/whatsapp-button-list/index.js +11 -9
  214. package/lib/esm/content-fields/whatsapp-button-list/index.js.map +1 -1
  215. package/lib/esm/filters/index.d.ts +2 -2
  216. package/lib/esm/filters/index.js +8 -9
  217. package/lib/esm/filters/index.js.map +1 -1
  218. package/lib/esm/flow-factory.d.ts +3 -3
  219. package/lib/esm/flow-factory.js +57 -51
  220. package/lib/esm/flow-factory.js.map +1 -1
  221. package/lib/esm/functions/index.d.ts +1 -1
  222. package/lib/esm/functions/index.js +25 -19
  223. package/lib/esm/functions/index.js.map +1 -1
  224. package/lib/esm/index.d.ts +12 -12
  225. package/lib/esm/index.js +94 -77
  226. package/lib/esm/index.js.map +1 -1
  227. package/lib/esm/package.json +3 -0
  228. package/lib/esm/services/hubtype-queues-api.js +14 -14
  229. package/lib/esm/services/hubtype-queues-api.js.map +1 -1
  230. package/lib/esm/structured-output/flow-builder-content.js +14 -13
  231. package/lib/esm/structured-output/flow-builder-content.js.map +1 -1
  232. package/lib/esm/tracking.d.ts +2 -2
  233. package/lib/esm/tracking.js +27 -21
  234. package/lib/esm/tracking.js.map +1 -1
  235. package/lib/esm/types.d.ts +5 -5
  236. package/lib/esm/types.js +9 -9
  237. package/lib/esm/types.js.map +1 -1
  238. package/lib/esm/user-input/capture-user-input-api.d.ts +2 -2
  239. package/lib/esm/user-input/capture-user-input-api.js +44 -33
  240. package/lib/esm/user-input/capture-user-input-api.js.map +1 -1
  241. package/lib/esm/user-input/index.d.ts +2 -2
  242. package/lib/esm/user-input/index.js +23 -14
  243. package/lib/esm/user-input/index.js.map +1 -1
  244. package/lib/esm/user-input/keyword.d.ts +2 -2
  245. package/lib/esm/user-input/keyword.js +31 -26
  246. package/lib/esm/user-input/keyword.js.map +1 -1
  247. package/lib/esm/user-input/smart-intent.d.ts +2 -2
  248. package/lib/esm/user-input/smart-intent.js +36 -32
  249. package/lib/esm/user-input/smart-intent.js.map +1 -1
  250. package/lib/esm/utils/ai-agent.d.ts +3 -3
  251. package/lib/esm/utils/ai-agent.js +17 -12
  252. package/lib/esm/utils/ai-agent.js.map +1 -1
  253. package/lib/esm/utils/authentication.js +10 -7
  254. package/lib/esm/utils/authentication.js.map +1 -1
  255. package/lib/esm/utils/flow-locale.js +14 -18
  256. package/lib/esm/utils/flow-locale.js.map +1 -1
  257. package/lib/esm/utils/get-flow-builder-plugin.d.ts +1 -1
  258. package/lib/esm/utils/get-flow-builder-plugin.js +4 -4
  259. package/lib/esm/utils/get-flow-builder-plugin.js.map +1 -1
  260. package/lib/esm/utils/hubtype-assistant-content.d.ts +1 -2
  261. package/lib/esm/utils/hubtype-assistant-content.js +57 -54
  262. package/lib/esm/utils/hubtype-assistant-content.js.map +1 -1
  263. package/lib/esm/utils/input.js +16 -14
  264. package/lib/esm/utils/input.js.map +1 -1
  265. package/lib/esm/webview/contents-context.d.ts +1 -1
  266. package/lib/esm/webview/contents-context.js +13 -11
  267. package/lib/esm/webview/contents-context.js.map +1 -1
  268. package/lib/esm/webview/index.d.ts +3 -3
  269. package/lib/esm/webview/index.js +10 -9
  270. package/lib/esm/webview/index.js.map +1 -1
  271. package/lib/esm/webview/types.d.ts +1 -1
  272. package/lib/esm/webview/types.js +6 -6
  273. package/lib/esm/webview/types.js.map +1 -1
  274. package/lib/esm/webview/use-webview-contents.d.ts +1 -1
  275. package/lib/esm/webview/use-webview-contents.js +46 -39
  276. package/lib/esm/webview/use-webview-contents.js.map +1 -1
  277. package/package.json +8 -7
  278. package/src/content-fields/flow-ai-agent-base.tsx +0 -11
  279. package/src/content-fields/flow-whatsapp-request-contact-info.tsx +1 -17
  280. package/src/index.ts +5 -5
  281. package/src/types.ts +6 -6
  282. package/src/utils/hubtype-assistant-content.ts +0 -14
  283. package/lib/cjs/action/ai-agent-from-user-input.d.ts +0 -3
  284. package/lib/cjs/action/ai-agent-from-user-input.js +0 -32
  285. package/lib/cjs/action/ai-agent-from-user-input.js.map +0 -1
  286. package/lib/cjs/action/context.d.ts +0 -11
  287. package/lib/cjs/action/context.js +0 -17
  288. package/lib/cjs/action/context.js.map +0 -1
  289. package/lib/cjs/action/fallback.d.ts +0 -3
  290. package/lib/cjs/action/fallback.js +0 -36
  291. package/lib/cjs/action/fallback.js.map +0 -1
  292. package/lib/cjs/action/first-interaction.d.ts +0 -3
  293. package/lib/cjs/action/first-interaction.js +0 -88
  294. package/lib/cjs/action/first-interaction.js.map +0 -1
  295. package/lib/cjs/action/get-contents.d.ts +0 -3
  296. package/lib/cjs/action/get-contents.js +0 -39
  297. package/lib/cjs/action/get-contents.js.map +0 -1
  298. package/lib/cjs/action/index.d.ts +0 -25
  299. package/lib/cjs/action/index.js +0 -90
  300. package/lib/cjs/action/index.js.map +0 -1
  301. package/lib/cjs/action/payload.d.ts +0 -3
  302. package/lib/cjs/action/payload.js +0 -74
  303. package/lib/cjs/action/payload.js.map +0 -1
  304. package/lib/cjs/api.d.ts +0 -40
  305. package/lib/cjs/api.js +0 -205
  306. package/lib/cjs/api.js.map +0 -1
  307. package/lib/cjs/constants.d.ts +0 -13
  308. package/lib/cjs/constants.js +0 -19
  309. package/lib/cjs/constants.js.map +0 -1
  310. package/lib/cjs/content-fields/content-fields-base.d.ts +0 -20
  311. package/lib/cjs/content-fields/content-fields-base.js +0 -74
  312. package/lib/cjs/content-fields/content-fields-base.js.map +0 -1
  313. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +0 -15
  314. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +0 -71
  315. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +0 -1
  316. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +0 -9
  317. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js +0 -58
  318. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +0 -1
  319. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +0 -17
  320. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js +0 -79
  321. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js.map +0 -1
  322. package/lib/cjs/content-fields/flow-ai-agent-base.d.ts +0 -25
  323. package/lib/cjs/content-fields/flow-ai-agent-base.js +0 -97
  324. package/lib/cjs/content-fields/flow-ai-agent-base.js.map +0 -1
  325. package/lib/cjs/content-fields/flow-ai-agent-router.d.ts +0 -21
  326. package/lib/cjs/content-fields/flow-ai-agent-router.js +0 -125
  327. package/lib/cjs/content-fields/flow-ai-agent-router.js.map +0 -1
  328. package/lib/cjs/content-fields/flow-ai-agent.d.ts +0 -17
  329. package/lib/cjs/content-fields/flow-ai-agent.js +0 -64
  330. package/lib/cjs/content-fields/flow-ai-agent.js.map +0 -1
  331. package/lib/cjs/content-fields/flow-bot-action.d.ts +0 -14
  332. package/lib/cjs/content-fields/flow-bot-action.js +0 -45
  333. package/lib/cjs/content-fields/flow-bot-action.js.map +0 -1
  334. package/lib/cjs/content-fields/flow-button.d.ts +0 -31
  335. package/lib/cjs/content-fields/flow-button.js +0 -86
  336. package/lib/cjs/content-fields/flow-button.js.map +0 -1
  337. package/lib/cjs/content-fields/flow-capture-user-input.d.ts +0 -14
  338. package/lib/cjs/content-fields/flow-capture-user-input.js +0 -45
  339. package/lib/cjs/content-fields/flow-capture-user-input.js.map +0 -1
  340. package/lib/cjs/content-fields/flow-carousel.d.ts +0 -22
  341. package/lib/cjs/content-fields/flow-carousel.js +0 -152
  342. package/lib/cjs/content-fields/flow-carousel.js.map +0 -1
  343. package/lib/cjs/content-fields/flow-channel-conditional.d.ts +0 -14
  344. package/lib/cjs/content-fields/flow-channel-conditional.js +0 -57
  345. package/lib/cjs/content-fields/flow-channel-conditional.js.map +0 -1
  346. package/lib/cjs/content-fields/flow-country-conditional.d.ts +0 -13
  347. package/lib/cjs/content-fields/flow-country-conditional.js +0 -59
  348. package/lib/cjs/content-fields/flow-country-conditional.js.map +0 -1
  349. package/lib/cjs/content-fields/flow-custom-conditional.d.ts +0 -17
  350. package/lib/cjs/content-fields/flow-custom-conditional.js +0 -89
  351. package/lib/cjs/content-fields/flow-custom-conditional.js.map +0 -1
  352. package/lib/cjs/content-fields/flow-element.d.ts +0 -22
  353. package/lib/cjs/content-fields/flow-element.js +0 -50
  354. package/lib/cjs/content-fields/flow-element.js.map +0 -1
  355. package/lib/cjs/content-fields/flow-go-to-flow.d.ts +0 -13
  356. package/lib/cjs/content-fields/flow-go-to-flow.js +0 -51
  357. package/lib/cjs/content-fields/flow-go-to-flow.js.map +0 -1
  358. package/lib/cjs/content-fields/flow-handoff.d.ts +0 -17
  359. package/lib/cjs/content-fields/flow-handoff.js +0 -68
  360. package/lib/cjs/content-fields/flow-handoff.js.map +0 -1
  361. package/lib/cjs/content-fields/flow-image.d.ts +0 -10
  362. package/lib/cjs/content-fields/flow-image.js +0 -33
  363. package/lib/cjs/content-fields/flow-image.js.map +0 -1
  364. package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +0 -30
  365. package/lib/cjs/content-fields/flow-queue-status-conditional.js +0 -95
  366. package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +0 -1
  367. package/lib/cjs/content-fields/flow-rating.d.ts +0 -15
  368. package/lib/cjs/content-fields/flow-rating.js +0 -66
  369. package/lib/cjs/content-fields/flow-rating.js.map +0 -1
  370. package/lib/cjs/content-fields/flow-text.d.ts +0 -15
  371. package/lib/cjs/content-fields/flow-text.js +0 -60
  372. package/lib/cjs/content-fields/flow-text.js.map +0 -1
  373. package/lib/cjs/content-fields/flow-video.d.ts +0 -10
  374. package/lib/cjs/content-fields/flow-video.js +0 -33
  375. package/lib/cjs/content-fields/flow-video.js.map +0 -1
  376. package/lib/cjs/content-fields/flow-webview.d.ts +0 -16
  377. package/lib/cjs/content-fields/flow-webview.js +0 -78
  378. package/lib/cjs/content-fields/flow-webview.js.map +0 -1
  379. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -21
  380. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +0 -92
  381. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
  382. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.d.ts +0 -11
  383. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js +0 -45
  384. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js.map +0 -1
  385. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +0 -37
  386. package/lib/cjs/content-fields/flow-whatsapp-template.js +0 -264
  387. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +0 -1
  388. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.d.ts +0 -21
  389. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js +0 -3
  390. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js.map +0 -1
  391. package/lib/cjs/content-fields/hubtype-fields/ai-agent.d.ts +0 -25
  392. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js +0 -3
  393. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js.map +0 -1
  394. package/lib/cjs/content-fields/hubtype-fields/bot-action.d.ts +0 -10
  395. package/lib/cjs/content-fields/hubtype-fields/bot-action.js +0 -3
  396. package/lib/cjs/content-fields/hubtype-fields/bot-action.js.map +0 -1
  397. package/lib/cjs/content-fields/hubtype-fields/button.d.ts +0 -8
  398. package/lib/cjs/content-fields/hubtype-fields/button.js +0 -3
  399. package/lib/cjs/content-fields/hubtype-fields/button.js.map +0 -1
  400. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.d.ts +0 -19
  401. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js +0 -12
  402. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
  403. package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +0 -17
  404. package/lib/cjs/content-fields/hubtype-fields/carousel.js +0 -3
  405. package/lib/cjs/content-fields/hubtype-fields/carousel.js.map +0 -1
  406. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.d.ts +0 -10
  407. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js +0 -3
  408. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
  409. package/lib/cjs/content-fields/hubtype-fields/common.d.ts +0 -83
  410. package/lib/cjs/content-fields/hubtype-fields/common.js +0 -3
  411. package/lib/cjs/content-fields/hubtype-fields/common.js.map +0 -1
  412. package/lib/cjs/content-fields/hubtype-fields/country-conditional.d.ts +0 -10
  413. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js +0 -3
  414. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js.map +0 -1
  415. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.d.ts +0 -56
  416. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js +0 -36
  417. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js.map +0 -1
  418. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.d.ts +0 -11
  419. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js +0 -3
  420. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
  421. package/lib/cjs/content-fields/hubtype-fields/fallback.d.ts +0 -9
  422. package/lib/cjs/content-fields/hubtype-fields/fallback.js +0 -3
  423. package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +0 -1
  424. package/lib/cjs/content-fields/hubtype-fields/function.d.ts +0 -30
  425. package/lib/cjs/content-fields/hubtype-fields/function.js +0 -11
  426. package/lib/cjs/content-fields/hubtype-fields/function.js.map +0 -1
  427. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.d.ts +0 -9
  428. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js +0 -3
  429. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
  430. package/lib/cjs/content-fields/hubtype-fields/handoff.d.ts +0 -11
  431. package/lib/cjs/content-fields/hubtype-fields/handoff.js +0 -3
  432. package/lib/cjs/content-fields/hubtype-fields/handoff.js.map +0 -1
  433. package/lib/cjs/content-fields/hubtype-fields/image.d.ts +0 -8
  434. package/lib/cjs/content-fields/hubtype-fields/image.js +0 -3
  435. package/lib/cjs/content-fields/hubtype-fields/image.js.map +0 -1
  436. package/lib/cjs/content-fields/hubtype-fields/index.d.ts +0 -27
  437. package/lib/cjs/content-fields/hubtype-fields/index.js +0 -31
  438. package/lib/cjs/content-fields/hubtype-fields/index.js.map +0 -1
  439. package/lib/cjs/content-fields/hubtype-fields/keyword.d.ts +0 -9
  440. package/lib/cjs/content-fields/hubtype-fields/keyword.js +0 -3
  441. package/lib/cjs/content-fields/hubtype-fields/keyword.js.map +0 -1
  442. package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +0 -31
  443. package/lib/cjs/content-fields/hubtype-fields/node-types.js +0 -38
  444. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +0 -1
  445. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +0 -26
  446. package/lib/cjs/content-fields/hubtype-fields/nodes.js +0 -3
  447. package/lib/cjs/content-fields/hubtype-fields/nodes.js.map +0 -1
  448. package/lib/cjs/content-fields/hubtype-fields/payload.d.ts +0 -8
  449. package/lib/cjs/content-fields/hubtype-fields/payload.js +0 -3
  450. package/lib/cjs/content-fields/hubtype-fields/payload.js.map +0 -1
  451. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.d.ts +0 -25
  452. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js +0 -3
  453. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
  454. package/lib/cjs/content-fields/hubtype-fields/rating.d.ts +0 -23
  455. package/lib/cjs/content-fields/hubtype-fields/rating.js +0 -9
  456. package/lib/cjs/content-fields/hubtype-fields/rating.js.map +0 -1
  457. package/lib/cjs/content-fields/hubtype-fields/smart-intent.d.ts +0 -12
  458. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js +0 -3
  459. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js.map +0 -1
  460. package/lib/cjs/content-fields/hubtype-fields/text.d.ts +0 -11
  461. package/lib/cjs/content-fields/hubtype-fields/text.js +0 -3
  462. package/lib/cjs/content-fields/hubtype-fields/text.js.map +0 -1
  463. package/lib/cjs/content-fields/hubtype-fields/url.d.ts +0 -8
  464. package/lib/cjs/content-fields/hubtype-fields/url.js +0 -3
  465. package/lib/cjs/content-fields/hubtype-fields/url.js.map +0 -1
  466. package/lib/cjs/content-fields/hubtype-fields/video.d.ts +0 -8
  467. package/lib/cjs/content-fields/hubtype-fields/video.js +0 -3
  468. package/lib/cjs/content-fields/hubtype-fields/video.js.map +0 -1
  469. package/lib/cjs/content-fields/hubtype-fields/webview.d.ts +0 -17
  470. package/lib/cjs/content-fields/hubtype-fields/webview.js +0 -3
  471. package/lib/cjs/content-fields/hubtype-fields/webview.js.map +0 -1
  472. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.d.ts +0 -21
  473. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +0 -3
  474. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
  475. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +0 -17
  476. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -3
  477. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
  478. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +0 -8
  479. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js +0 -3
  480. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +0 -1
  481. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -96
  482. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js +0 -9
  483. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
  484. package/lib/cjs/content-fields/index.d.ts +0 -25
  485. package/lib/cjs/content-fields/index.js +0 -52
  486. package/lib/cjs/content-fields/index.js.map +0 -1
  487. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -14
  488. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -41
  489. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
  490. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +0 -13
  491. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -36
  492. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
  493. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -14
  494. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -46
  495. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
  496. package/lib/cjs/content-fields/whatsapp-button-list/index.d.ts +0 -3
  497. package/lib/cjs/content-fields/whatsapp-button-list/index.js +0 -10
  498. package/lib/cjs/content-fields/whatsapp-button-list/index.js.map +0 -1
  499. package/lib/cjs/filters/index.d.ts +0 -12
  500. package/lib/cjs/filters/index.js +0 -17
  501. package/lib/cjs/filters/index.js.map +0 -1
  502. package/lib/cjs/flow-factory.d.ts +0 -12
  503. package/lib/cjs/flow-factory.js +0 -69
  504. package/lib/cjs/flow-factory.js.map +0 -1
  505. package/lib/cjs/functions/index.d.ts +0 -11
  506. package/lib/cjs/functions/index.js +0 -49
  507. package/lib/cjs/functions/index.js.map +0 -1
  508. package/lib/cjs/index.d.ts +0 -45
  509. package/lib/cjs/index.js +0 -178
  510. package/lib/cjs/index.js.map +0 -1
  511. package/lib/cjs/services/hubtype-queues-api.d.ts +0 -14
  512. package/lib/cjs/services/hubtype-queues-api.js +0 -26
  513. package/lib/cjs/services/hubtype-queues-api.js.map +0 -1
  514. package/lib/cjs/structured-output/flow-builder-content.d.ts +0 -13
  515. package/lib/cjs/structured-output/flow-builder-content.js +0 -15
  516. package/lib/cjs/structured-output/flow-builder-content.js.map +0 -1
  517. package/lib/cjs/tracking.d.ts +0 -16
  518. package/lib/cjs/tracking.js +0 -71
  519. package/lib/cjs/tracking.js.map +0 -1
  520. package/lib/cjs/types.d.ts +0 -62
  521. package/lib/cjs/types.js +0 -14
  522. package/lib/cjs/types.js.map +0 -1
  523. package/lib/cjs/user-input/capture-user-input-api.d.ts +0 -21
  524. package/lib/cjs/user-input/capture-user-input-api.js +0 -88
  525. package/lib/cjs/user-input/capture-user-input-api.js.map +0 -1
  526. package/lib/cjs/user-input/index.d.ts +0 -4
  527. package/lib/cjs/user-input/index.js +0 -37
  528. package/lib/cjs/user-input/index.js.map +0 -1
  529. package/lib/cjs/user-input/keyword.d.ts +0 -27
  530. package/lib/cjs/user-input/keyword.js +0 -84
  531. package/lib/cjs/user-input/keyword.js.map +0 -1
  532. package/lib/cjs/user-input/smart-intent.d.ts +0 -24
  533. package/lib/cjs/user-input/smart-intent.js +0 -89
  534. package/lib/cjs/user-input/smart-intent.js.map +0 -1
  535. package/lib/cjs/utils/ai-agent.d.ts +0 -11
  536. package/lib/cjs/utils/ai-agent.js +0 -28
  537. package/lib/cjs/utils/ai-agent.js.map +0 -1
  538. package/lib/cjs/utils/authentication.d.ts +0 -2
  539. package/lib/cjs/utils/authentication.js +0 -21
  540. package/lib/cjs/utils/authentication.js.map +0 -1
  541. package/lib/cjs/utils/flow-locale.d.ts +0 -22
  542. package/lib/cjs/utils/flow-locale.js +0 -79
  543. package/lib/cjs/utils/flow-locale.js.map +0 -1
  544. package/lib/cjs/utils/get-flow-builder-plugin.d.ts +0 -3
  545. package/lib/cjs/utils/get-flow-builder-plugin.js +0 -16
  546. package/lib/cjs/utils/get-flow-builder-plugin.js.map +0 -1
  547. package/lib/cjs/utils/hubtype-assistant-content.d.ts +0 -13
  548. package/lib/cjs/utils/hubtype-assistant-content.js +0 -184
  549. package/lib/cjs/utils/hubtype-assistant-content.js.map +0 -1
  550. package/lib/cjs/utils/input.d.ts +0 -6
  551. package/lib/cjs/utils/input.js +0 -35
  552. package/lib/cjs/utils/input.js.map +0 -1
  553. package/lib/cjs/webview/contents-context.d.ts +0 -2
  554. package/lib/cjs/webview/contents-context.js +0 -12
  555. package/lib/cjs/webview/contents-context.js.map +0 -1
  556. package/lib/cjs/webview/index.d.ts +0 -3
  557. package/lib/cjs/webview/index.js +0 -10
  558. package/lib/cjs/webview/index.js.map +0 -1
  559. package/lib/cjs/webview/types.d.ts +0 -47
  560. package/lib/cjs/webview/types.js +0 -9
  561. package/lib/cjs/webview/types.js.map +0 -1
  562. package/lib/cjs/webview/use-webview-contents.d.ts +0 -2
  563. package/lib/cjs/webview/use-webview-contents.js +0 -83
  564. package/lib/cjs/webview/use-webview-contents.js.map +0 -1
@@ -1,49 +1,55 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CustomFunction = exports.DEFAULT_FUNCTION_NAMES = void 0;
4
- exports.getArgumentsByLocale = getArgumentsByLocale;
5
- exports.DEFAULT_FUNCTION_NAMES = [
1
+ const DEFAULT_FUNCTION_NAMES = [
6
2
  'check-queue-status',
7
3
  'get-channel-type',
8
4
  'check-country',
9
- 'check-bot-variable',
5
+ 'check-bot-variable'
10
6
  ];
11
7
  class CustomFunction {
12
- constructor(functions, currentRequest, locale) {
13
- this.functions = functions;
14
- this.currentRequest = currentRequest;
15
- this.locale = locale;
16
- }
17
8
  async call(functionNode) {
18
9
  const functionNodeId = functionNode.id;
19
10
  const functionArguments = getArgumentsByLocale(functionNode.content.arguments, this.locale);
20
- const nameValues = functionArguments.map(arg => {
21
- return { [arg.name]: arg.value };
11
+ const nameValues = functionArguments.map((arg)=>{
12
+ return {
13
+ [arg.name]: arg.value
14
+ };
22
15
  });
23
16
  const args = Object.assign({
24
17
  request: this.currentRequest,
25
- results: functionNode.content.result_mapping.map(r => r.result),
18
+ results: functionNode.content.result_mapping.map((r)=>r.result)
26
19
  }, ...nameValues);
27
20
  const functionResult = await this.functions[functionNode.content.action](args);
28
21
  // TODO define result_mapping per locale??
29
- const result = functionNode.content.result_mapping.find(r => r.result === functionResult);
22
+ const result = functionNode.content.result_mapping.find((r)=>r.result === functionResult);
30
23
  if (!result?.target) {
31
24
  throw new Error(`No result found for result_mapping for node with id: ${functionNodeId}`);
32
25
  }
33
26
  return result.target.id;
34
27
  }
28
+ constructor(functions, currentRequest, locale){
29
+ this.functions = functions;
30
+ this.currentRequest = currentRequest;
31
+ this.locale = locale;
32
+ }
35
33
  }
36
- exports.CustomFunction = CustomFunction;
37
34
  function getArgumentsByLocale(args, locale) {
38
35
  let resultArguments = [];
39
- for (const arg of args) {
36
+ for (const arg of args){
40
37
  if ('locale' in arg && arg.locale === locale) {
41
- resultArguments = [...resultArguments, ...arg.values];
38
+ resultArguments = [
39
+ ...resultArguments,
40
+ ...arg.values
41
+ ];
42
42
  }
43
43
  if ('type' in arg) {
44
- resultArguments = [...resultArguments, arg];
44
+ resultArguments = [
45
+ ...resultArguments,
46
+ arg
47
+ ];
45
48
  }
46
49
  }
47
50
  return resultArguments;
48
51
  }
52
+
53
+ export { CustomFunction, DEFAULT_FUNCTION_NAMES, getArgumentsByLocale };
54
+
49
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":";;;AA8DA,oDAeC;AArEY,QAAA,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,kBAAkB;IAClB,eAAe;IACf,oBAAoB;CACrB,CAAA;AAED,MAAa,cAAc;IAKzB,YACE,SAA2B,EAC3B,cAA6B,EAC7B,MAAc;QAEd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAA4B;QACrC,MAAM,cAAc,GAAG,YAAY,CAAC,EAAE,CAAA;QACtC,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,YAAY,CAAC,OAAO,CAAC,SAAS,EAC9B,IAAI,CAAC,MAAM,CACZ,CAAA;QACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC7C,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAA;QAClC,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CACxB;YACE,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SAChE,EACD,GAAG,UAAU,CACd,CAAA;QACD,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;QACzD,0CAA0C;QAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CACrD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,cAAc,CACjC,CAAA;QACD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,wDAAwD,cAAc,EAAE,CACzE,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;IACzB,CAAC;CACF;AA7CD,wCA6CC;AAED,SAAgB,oBAAoB,CAClC,IAA2B,EAC3B,MAAc;IAEd,IAAI,eAAe,GAAyB,EAAE,CAAA;IAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7C,eAAe,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;QACvD,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,eAAe,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"functions/index.js","sources":["../../../src/functions/index.ts"],"sourcesContent":["import type { ActionRequest } from '@botonic/react'\n\nimport type {\n HtFunctionArgument,\n HtFunctionArguments,\n HtFunctionNode,\n} from '../content-fields/hubtype-fields'\n\nexport const DEFAULT_FUNCTION_NAMES = [\n 'check-queue-status',\n 'get-channel-type',\n 'check-country',\n 'check-bot-variable',\n]\n\nexport class CustomFunction {\n public functions: Record<any, any>\n public currentRequest: ActionRequest\n public locale: string\n\n constructor(\n functions: Record<any, any>,\n currentRequest: ActionRequest,\n locale: string\n ) {\n this.functions = functions\n this.currentRequest = currentRequest\n this.locale = locale\n }\n\n async call(functionNode: HtFunctionNode): Promise<string> {\n const functionNodeId = functionNode.id\n const functionArguments = getArgumentsByLocale(\n functionNode.content.arguments,\n this.locale\n )\n const nameValues = functionArguments.map(arg => {\n return { [arg.name]: arg.value }\n })\n\n const args = Object.assign(\n {\n request: this.currentRequest,\n results: functionNode.content.result_mapping.map(r => r.result),\n },\n ...nameValues\n )\n const functionResult =\n await this.functions[functionNode.content.action](args)\n // TODO define result_mapping per locale??\n const result = functionNode.content.result_mapping.find(\n r => r.result === functionResult\n )\n if (!result?.target) {\n throw new Error(\n `No result found for result_mapping for node with id: ${functionNodeId}`\n )\n }\n return result.target.id\n }\n}\n\nexport function getArgumentsByLocale(\n args: HtFunctionArguments[],\n locale: string\n): HtFunctionArgument[] {\n let resultArguments: HtFunctionArgument[] = []\n for (const arg of args) {\n if ('locale' in arg && arg.locale === locale) {\n resultArguments = [...resultArguments, ...arg.values]\n }\n if ('type' in arg) {\n resultArguments = [...resultArguments, arg]\n }\n }\n\n return resultArguments\n}\n"],"names":["DEFAULT_FUNCTION_NAMES","CustomFunction","functionNode","functionNodeId","functionArguments","getArgumentsByLocale","nameValues","arg","args","Object","r","functionResult","result","Error","functions","currentRequest","locale","resultArguments"],"mappings":"AAQO,MAAMA,sBAAsBA,GAAG;IACpC;IACA;IACA;IACA;CACD;AAEM,MAAMC,cAAcA;IAezB,MAAM,KAAKC,YAA4B,EAAmB;QACxD,MAAMC,iBAAiBD,aAAa,EAAE;QACtC,MAAME,oBAAoBC,oBAAoBA,CAC5CH,aAAa,OAAO,CAAC,SAAS,EAC9B,IAAI,CAAC,MAAM;QAEb,MAAMI,aAAaF,kBAAkB,GAAG,CAACG,CAAAA;YACvC,OAAO;gBAAE,CAACA,IAAI,IAAI,CAAC,EAAEA,IAAI,KAAK;YAAC;QACjC;QAEA,MAAMC,OAAOC,OAAO,MAAM,CACxB;YACE,SAAS,IAAI,CAAC,cAAc;YAC5B,SAASP,aAAa,OAAO,CAAC,cAAc,CAAC,GAAG,CAACQ,CAAAA,IAAKA,EAAE,MAAM;QAChE,MACGJ;QAEL,MAAMK,iBACJ,MAAM,IAAI,CAAC,SAAS,CAACT,aAAa,OAAO,CAAC,MAAM,CAAC,CAACM;QACpD,0CAA0C;QAC1C,MAAMI,SAASV,aAAa,OAAO,CAAC,cAAc,CAAC,IAAI,CACrDQ,CAAAA,IAAKA,EAAE,MAAM,KAAKC;QAEpB,IAAI,CAACC,QAAQ,QAAQ;YACnB,MAAM,IAAIC,MACR,CAAC,qDAAqD,EAAEV,gBAAgB;QAE5E;QACA,OAAOS,OAAO,MAAM,CAAC,EAAE;IACzB;IAvCA,YACEE,SAA2B,EAC3BC,cAA6B,EAC7BC,MAAc,CACd;QACA,IAAI,CAAC,SAAS,GAAGF;QACjB,IAAI,CAAC,cAAc,GAAGC;QACtB,IAAI,CAAC,MAAM,GAAGC;IAChB;AAgCF;AAEO,SAASX,oBAAoBA,CAClCG,IAA2B,EAC3BQ,MAAc;IAEd,IAAIC,kBAAwC,EAAE;IAC9C,KAAK,MAAMV,OAAOC,KAAM;QACtB,IAAI,YAAYD,OAAOA,IAAI,MAAM,KAAKS,QAAQ;YAC5CC,kBAAkB;mBAAIA;mBAAoBV,IAAI,MAAM;aAAC;QACvD;QACA,IAAI,UAAUA,KAAK;YACjBU,kBAAkB;mBAAIA;gBAAiBV;aAAI;QAC7C;IACF;IAEA,OAAOU;AACT"}
@@ -1,9 +1,9 @@
1
1
  import { type Plugin, type PluginPreRequest, type ResolvedPlugins, type Session } from '@botonic/core';
2
- import { FlowBuilderApi } from './api';
3
- import type { FlowContent } from './content-fields';
4
- import { type HtNodeWithContent } from './content-fields/hubtype-fields';
5
- import { type AiAgentFunction, type BotonicPluginFlowBuilderOptions, type ContentFilter, FlowBuilderJSONVersion, type InShadowingConfig, type PayloadParamsBase, type RatingSubmittedInfo, type TrackEventFunction } from './types';
6
- import type { SmartIntentsInferenceConfig } from './user-input/smart-intent';
2
+ import { FlowBuilderApi } from './api.js';
3
+ import type { FlowContent } from './content-fields/index.js';
4
+ import { type HtNodeWithContent } from './content-fields/hubtype-fields/index.js';
5
+ import { type AiAgentFunction, type BotonicPluginFlowBuilderOptions, type ContentFilter, FlowBuilderJSONVersion, type InShadowingConfig, type PayloadParamsBase, type RatingSubmittedInfo, type TrackEventFunction } from './types.js';
6
+ import type { SmartIntentsInferenceConfig } from './user-input/smart-intent.js';
7
7
  export default class BotonicPluginFlowBuilder implements Plugin {
8
8
  cmsApi: FlowBuilderApi;
9
9
  private flow?;
@@ -36,10 +36,10 @@ export default class BotonicPluginFlowBuilder implements Plugin {
36
36
  getRatingSubmittedInfo(payload: string): RatingSubmittedInfo;
37
37
  setInShadowing(inShadowing: InShadowingConfig): void;
38
38
  }
39
- export * from './action';
40
- export { AGENT_RATING_PAYLOAD, EMPTY_PAYLOAD } from './constants';
41
- export * from './content-fields';
42
- export { HtBotActionNode } from './content-fields/hubtype-fields';
43
- export { getCommonFlowContentEventArgsForContentId, trackFlowContent, } from './tracking';
44
- export { BotonicPluginFlowBuilderOptions, ContentFilter, FlowBuilderJSONVersion, PayloadParamsBase, RatingSubmittedInfo, } from './types';
45
- export * from './webview';
39
+ export * from './action/index.js';
40
+ export { AGENT_RATING_PAYLOAD, EMPTY_PAYLOAD } from './constants.js';
41
+ export * from './content-fields/index.js';
42
+ export type { HtBotActionNode } from './content-fields/hubtype-fields/index.js';
43
+ export { getCommonFlowContentEventArgsForContentId, trackFlowContent, } from './tracking.js';
44
+ export { type BotonicPluginFlowBuilderOptions, type ContentFilter, FlowBuilderJSONVersion, type PayloadParamsBase, type RatingSubmittedInfo, } from './types.js';
45
+ export * from './webview/index.js';
package/lib/esm/index.js CHANGED
@@ -1,47 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FlowBuilderJSONVersion = exports.trackFlowContent = exports.getCommonFlowContentEventArgsForContentId = exports.EMPTY_PAYLOAD = exports.AGENT_RATING_PAYLOAD = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@botonic/core");
6
- const uuid_1 = require("uuid");
7
- const api_1 = require("./api");
8
- const constants_1 = require("./constants");
9
- const hubtype_fields_1 = require("./content-fields/hubtype-fields");
10
- const flow_factory_1 = require("./flow-factory");
11
- const functions_1 = require("./functions");
12
- const types_1 = require("./types");
13
- const user_input_1 = require("./user-input");
14
- const authentication_1 = require("./utils/authentication");
15
- const input_1 = require("./utils/input");
16
- // TODO: Create a proper service to wrap all calls and allow api versioning
1
+ import { INPUT, PROVIDER } from "@botonic/core";
2
+ import { v7 } from "uuid";
3
+ import { FlowBuilderApi } from "./api.js";
4
+ import { AGENT_RATING_PAYLOAD, EMPTY_PAYLOAD, FLOW_BUILDER_API_URL_PROD, SEPARATOR, SOURCE_INFO_SEPARATOR } from "./constants.js";
5
+ import { HtNodeWithContentType } from "./content-fields/hubtype-fields/index.js";
6
+ import { FlowFactory } from "./flow-factory.js";
7
+ import { CustomFunction, DEFAULT_FUNCTION_NAMES } from "./functions/index.js";
8
+ import { FlowBuilderJSONVersion } from "./types.js";
9
+ import { getNextPayloadByUserInput } from "./user-input/index.js";
10
+ import { resolveGetAccessToken } from "./utils/authentication.js";
11
+ import { inputHasTextOrTranscript } from "./utils/input.js";
12
+
13
+ export * from "./action/index.js";
14
+ export * from "./content-fields/index.js";
15
+ export * from "./webview/index.js";
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
17
39
  class BotonicPluginFlowBuilder {
18
- constructor(options) {
19
- this.apiUrl = options.apiUrl || constants_1.FLOW_BUILDER_API_URL_PROD;
20
- this.jsonVersion = options.jsonVersion || types_1.FlowBuilderJSONVersion.LATEST;
21
- this.flow = options.flow;
22
- this.getAccessToken = (0, authentication_1.resolveGetAccessToken)(options.getAccessToken);
23
- this.trackEvent = options.trackEvent;
24
- this.getAiAgentResponse = options.getAiAgentResponse;
25
- this.smartIntentsConfig = {
26
- ...options?.smartIntentsConfig,
27
- useLatest: this.jsonVersion === types_1.FlowBuilderJSONVersion.LATEST,
28
- };
29
- const customFunctions = options.customFunctions || {};
30
- this.functions = customFunctions;
31
- this.inShadowing = {
32
- allowKeywords: options.inShadowing?.allowKeywords || false,
33
- allowSmartIntents: options.inShadowing?.allowSmartIntents || false,
34
- allowAiAgents: options.inShadowing?.allowAiAgents || false,
35
- };
36
- this.contentFilters = options.contentFilters || [];
37
- this.customRatingMessageEnabled =
38
- options.customRatingMessageEnabled || false;
39
- this.disableAIAgentInFirstInteraction =
40
- options.disableAIAgentInFirstInteraction || false;
41
- }
42
40
  resolveFlowUrl(request) {
43
41
  if (request.session.is_test_integration) {
44
- return `${this.apiUrl}/v1/bot_flows/{bot_id}/versions/${types_1.FlowBuilderJSONVersion.DRAFT}/`;
42
+ return `${this.apiUrl}/v1/bot_flows/{bot_id}/versions/${FlowBuilderJSONVersion.DRAFT}/`;
45
43
  }
46
44
  return `${this.apiUrl}/v1/bot_flows/{bot_id}/versions/${this.jsonVersion}/`;
47
45
  }
@@ -49,27 +47,26 @@ class BotonicPluginFlowBuilder {
49
47
  // When AI Agent is executed in Whatsapp, button payloads come as referral and must be converted to text being processed by the agent.
50
48
  this.convertWhatsappAiAgentEmptyPayloads(request);
51
49
  this.currentRequest = request;
52
- this.cmsApi = await api_1.FlowBuilderApi.create({
50
+ this.cmsApi = await FlowBuilderApi.create({
53
51
  flowUrl: this.resolveFlowUrl(request),
54
52
  url: this.apiUrl,
55
53
  flow: this.flow,
56
54
  accessToken: this.getAccessToken(request.session),
57
- request: this.currentRequest,
55
+ request: this.currentRequest
58
56
  });
59
- const checkUserTextInput = (0, input_1.inputHasTextOrTranscript)(request.input) && !request.input.payload;
57
+ const checkUserTextInput = inputHasTextOrTranscript(request.input) && !request.input.payload;
60
58
  if (checkUserTextInput) {
61
59
  const resolvedLocale = this.cmsApi.getResolvedLocale();
62
- const nextPayload = await (0, user_input_1.getNextPayloadByUserInput)(this.cmsApi, resolvedLocale, request, this.smartIntentsConfig);
60
+ const nextPayload = await getNextPayloadByUserInput(this.cmsApi, resolvedLocale, request, this.smartIntentsConfig);
63
61
  request.input.payload = nextPayload;
64
62
  }
65
63
  await this.updateRequestBeforeRoutes(request);
66
64
  }
67
65
  convertWhatsappAiAgentEmptyPayloads(request) {
68
- if (request.session.user.provider === core_1.PROVIDER.WHATSAPP) {
69
- const shouldUseReferral = request.input.referral &&
70
- request.input.payload?.startsWith(constants_1.EMPTY_PAYLOAD);
66
+ if (request.session.user.provider === PROVIDER.WHATSAPP) {
67
+ const shouldUseReferral = request.input.referral && request.input.payload?.startsWith(EMPTY_PAYLOAD);
71
68
  if (shouldUseReferral) {
72
- request.input.type = core_1.INPUT.TEXT;
69
+ request.input.type = INPUT.TEXT;
73
70
  request.input.data = request.input.referral;
74
71
  }
75
72
  }
@@ -80,8 +77,7 @@ class BotonicPluginFlowBuilder {
80
77
  request.input.payload = this.removeSourceSuffix(request.input.payload);
81
78
  if (this.cmsApi.isBotAction(request.input.payload)) {
82
79
  const cmsBotAction = this.cmsApi.getNodeById(request.input.payload);
83
- request.input.payload =
84
- this.cmsApi.createPayloadWithParams(cmsBotAction);
80
+ request.input.payload = this.cmsApi.createPayloadWithParams(cmsBotAction);
85
81
  // Re-execute convertWhatsappAiAgentEmptyPayloads function to handle
86
82
  // the case that a BotAction has a payload equals to EMPTY_PAYLOAD
87
83
  this.convertWhatsappAiAgentEmptyPayloads(request);
@@ -89,7 +85,7 @@ class BotonicPluginFlowBuilder {
89
85
  }
90
86
  }
91
87
  removeSourceSuffix(payload) {
92
- return payload.split(constants_1.SOURCE_INFO_SEPARATOR)[0];
88
+ return payload.split(SOURCE_INFO_SEPARATOR)[0];
93
89
  }
94
90
  post(request) {
95
91
  request.input.nluResolution = undefined;
@@ -109,70 +105,91 @@ class BotonicPluginFlowBuilder {
109
105
  }
110
106
  async getStartContents() {
111
107
  const startNode = this.cmsApi.getStartNode();
112
- this.currentRequest.session.flow_thread_id = (0, uuid_1.v7)();
108
+ this.currentRequest.session.flow_thread_id = v7();
113
109
  return await this.getContentsByNode(startNode);
114
110
  }
115
111
  async getContentsByNode(node, prevContents) {
116
112
  const contents = prevContents || [];
117
113
  const resolvedLocale = this.cmsApi.getResolvedLocale();
118
- if (node.type === hubtype_fields_1.HtNodeWithContentType.FUNCTION &&
119
- !functions_1.DEFAULT_FUNCTION_NAMES.includes(node.content.action)) {
120
- const customFunctionResolver = new functions_1.CustomFunction(this.functions, this.currentRequest, resolvedLocale);
114
+ if (node.type === HtNodeWithContentType.FUNCTION && !DEFAULT_FUNCTION_NAMES.includes(node.content.action)) {
115
+ const customFunctionResolver = new CustomFunction(this.functions, this.currentRequest, resolvedLocale);
121
116
  const targetId = await customFunctionResolver.call(node);
122
117
  return this.getContentsById(targetId, contents);
123
118
  }
124
- const flowFactory = new flow_factory_1.FlowFactory(this.currentRequest, this.cmsApi, resolvedLocale);
119
+ const flowFactory = new FlowFactory(this.currentRequest, this.cmsApi, resolvedLocale);
125
120
  const content = await flowFactory.getFlowContent(node);
126
121
  if (content) {
127
122
  contents.push(content);
128
123
  }
129
124
  // If node is BOT_ACTION not add more contents to render, next nodes render after execute action
130
- if (node.type === hubtype_fields_1.HtNodeWithContentType.BOT_ACTION) {
125
+ if (node.type === HtNodeWithContentType.BOT_ACTION) {
131
126
  return contents;
132
127
  }
133
128
  // TODO: prevent infinite recursive calls
134
129
  if (content?.followUp) {
135
130
  return this.getContentsById(content.followUp.id, contents);
136
- }
137
- else if (node.follow_up) {
131
+ } else if (node.follow_up) {
138
132
  console.log('FOLLOWUP FROM NODE-------> OLD SYSTEM');
139
133
  return this.getContentsById(node.follow_up.id, contents);
140
134
  }
141
135
  return contents;
142
136
  }
143
137
  getPayloadParams(payload) {
144
- const payloadParams = JSON.parse(payload.split(constants_1.SEPARATOR)[1] || '{}');
138
+ const payloadParams = JSON.parse(payload.split(SEPARATOR)[1] || '{}');
145
139
  return payloadParams;
146
140
  }
147
141
  getFlowName(flowId) {
148
142
  return this.cmsApi.getFlowName(flowId);
149
143
  }
150
144
  getRatingSubmittedInfo(payload) {
151
- const buttonId = payload?.split(constants_1.SEPARATOR)[1];
145
+ const buttonId = payload?.split(SEPARATOR)[1];
152
146
  const ratingNode = this.cmsApi.getRatingNodeByButtonId(buttonId);
153
147
  const ratingButton = this.cmsApi.getRatingButtonById(ratingNode, buttonId);
154
- const possibleOptions = ratingNode.content.buttons.map(button => button.text);
155
- const possibleValues = ratingNode.content.buttons.map(button => button.value);
148
+ const possibleOptions = ratingNode.content.buttons.map((button)=>button.text);
149
+ const possibleValues = ratingNode.content.buttons.map((button)=>button.value);
156
150
  return {
157
151
  ...ratingButton,
158
152
  possibleOptions,
159
- possibleValues,
153
+ possibleValues
160
154
  };
161
155
  }
162
156
  setInShadowing(inShadowing) {
163
157
  this.inShadowing = inShadowing;
164
158
  }
159
+ constructor(options){
160
+ this.apiUrl = options.apiUrl || FLOW_BUILDER_API_URL_PROD;
161
+ this.jsonVersion = options.jsonVersion || FlowBuilderJSONVersion.LATEST;
162
+ this.flow = options.flow;
163
+ this.getAccessToken = resolveGetAccessToken(options.getAccessToken);
164
+ this.trackEvent = options.trackEvent;
165
+ this.getAiAgentResponse = options.getAiAgentResponse;
166
+ this.smartIntentsConfig = {
167
+ ...options?.smartIntentsConfig,
168
+ useLatest: this.jsonVersion === FlowBuilderJSONVersion.LATEST
169
+ };
170
+ const customFunctions = options.customFunctions || {};
171
+ this.functions = customFunctions;
172
+ this.inShadowing = {
173
+ allowKeywords: options.inShadowing?.allowKeywords || false,
174
+ allowSmartIntents: options.inShadowing?.allowSmartIntents || false,
175
+ allowAiAgents: options.inShadowing?.allowAiAgents || false
176
+ };
177
+ this.contentFilters = options.contentFilters || [];
178
+ this.customRatingMessageEnabled = options.customRatingMessageEnabled || false;
179
+ this.disableAIAgentInFirstInteraction = options.disableAIAgentInFirstInteraction || false;
180
+ }
165
181
  }
166
- exports.default = BotonicPluginFlowBuilder;
167
- tslib_1.__exportStar(require("./action"), exports);
168
- var constants_2 = require("./constants");
169
- Object.defineProperty(exports, "AGENT_RATING_PAYLOAD", { enumerable: true, get: function () { return constants_2.AGENT_RATING_PAYLOAD; } });
170
- Object.defineProperty(exports, "EMPTY_PAYLOAD", { enumerable: true, get: function () { return constants_2.EMPTY_PAYLOAD; } });
171
- tslib_1.__exportStar(require("./content-fields"), exports);
172
- var tracking_1 = require("./tracking");
173
- Object.defineProperty(exports, "getCommonFlowContentEventArgsForContentId", { enumerable: true, get: function () { return tracking_1.getCommonFlowContentEventArgsForContentId; } });
174
- Object.defineProperty(exports, "trackFlowContent", { enumerable: true, get: function () { return tracking_1.trackFlowContent; } });
175
- var types_2 = require("./types");
176
- Object.defineProperty(exports, "FlowBuilderJSONVersion", { enumerable: true, get: function () { return types_2.FlowBuilderJSONVersion; } });
177
- tslib_1.__exportStar(require("./webview"), exports);
182
+ // TODO: Create a proper service to wrap all calls and allow api versioning
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+ export { AGENT_RATING_PAYLOAD, EMPTY_PAYLOAD, FlowBuilderJSONVersion };
192
+ export { getCommonFlowContentEventArgsForContentId, trackFlowContent } from "./tracking.js";
193
+ export default BotonicPluginFlowBuilder;
194
+
178
195
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["import {\n INPUT,\n type Plugin,\n type PluginPreRequest,\n PROVIDER,\n type ResolvedPlugins,\n type Session,\n} from '@botonic/core'\nimport type { ActionRequest } from '@botonic/react'\nimport { v7 as uuidv7 } from 'uuid'\n\nimport { FlowBuilderApi } from './api'\nimport {\n EMPTY_PAYLOAD,\n FLOW_BUILDER_API_URL_PROD,\n SEPARATOR,\n SOURCE_INFO_SEPARATOR,\n} from './constants'\nimport type { FlowContent } from './content-fields'\nimport {\n type HtBotActionNode,\n type HtFlowBuilderData,\n type HtNodeWithContent,\n HtNodeWithContentType,\n} from './content-fields/hubtype-fields'\nimport { FlowFactory } from './flow-factory'\nimport { CustomFunction, DEFAULT_FUNCTION_NAMES } from './functions'\nimport {\n type AiAgentFunction,\n type BotonicPluginFlowBuilderOptions,\n type ContentFilter,\n FlowBuilderJSONVersion,\n type InShadowingConfig,\n type PayloadParamsBase,\n type RatingSubmittedInfo,\n type TrackEventFunction,\n} from './types'\nimport { getNextPayloadByUserInput } from './user-input'\nimport type { SmartIntentsInferenceConfig } from './user-input/smart-intent'\nimport { resolveGetAccessToken } from './utils/authentication'\nimport { inputHasTextOrTranscript } from './utils/input'\n\n// TODO: Create a proper service to wrap all calls and allow api versioning\n\nexport default class BotonicPluginFlowBuilder implements Plugin {\n public cmsApi: FlowBuilderApi\n private flow?: HtFlowBuilderData\n private functions: Record<any, any>\n private currentRequest: PluginPreRequest\n public getAccessToken: (session: Session) => string\n public trackEvent?: TrackEventFunction\n public getAiAgentResponse?: AiAgentFunction\n public smartIntentsConfig: SmartIntentsInferenceConfig\n public inShadowing: InShadowingConfig\n public contentFilters: ContentFilter[]\n\n // TODO: Rethink how we construct FlowBuilderApi to be simpler\n public jsonVersion: FlowBuilderJSONVersion\n public apiUrl: string\n public customRatingMessageEnabled: boolean\n public disableAIAgentInFirstInteraction: boolean\n\n constructor(options: BotonicPluginFlowBuilderOptions<ResolvedPlugins, any>) {\n this.apiUrl = options.apiUrl || FLOW_BUILDER_API_URL_PROD\n this.jsonVersion = options.jsonVersion || FlowBuilderJSONVersion.LATEST\n this.flow = options.flow\n this.getAccessToken = resolveGetAccessToken(options.getAccessToken)\n this.trackEvent = options.trackEvent\n this.getAiAgentResponse = options.getAiAgentResponse\n this.smartIntentsConfig = {\n ...options?.smartIntentsConfig,\n useLatest: this.jsonVersion === FlowBuilderJSONVersion.LATEST,\n }\n const customFunctions = options.customFunctions || {}\n this.functions = customFunctions\n this.inShadowing = {\n allowKeywords: options.inShadowing?.allowKeywords || false,\n allowSmartIntents: options.inShadowing?.allowSmartIntents || false,\n allowAiAgents: options.inShadowing?.allowAiAgents || false,\n }\n this.contentFilters = options.contentFilters || []\n this.customRatingMessageEnabled =\n options.customRatingMessageEnabled || false\n this.disableAIAgentInFirstInteraction =\n options.disableAIAgentInFirstInteraction || false\n }\n\n resolveFlowUrl(request: PluginPreRequest): string {\n if (request.session.is_test_integration) {\n return `${this.apiUrl}/v1/bot_flows/{bot_id}/versions/${FlowBuilderJSONVersion.DRAFT}/`\n }\n return `${this.apiUrl}/v1/bot_flows/{bot_id}/versions/${this.jsonVersion}/`\n }\n\n async pre(request: PluginPreRequest): Promise<void> {\n // When AI Agent is executed in Whatsapp, button payloads come as referral and must be converted to text being processed by the agent.\n this.convertWhatsappAiAgentEmptyPayloads(request)\n\n this.currentRequest = request\n this.cmsApi = await FlowBuilderApi.create({\n flowUrl: this.resolveFlowUrl(request),\n url: this.apiUrl,\n flow: this.flow,\n accessToken: this.getAccessToken(request.session),\n request: this.currentRequest,\n })\n\n const checkUserTextInput =\n inputHasTextOrTranscript(request.input) && !request.input.payload\n\n if (checkUserTextInput) {\n const resolvedLocale = this.cmsApi.getResolvedLocale()\n const nextPayload = await getNextPayloadByUserInput(\n this.cmsApi,\n resolvedLocale,\n request as unknown as ActionRequest,\n this.smartIntentsConfig\n )\n request.input.payload = nextPayload\n }\n\n await this.updateRequestBeforeRoutes(request)\n }\n\n private convertWhatsappAiAgentEmptyPayloads(request: PluginPreRequest): void {\n if (request.session.user.provider === PROVIDER.WHATSAPP) {\n const shouldUseReferral =\n request.input.referral &&\n request.input.payload?.startsWith(EMPTY_PAYLOAD)\n\n if (shouldUseReferral) {\n request.input.type = INPUT.TEXT\n request.input.data = request.input.referral\n }\n }\n }\n\n private async updateRequestBeforeRoutes(\n request: PluginPreRequest\n ): Promise<void> {\n this.cmsApi.removeCaptureUserInputId()\n if (request.input.payload) {\n request.input.payload = this.removeSourceSuffix(request.input.payload)\n\n if (this.cmsApi.isBotAction(request.input.payload)) {\n const cmsBotAction = this.cmsApi.getNodeById<HtBotActionNode>(\n request.input.payload\n )\n\n request.input.payload =\n this.cmsApi.createPayloadWithParams(cmsBotAction)\n\n // Re-execute convertWhatsappAiAgentEmptyPayloads function to handle\n // the case that a BotAction has a payload equals to EMPTY_PAYLOAD\n this.convertWhatsappAiAgentEmptyPayloads(request)\n }\n }\n }\n\n private removeSourceSuffix(payload: string): string {\n return payload.split(SOURCE_INFO_SEPARATOR)[0]\n }\n\n post(request: PluginPreRequest): void {\n request.input.nluResolution = undefined\n delete request.session.user.system_locale_updated\n }\n\n async getContentsByContentID(\n contentID: string,\n prevContents?: FlowContent[]\n ): Promise<FlowContent[]> {\n const node = this.cmsApi.getNodeByContentID(contentID) as HtNodeWithContent\n return await this.getContentsByNode(node, prevContents)\n }\n\n getUUIDByContentID(contentID: string): string {\n const node = this.cmsApi.getNodeByContentID(contentID)\n return node.id\n }\n\n private async getContentsById(\n id: string,\n prevContents?: FlowContent[]\n ): Promise<FlowContent[]> {\n const node = this.cmsApi.getNodeById(id) as HtNodeWithContent\n return await this.getContentsByNode(node, prevContents)\n }\n\n async getStartContents(): Promise<FlowContent[]> {\n const startNode = this.cmsApi.getStartNode()\n this.currentRequest.session.flow_thread_id = uuidv7()\n return await this.getContentsByNode(startNode)\n }\n\n async getContentsByNode(\n node: HtNodeWithContent,\n prevContents?: FlowContent[]\n ): Promise<FlowContent[]> {\n const contents = prevContents || []\n const resolvedLocale = this.cmsApi.getResolvedLocale()\n\n if (\n node.type === HtNodeWithContentType.FUNCTION &&\n !DEFAULT_FUNCTION_NAMES.includes(node.content.action)\n ) {\n const customFunctionResolver = new CustomFunction(\n this.functions,\n this.currentRequest,\n resolvedLocale\n )\n const targetId = await customFunctionResolver.call(node)\n return this.getContentsById(targetId, contents)\n }\n\n const flowFactory = new FlowFactory(\n this.currentRequest,\n this.cmsApi,\n resolvedLocale\n )\n const content = await flowFactory.getFlowContent(node)\n if (content) {\n contents.push(content)\n }\n\n // If node is BOT_ACTION not add more contents to render, next nodes render after execute action\n if (node.type === HtNodeWithContentType.BOT_ACTION) {\n return contents\n }\n\n // TODO: prevent infinite recursive calls\n if (content?.followUp) {\n return this.getContentsById(content.followUp.id, contents)\n } else if (node.follow_up) {\n console.log('FOLLOWUP FROM NODE-------> OLD SYSTEM')\n return this.getContentsById(node.follow_up.id, contents)\n }\n\n return contents\n }\n\n getPayloadParams<T extends PayloadParamsBase>(payload: string): T {\n const payloadParams = JSON.parse(payload.split(SEPARATOR)[1] || '{}')\n return payloadParams\n }\n\n getFlowName(flowId: string): string {\n return this.cmsApi.getFlowName(flowId)\n }\n\n getRatingSubmittedInfo(payload: string): RatingSubmittedInfo {\n const buttonId = payload?.split(SEPARATOR)[1]\n const ratingNode = this.cmsApi.getRatingNodeByButtonId(buttonId)\n\n const ratingButton = this.cmsApi.getRatingButtonById(ratingNode, buttonId)\n const possibleOptions = ratingNode.content.buttons.map(\n button => button.text\n )\n const possibleValues = ratingNode.content.buttons.map(\n button => button.value\n )\n\n return {\n ...ratingButton,\n possibleOptions,\n possibleValues,\n }\n }\n\n setInShadowing(inShadowing: InShadowingConfig): void {\n this.inShadowing = inShadowing\n }\n}\n\nexport * from './action'\nexport { AGENT_RATING_PAYLOAD, EMPTY_PAYLOAD } from './constants'\nexport * from './content-fields'\nexport type { HtBotActionNode } from './content-fields/hubtype-fields'\nexport {\n getCommonFlowContentEventArgsForContentId,\n trackFlowContent,\n} from './tracking'\nexport {\n type BotonicPluginFlowBuilderOptions,\n type ContentFilter,\n FlowBuilderJSONVersion,\n type PayloadParamsBase,\n type RatingSubmittedInfo,\n} from './types'\nexport * from './webview'\n"],"names":["INPUT","PROVIDER","v7","uuidv7","FlowBuilderApi","EMPTY_PAYLOAD","FLOW_BUILDER_API_URL_PROD","SEPARATOR","SOURCE_INFO_SEPARATOR","HtNodeWithContentType","FlowFactory","CustomFunction","DEFAULT_FUNCTION_NAMES","FlowBuilderJSONVersion","getNextPayloadByUserInput","resolveGetAccessToken","inputHasTextOrTranscript","BotonicPluginFlowBuilder","request","checkUserTextInput","resolvedLocale","nextPayload","shouldUseReferral","cmsBotAction","payload","undefined","contentID","prevContents","node","id","startNode","contents","customFunctionResolver","targetId","flowFactory","content","console","payloadParams","JSON","flowId","buttonId","ratingNode","ratingButton","possibleOptions","button","possibleValues","inShadowing","options","customFunctions","AGENT_RATING_PAYLOAD","getCommonFlowContentEventArgsForContentId","trackFlowContent"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -1,26 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HubtypeQueuesApi = void 0;
4
- const tslib_1 = require("tslib");
5
- const axios_1 = tslib_1.__importDefault(require("axios"));
1
+ import axios from "axios";
2
+
3
+
4
+
6
5
  const HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
7
6
  class HubtypeQueuesApi {
8
- constructor(queueId, checkAvailableAgents) {
9
- this.queueId = queueId;
10
- this.checkAvailableAgents = checkAvailableAgents || false;
11
- }
12
7
  async getAvailability() {
13
- const response = await axios_1.default.get(`${HUBTYPE_API_URL}/external/v1/queues/${this.queueId}/availability/`,
14
- // TODO: Make it configurable in the future
8
+ const response = await axios.get(`${HUBTYPE_API_URL}/external/v1/queues/${this.queueId}/availability/`, // TODO: Make it configurable in the future
15
9
  {
16
10
  params: {
17
11
  check_queue_schedule: true,
18
12
  check_waiting_cases: false,
19
- check_available_agents: this.checkAvailableAgents,
20
- },
13
+ check_available_agents: this.checkAvailableAgents
14
+ }
21
15
  });
22
16
  return response.data;
23
17
  }
18
+ constructor(queueId, checkAvailableAgents){
19
+ this.queueId = queueId;
20
+ this.checkAvailableAgents = checkAvailableAgents || false;
21
+ }
24
22
  }
25
- exports.HubtypeQueuesApi = HubtypeQueuesApi;
23
+
24
+ export { HubtypeQueuesApi };
25
+
26
26
  //# sourceMappingURL=hubtype-queues-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hubtype-queues-api.js","sourceRoot":"","sources":["../../../src/services/hubtype-queues-api.ts"],"names":[],"mappings":";;;;AAAA,0DAAyB;AAEzB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAUhF,MAAa,gBAAgB;IAI3B,YAAY,OAAe,EAAE,oBAA8B;QACzD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,KAAK,CAAA;IAC3D,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAC9B,GAAG,eAAe,uBAAuB,IAAI,CAAC,OAAO,gBAAgB;QACrE,2CAA2C;QAC3C;YACE,MAAM,EAAE;gBACN,oBAAoB,EAAE,IAAI;gBAC1B,mBAAmB,EAAE,KAAK;gBAC1B,sBAAsB,EAAE,IAAI,CAAC,oBAAoB;aAClD;SACF,CACF,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AAvBD,4CAuBC"}
1
+ {"version":3,"file":"services/hubtype-queues-api.js","sources":["../../../src/services/hubtype-queues-api.ts"],"sourcesContent":["import axios from 'axios'\n\nconst HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com'\n\nexport interface AvailabilityData {\n available: boolean\n waiting_cases: number\n availability_threshold_waiting_cases: number\n open: boolean\n name: string\n available_agents: number\n}\nexport class HubtypeQueuesApi {\n public queueId: string\n public checkAvailableAgents: boolean\n\n constructor(queueId: string, checkAvailableAgents?: boolean) {\n this.queueId = queueId\n this.checkAvailableAgents = checkAvailableAgents || false\n }\n\n async getAvailability(): Promise<AvailabilityData> {\n const response = await axios.get(\n `${HUBTYPE_API_URL}/external/v1/queues/${this.queueId}/availability/`,\n // TODO: Make it configurable in the future\n {\n params: {\n check_queue_schedule: true,\n check_waiting_cases: false,\n check_available_agents: this.checkAvailableAgents,\n },\n }\n )\n return response.data\n }\n}\n"],"names":["axios","HUBTYPE_API_URL","process","HubtypeQueuesApi","response","queueId","checkAvailableAgents"],"mappings":";;;AAAyB;AAEzB,MAAMC,eAAeA,GAAGC,QAAQ,GAAG,CAAC,eAAe,IAAI;AAUhD,MAAMC,gBAAgBA;IAS3B,MAAM,kBAA6C;QACjD,MAAMC,WAAW,MAAMJ,SAAS,CAC9B,GAAGC,eAAeA,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EACrE,2CAA2C;QAC3C;YACE,QAAQ;gBACN,sBAAsB;gBACtB,qBAAqB;gBACrB,wBAAwB,IAAI,CAAC,oBAAoB;YACnD;QACF;QAEF,OAAOG,SAAS,IAAI;IACtB;IAlBA,YAAYC,OAAe,EAAEC,oBAA8B,CAAE;QAC3D,IAAI,CAAC,OAAO,GAAGD;QACf,IAAI,CAAC,oBAAoB,GAAGC,wBAAwB;IACtD;AAgBF"}
@@ -1,15 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FlowBuilderContentSchema = exports.FlowBuilderOutputMessageType = void 0;
4
- const zod_1 = require("zod");
5
- var FlowBuilderOutputMessageType;
6
- (function (FlowBuilderOutputMessageType) {
1
+ import { z } from "zod";
2
+
3
+
4
+
5
+ var flow_builder_content_FlowBuilderOutputMessageType = /*#__PURE__*/ function(FlowBuilderOutputMessageType) {
7
6
  FlowBuilderOutputMessageType["FlowBuilderContent"] = "flowBuilderContent";
8
- })(FlowBuilderOutputMessageType || (exports.FlowBuilderOutputMessageType = FlowBuilderOutputMessageType = {}));
9
- exports.FlowBuilderContentSchema = zod_1.z
10
- .object({
11
- type: zod_1.z.literal(FlowBuilderOutputMessageType.FlowBuilderContent),
12
- contentId: zod_1.z.string(),
13
- })
14
- .describe('A Flow Builder content ID. Use it only when asked explicitly in the prompt');
7
+ return FlowBuilderOutputMessageType;
8
+ }({});
9
+ const FlowBuilderContentSchema = z.object({
10
+ type: z.literal("flowBuilderContent"),
11
+ contentId: z.string()
12
+ }).describe('A Flow Builder content ID. Use it only when asked explicitly in the prompt');
13
+
14
+ export { FlowBuilderContentSchema, flow_builder_content_FlowBuilderOutputMessageType as FlowBuilderOutputMessageType };
15
+
15
16
  //# sourceMappingURL=flow-builder-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-builder-content.js","sourceRoot":"","sources":["../../../src/structured-output/flow-builder-content.ts"],"names":[],"mappings":";;;AACA,6BAAuB;AAEvB,IAAY,4BAEX;AAFD,WAAY,4BAA4B;IACtC,yEAAyC,CAAA;AAC3C,CAAC,EAFW,4BAA4B,4CAA5B,4BAA4B,QAEvC;AAQY,QAAA,wBAAwB,GAAG,OAAC;KACtC,MAAM,CAAC;IACN,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC,kBAAkB,CAAC;IAChE,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,QAAQ,CACP,4EAA4E,CAC7E,CAAA"}
1
+ {"version":3,"file":"structured-output/flow-builder-content.js","sources":["../../../src/structured-output/flow-builder-content.ts"],"sourcesContent":["import type { BaseMessage } from '@botonic/core'\nimport { z } from 'zod'\n\nexport enum FlowBuilderOutputMessageType {\n FlowBuilderContent = 'flowBuilderContent',\n}\n\nexport interface FlowBuilderContentMessage\n extends BaseMessage<FlowBuilderOutputMessageType.FlowBuilderContent> {\n type: FlowBuilderOutputMessageType.FlowBuilderContent\n contentId: string\n}\n\nexport const FlowBuilderContentSchema = z\n .object({\n type: z.literal(FlowBuilderOutputMessageType.FlowBuilderContent),\n contentId: z.string(),\n })\n .describe(\n 'A Flow Builder content ID. Use it only when asked explicitly in the prompt'\n )\n"],"names":["z","FlowBuilderOutputMessageType","FlowBuilderContentSchema"],"mappings":";;;AACuB;AAEhB,IAAKC,iDAA4BA,0BAA5BA;;WAAAA;MAEX;AAQM,MAAMC,wBAAwBA,GAAGF,QAC/B,CAAC;IACN,MAAMA,SAAS;IACf,WAAWA,QAAQ;AACrB,GACC,QAAQ,CACP,8EACD"}
@@ -1,7 +1,7 @@
1
1
  import { type BotContext, EventAction } from '@botonic/core';
2
2
  import type { ActionRequest } from '@botonic/react';
3
- import type { FlowBuilderApi } from './api';
4
- import type { FlowContent } from './content-fields';
3
+ import type { FlowBuilderApi } from './api.js';
4
+ import type { FlowContent } from './content-fields/index.js';
5
5
  export declare function trackEvent(request: ActionRequest, eventAction: EventAction, args?: Record<string, any>): Promise<void>;
6
6
  export declare function trackFlowContent(request: ActionRequest, contents: FlowContent[]): Promise<void>;
7
7
  export declare function trackOneContent(request: ActionRequest, content: FlowContent, cmsApi?: FlowBuilderApi): Promise<void>;