@botonic/plugin-flow-builder 0.58.0-alpha-new-stack.0 → 0.58.0-alpha.1

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 (923) hide show
  1. package/README.md +1 -1
  2. package/lib/cjs/action/ai-agent-from-user-input.d.ts +3 -0
  3. package/lib/cjs/action/ai-agent-from-user-input.js +38 -0
  4. package/lib/cjs/action/ai-agent-from-user-input.js.map +1 -0
  5. package/lib/cjs/action/context.d.ts +11 -0
  6. package/lib/cjs/action/context.js +17 -0
  7. package/lib/cjs/action/context.js.map +1 -0
  8. package/lib/cjs/action/fallback.d.ts +3 -0
  9. package/lib/cjs/action/fallback.js +36 -0
  10. package/lib/cjs/action/fallback.js.map +1 -0
  11. package/lib/cjs/action/first-interaction.d.ts +3 -0
  12. package/lib/cjs/action/first-interaction.js +93 -0
  13. package/lib/cjs/action/first-interaction.js.map +1 -0
  14. package/lib/cjs/action/get-contents.d.ts +3 -0
  15. package/lib/cjs/action/get-contents.js +44 -0
  16. package/lib/cjs/action/get-contents.js.map +1 -0
  17. package/lib/cjs/action/index.d.ts +25 -0
  18. package/lib/cjs/action/index.js +95 -0
  19. package/lib/cjs/action/index.js.map +1 -0
  20. package/lib/cjs/action/payload.d.ts +3 -0
  21. package/lib/cjs/action/payload.js +74 -0
  22. package/lib/cjs/action/payload.js.map +1 -0
  23. package/lib/cjs/api.d.ts +45 -0
  24. package/lib/cjs/api.js +227 -0
  25. package/lib/cjs/api.js.map +1 -0
  26. package/lib/cjs/bot-context-manager.d.ts +17 -0
  27. package/lib/cjs/bot-context-manager.js +93 -0
  28. package/lib/cjs/bot-context-manager.js.map +1 -0
  29. package/lib/cjs/constants.js +20 -0
  30. package/lib/cjs/constants.js.map +1 -0
  31. package/lib/cjs/content-fields/contact-reasons-conditional-matcher.d.ts +4 -0
  32. package/lib/cjs/content-fields/contact-reasons-conditional-matcher.js +12 -0
  33. package/lib/cjs/content-fields/contact-reasons-conditional-matcher.js.map +1 -0
  34. package/lib/cjs/content-fields/content-fields-base.d.ts +20 -0
  35. package/lib/cjs/content-fields/content-fields-base.js +74 -0
  36. package/lib/cjs/content-fields/content-fields-base.js.map +1 -0
  37. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +15 -0
  38. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +71 -0
  39. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +1 -0
  40. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +9 -0
  41. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js +58 -0
  42. package/lib/cjs/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +1 -0
  43. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +17 -0
  44. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js +79 -0
  45. package/lib/cjs/content-fields/custom-conditional/flow-custom-condition-v2.js.map +1 -0
  46. package/lib/cjs/content-fields/flow-ai-agent-base.d.ts +25 -0
  47. package/lib/cjs/content-fields/flow-ai-agent-base.js +97 -0
  48. package/lib/cjs/content-fields/flow-ai-agent-base.js.map +1 -0
  49. package/lib/cjs/content-fields/flow-ai-agent-router.d.ts +21 -0
  50. package/lib/cjs/content-fields/flow-ai-agent-router.js +126 -0
  51. package/lib/cjs/content-fields/flow-ai-agent-router.js.map +1 -0
  52. package/lib/cjs/content-fields/flow-ai-agent.d.ts +17 -0
  53. package/lib/cjs/content-fields/flow-ai-agent.js +65 -0
  54. package/lib/cjs/content-fields/flow-ai-agent.js.map +1 -0
  55. package/lib/cjs/content-fields/flow-bot-action.d.ts +14 -0
  56. package/lib/cjs/content-fields/flow-bot-action.js +45 -0
  57. package/lib/cjs/content-fields/flow-bot-action.js.map +1 -0
  58. package/lib/cjs/content-fields/flow-button.d.ts +31 -0
  59. package/lib/cjs/content-fields/flow-button.js +86 -0
  60. package/lib/cjs/content-fields/flow-button.js.map +1 -0
  61. package/lib/cjs/content-fields/flow-capture-user-input.d.ts +14 -0
  62. package/lib/cjs/content-fields/flow-capture-user-input.js +45 -0
  63. package/lib/cjs/content-fields/flow-capture-user-input.js.map +1 -0
  64. package/lib/cjs/content-fields/flow-carousel.d.ts +22 -0
  65. package/lib/cjs/content-fields/flow-carousel.js +152 -0
  66. package/lib/cjs/content-fields/flow-carousel.js.map +1 -0
  67. package/lib/cjs/content-fields/flow-channel-conditional.d.ts +14 -0
  68. package/lib/cjs/content-fields/flow-channel-conditional.js +57 -0
  69. package/lib/cjs/content-fields/flow-channel-conditional.js.map +1 -0
  70. package/lib/cjs/content-fields/flow-contact-reasons-conditional.d.ts +17 -0
  71. package/lib/cjs/content-fields/flow-contact-reasons-conditional.js +88 -0
  72. package/lib/cjs/content-fields/flow-contact-reasons-conditional.js.map +1 -0
  73. package/lib/cjs/content-fields/flow-country-conditional.d.ts +13 -0
  74. package/lib/cjs/content-fields/flow-country-conditional.js +59 -0
  75. package/lib/cjs/content-fields/flow-country-conditional.js.map +1 -0
  76. package/lib/cjs/content-fields/flow-custom-conditional.d.ts +17 -0
  77. package/lib/cjs/content-fields/flow-custom-conditional.js +89 -0
  78. package/lib/cjs/content-fields/flow-custom-conditional.js.map +1 -0
  79. package/lib/cjs/content-fields/flow-do-nothing.d.ts +9 -0
  80. package/lib/cjs/content-fields/flow-do-nothing.js +27 -0
  81. package/lib/cjs/content-fields/flow-do-nothing.js.map +1 -0
  82. package/lib/cjs/content-fields/flow-element.d.ts +22 -0
  83. package/lib/cjs/content-fields/flow-element.js +50 -0
  84. package/lib/cjs/content-fields/flow-element.js.map +1 -0
  85. package/lib/cjs/content-fields/flow-go-to-flow.d.ts +13 -0
  86. package/lib/cjs/content-fields/flow-go-to-flow.js +51 -0
  87. package/lib/cjs/content-fields/flow-go-to-flow.js.map +1 -0
  88. package/lib/cjs/content-fields/flow-handoff.d.ts +23 -0
  89. package/lib/cjs/content-fields/flow-handoff.js +104 -0
  90. package/lib/cjs/content-fields/flow-handoff.js.map +1 -0
  91. package/lib/cjs/content-fields/flow-image.d.ts +10 -0
  92. package/lib/cjs/content-fields/flow-image.js +33 -0
  93. package/lib/cjs/content-fields/flow-image.js.map +1 -0
  94. package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +30 -0
  95. package/lib/cjs/content-fields/flow-queue-status-conditional.js +95 -0
  96. package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +1 -0
  97. package/lib/cjs/content-fields/flow-rating.d.ts +15 -0
  98. package/lib/cjs/content-fields/flow-rating.js +66 -0
  99. package/lib/cjs/content-fields/flow-rating.js.map +1 -0
  100. package/lib/cjs/content-fields/flow-text.d.ts +15 -0
  101. package/lib/cjs/content-fields/flow-text.js +60 -0
  102. package/lib/cjs/content-fields/flow-text.js.map +1 -0
  103. package/lib/cjs/content-fields/flow-update-variables.d.ts +15 -0
  104. package/lib/cjs/content-fields/flow-update-variables.js +137 -0
  105. package/lib/cjs/content-fields/flow-update-variables.js.map +1 -0
  106. package/lib/cjs/content-fields/flow-video.d.ts +10 -0
  107. package/lib/cjs/content-fields/flow-video.js +33 -0
  108. package/lib/cjs/content-fields/flow-video.js.map +1 -0
  109. package/lib/cjs/content-fields/flow-webview.d.ts +16 -0
  110. package/lib/cjs/content-fields/flow-webview.js +78 -0
  111. package/lib/cjs/content-fields/flow-webview.js.map +1 -0
  112. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +21 -0
  113. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +92 -0
  114. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
  115. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.d.ts +11 -0
  116. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js +46 -0
  117. package/lib/cjs/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
  118. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +37 -0
  119. package/lib/cjs/content-fields/flow-whatsapp-template.js +264 -0
  120. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +1 -0
  121. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.d.ts +21 -0
  122. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js +3 -0
  123. package/lib/cjs/content-fields/hubtype-fields/ai-agent-router.js.map +1 -0
  124. package/lib/cjs/content-fields/hubtype-fields/ai-agent.d.ts +25 -0
  125. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js +3 -0
  126. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js.map +1 -0
  127. package/lib/cjs/content-fields/hubtype-fields/bot-action.d.ts +10 -0
  128. package/lib/cjs/content-fields/hubtype-fields/bot-action.js +3 -0
  129. package/lib/cjs/content-fields/hubtype-fields/bot-action.js.map +1 -0
  130. package/lib/cjs/content-fields/hubtype-fields/button.d.ts +8 -0
  131. package/lib/cjs/content-fields/hubtype-fields/button.js +3 -0
  132. package/lib/cjs/content-fields/hubtype-fields/button.js.map +1 -0
  133. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  134. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js +12 -0
  135. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  136. package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +17 -0
  137. package/lib/cjs/content-fields/hubtype-fields/carousel.js +3 -0
  138. package/lib/cjs/content-fields/hubtype-fields/carousel.js.map +1 -0
  139. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.d.ts +10 -0
  140. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js +3 -0
  141. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
  142. package/lib/cjs/content-fields/hubtype-fields/common.d.ts +83 -0
  143. package/lib/cjs/content-fields/hubtype-fields/common.js +3 -0
  144. package/lib/cjs/content-fields/hubtype-fields/common.js.map +1 -0
  145. package/lib/cjs/content-fields/hubtype-fields/contact-reasons-conditional.d.ts +19 -0
  146. package/lib/cjs/content-fields/hubtype-fields/contact-reasons-conditional.js +3 -0
  147. package/lib/cjs/content-fields/hubtype-fields/contact-reasons-conditional.js.map +1 -0
  148. package/lib/cjs/content-fields/hubtype-fields/country-conditional.d.ts +10 -0
  149. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js +3 -0
  150. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js.map +1 -0
  151. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.d.ts +56 -0
  152. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js +36 -0
  153. package/lib/cjs/content-fields/hubtype-fields/custom-conditional-v2.js.map +1 -0
  154. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.d.ts +11 -0
  155. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js +3 -0
  156. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
  157. package/lib/cjs/content-fields/hubtype-fields/do-nothing.d.ts +6 -0
  158. package/lib/cjs/content-fields/hubtype-fields/do-nothing.js +3 -0
  159. package/lib/cjs/content-fields/hubtype-fields/do-nothing.js.map +1 -0
  160. package/lib/cjs/content-fields/hubtype-fields/fallback.d.ts +9 -0
  161. package/lib/cjs/content-fields/hubtype-fields/fallback.js +3 -0
  162. package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +1 -0
  163. package/lib/cjs/content-fields/hubtype-fields/function.d.ts +30 -0
  164. package/lib/cjs/content-fields/hubtype-fields/function.js +11 -0
  165. package/lib/cjs/content-fields/hubtype-fields/function.js.map +1 -0
  166. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.d.ts +9 -0
  167. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js +3 -0
  168. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
  169. package/lib/cjs/content-fields/hubtype-fields/handoff.d.ts +21 -0
  170. package/lib/cjs/content-fields/hubtype-fields/handoff.js +10 -0
  171. package/lib/cjs/content-fields/hubtype-fields/handoff.js.map +1 -0
  172. package/lib/cjs/content-fields/hubtype-fields/image.d.ts +8 -0
  173. package/lib/cjs/content-fields/hubtype-fields/image.js +3 -0
  174. package/lib/cjs/content-fields/hubtype-fields/image.js.map +1 -0
  175. package/lib/cjs/content-fields/hubtype-fields/index.d.ts +28 -0
  176. package/lib/cjs/content-fields/hubtype-fields/index.js +32 -0
  177. package/lib/cjs/content-fields/hubtype-fields/index.js.map +1 -0
  178. package/lib/cjs/content-fields/hubtype-fields/keyword.d.ts +9 -0
  179. package/lib/cjs/content-fields/hubtype-fields/keyword.js +3 -0
  180. package/lib/cjs/content-fields/hubtype-fields/keyword.js.map +1 -0
  181. package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +34 -0
  182. package/lib/cjs/content-fields/hubtype-fields/node-types.js +41 -0
  183. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +1 -0
  184. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +29 -0
  185. package/lib/cjs/content-fields/hubtype-fields/nodes.js +3 -0
  186. package/lib/cjs/content-fields/hubtype-fields/nodes.js.map +1 -0
  187. package/lib/cjs/content-fields/hubtype-fields/payload.d.ts +8 -0
  188. package/lib/cjs/content-fields/hubtype-fields/payload.js +3 -0
  189. package/lib/cjs/content-fields/hubtype-fields/payload.js.map +1 -0
  190. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.d.ts +25 -0
  191. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js +3 -0
  192. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
  193. package/lib/cjs/content-fields/hubtype-fields/rating.d.ts +23 -0
  194. package/lib/cjs/content-fields/hubtype-fields/rating.js +9 -0
  195. package/lib/cjs/content-fields/hubtype-fields/rating.js.map +1 -0
  196. package/lib/cjs/content-fields/hubtype-fields/smart-intent.d.ts +12 -0
  197. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js +3 -0
  198. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js.map +1 -0
  199. package/lib/cjs/content-fields/hubtype-fields/text.d.ts +11 -0
  200. package/lib/cjs/content-fields/hubtype-fields/text.js +3 -0
  201. package/lib/cjs/content-fields/hubtype-fields/text.js.map +1 -0
  202. package/lib/cjs/content-fields/hubtype-fields/update-variables.d.ts +9 -0
  203. package/lib/cjs/content-fields/hubtype-fields/update-variables.js +3 -0
  204. package/lib/cjs/content-fields/hubtype-fields/update-variables.js.map +1 -0
  205. package/lib/cjs/content-fields/hubtype-fields/url.d.ts +8 -0
  206. package/lib/cjs/content-fields/hubtype-fields/url.js +3 -0
  207. package/lib/cjs/content-fields/hubtype-fields/url.js.map +1 -0
  208. package/lib/cjs/content-fields/hubtype-fields/video.d.ts +8 -0
  209. package/lib/cjs/content-fields/hubtype-fields/video.js +3 -0
  210. package/lib/cjs/content-fields/hubtype-fields/video.js.map +1 -0
  211. package/lib/cjs/content-fields/hubtype-fields/webview.d.ts +17 -0
  212. package/lib/cjs/content-fields/hubtype-fields/webview.js +3 -0
  213. package/lib/cjs/content-fields/hubtype-fields/webview.js.map +1 -0
  214. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
  215. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +3 -0
  216. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  217. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +17 -0
  218. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js +3 -0
  219. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
  220. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +10 -0
  221. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js +3 -0
  222. package/lib/cjs/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
  223. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.d.ts +96 -0
  224. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js +9 -0
  225. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
  226. package/lib/cjs/content-fields/index.d.ts +28 -0
  227. package/lib/cjs/content-fields/index.js +58 -0
  228. package/lib/cjs/content-fields/index.js.map +1 -0
  229. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +14 -0
  230. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +41 -0
  231. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  232. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +13 -0
  233. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +36 -0
  234. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  235. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +14 -0
  236. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +46 -0
  237. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  238. package/lib/cjs/content-fields/whatsapp-button-list/index.d.ts +3 -0
  239. package/lib/cjs/content-fields/whatsapp-button-list/index.js +10 -0
  240. package/lib/cjs/content-fields/whatsapp-button-list/index.js.map +1 -0
  241. package/lib/cjs/filters/index.d.ts +12 -0
  242. package/lib/cjs/filters/index.js +17 -0
  243. package/lib/cjs/filters/index.js.map +1 -0
  244. package/lib/cjs/flow-factory.d.ts +12 -0
  245. package/lib/cjs/flow-factory.js +75 -0
  246. package/lib/cjs/flow-factory.js.map +1 -0
  247. package/lib/cjs/functions/index.d.ts +11 -0
  248. package/lib/cjs/functions/index.js +49 -0
  249. package/lib/cjs/functions/index.js.map +1 -0
  250. package/lib/cjs/index.d.ts +42 -0
  251. package/lib/cjs/index.js +142 -0
  252. package/lib/cjs/index.js.map +1 -0
  253. package/lib/cjs/services/contact-info-fields-api.d.ts +7 -0
  254. package/lib/cjs/services/contact-info-fields-api.js +28 -0
  255. package/lib/cjs/services/contact-info-fields-api.js.map +1 -0
  256. package/lib/cjs/services/hubtype-queues-api.js +26 -0
  257. package/lib/cjs/services/hubtype-queues-api.js.map +1 -0
  258. package/lib/cjs/structured-output/flow-builder-content.js +15 -0
  259. package/lib/cjs/structured-output/flow-builder-content.js.map +1 -0
  260. package/lib/cjs/tracking.d.ts +16 -0
  261. package/lib/cjs/tracking.js +71 -0
  262. package/lib/cjs/tracking.js.map +1 -0
  263. package/lib/cjs/types.d.ts +62 -0
  264. package/lib/cjs/types.js +14 -0
  265. package/lib/cjs/types.js.map +1 -0
  266. package/lib/cjs/user-input/capture-user-input-api.d.ts +21 -0
  267. package/lib/cjs/user-input/capture-user-input-api.js +88 -0
  268. package/lib/cjs/user-input/capture-user-input-api.js.map +1 -0
  269. package/lib/cjs/user-input/index.d.ts +4 -0
  270. package/lib/cjs/user-input/index.js +37 -0
  271. package/lib/cjs/user-input/index.js.map +1 -0
  272. package/lib/cjs/user-input/keyword.d.ts +27 -0
  273. package/lib/cjs/user-input/keyword.js +84 -0
  274. package/lib/cjs/user-input/keyword.js.map +1 -0
  275. package/lib/cjs/user-input/smart-intent.d.ts +24 -0
  276. package/lib/cjs/user-input/smart-intent.js +89 -0
  277. package/lib/cjs/user-input/smart-intent.js.map +1 -0
  278. package/lib/cjs/utils/ai-agent.d.ts +11 -0
  279. package/lib/cjs/utils/ai-agent.js +28 -0
  280. package/lib/cjs/utils/ai-agent.js.map +1 -0
  281. package/lib/cjs/utils/authentication.js +21 -0
  282. package/lib/cjs/utils/authentication.js.map +1 -0
  283. package/lib/cjs/utils/flow-locale.js +79 -0
  284. package/lib/cjs/utils/flow-locale.js.map +1 -0
  285. package/lib/cjs/utils/get-flow-builder-plugin.d.ts +3 -0
  286. package/lib/cjs/utils/get-flow-builder-plugin.js +16 -0
  287. package/lib/cjs/utils/get-flow-builder-plugin.js.map +1 -0
  288. package/lib/cjs/utils/hubtype-assistant-content.d.ts +13 -0
  289. package/lib/cjs/utils/hubtype-assistant-content.js +184 -0
  290. package/lib/cjs/utils/hubtype-assistant-content.js.map +1 -0
  291. package/lib/cjs/utils/input.js +35 -0
  292. package/lib/cjs/utils/input.js.map +1 -0
  293. package/lib/cjs/webview/contents-context.d.ts +2 -0
  294. package/lib/cjs/webview/contents-context.js +12 -0
  295. package/lib/cjs/webview/contents-context.js.map +1 -0
  296. package/lib/cjs/webview/index.d.ts +3 -0
  297. package/lib/cjs/webview/index.js +10 -0
  298. package/lib/cjs/webview/index.js.map +1 -0
  299. package/lib/cjs/webview/types.d.ts +47 -0
  300. package/lib/cjs/webview/types.js +9 -0
  301. package/lib/cjs/webview/types.js.map +1 -0
  302. package/lib/cjs/webview/use-webview-contents.d.ts +2 -0
  303. package/lib/cjs/webview/use-webview-contents.js +83 -0
  304. package/lib/cjs/webview/use-webview-contents.js.map +1 -0
  305. package/lib/esm/action/ai-agent-from-user-input.d.ts +3 -0
  306. package/lib/esm/action/ai-agent-from-user-input.js +38 -0
  307. package/lib/esm/action/ai-agent-from-user-input.js.map +1 -0
  308. package/lib/esm/action/context.d.ts +11 -0
  309. package/lib/esm/action/context.js +17 -0
  310. package/lib/esm/action/context.js.map +1 -0
  311. package/lib/esm/action/fallback.d.ts +3 -0
  312. package/lib/esm/action/fallback.js +36 -0
  313. package/lib/esm/action/fallback.js.map +1 -0
  314. package/lib/esm/action/first-interaction.d.ts +3 -0
  315. package/lib/esm/action/first-interaction.js +93 -0
  316. package/lib/esm/action/first-interaction.js.map +1 -0
  317. package/lib/esm/action/get-contents.d.ts +3 -0
  318. package/lib/esm/action/get-contents.js +44 -0
  319. package/lib/esm/action/get-contents.js.map +1 -0
  320. package/lib/esm/action/index.d.ts +25 -0
  321. package/lib/esm/action/index.js +95 -0
  322. package/lib/esm/action/index.js.map +1 -0
  323. package/lib/esm/action/payload.d.ts +3 -0
  324. package/lib/esm/action/payload.js +74 -0
  325. package/lib/esm/action/payload.js.map +1 -0
  326. package/lib/esm/api.d.ts +45 -0
  327. package/lib/esm/api.js +227 -0
  328. package/lib/esm/api.js.map +1 -0
  329. package/lib/esm/bot-context-manager.d.ts +17 -0
  330. package/lib/esm/bot-context-manager.js +93 -0
  331. package/lib/esm/bot-context-manager.js.map +1 -0
  332. package/lib/esm/constants.d.ts +14 -0
  333. package/lib/esm/constants.js +20 -0
  334. package/lib/esm/constants.js.map +1 -0
  335. package/lib/esm/content-fields/contact-reasons-conditional-matcher.d.ts +4 -0
  336. package/lib/esm/content-fields/contact-reasons-conditional-matcher.js +12 -0
  337. package/lib/esm/content-fields/contact-reasons-conditional-matcher.js.map +1 -0
  338. package/lib/esm/content-fields/content-fields-base.d.ts +20 -0
  339. package/lib/esm/content-fields/content-fields-base.js +74 -0
  340. package/lib/esm/content-fields/content-fields-base.js.map +1 -0
  341. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +15 -0
  342. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +71 -0
  343. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +1 -0
  344. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +9 -0
  345. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js +58 -0
  346. package/lib/esm/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +1 -0
  347. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +17 -0
  348. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js +79 -0
  349. package/lib/esm/content-fields/custom-conditional/flow-custom-condition-v2.js.map +1 -0
  350. package/lib/esm/content-fields/flow-ai-agent-base.d.ts +25 -0
  351. package/lib/esm/content-fields/flow-ai-agent-base.js +97 -0
  352. package/lib/esm/content-fields/flow-ai-agent-base.js.map +1 -0
  353. package/lib/esm/content-fields/flow-ai-agent-router.d.ts +21 -0
  354. package/lib/esm/content-fields/flow-ai-agent-router.js +126 -0
  355. package/lib/esm/content-fields/flow-ai-agent-router.js.map +1 -0
  356. package/lib/esm/content-fields/flow-ai-agent.d.ts +17 -0
  357. package/lib/esm/content-fields/flow-ai-agent.js +65 -0
  358. package/lib/esm/content-fields/flow-ai-agent.js.map +1 -0
  359. package/lib/esm/content-fields/flow-bot-action.d.ts +14 -0
  360. package/lib/esm/content-fields/flow-bot-action.js +45 -0
  361. package/lib/esm/content-fields/flow-bot-action.js.map +1 -0
  362. package/lib/esm/content-fields/flow-button.d.ts +31 -0
  363. package/lib/esm/content-fields/flow-button.js +86 -0
  364. package/lib/esm/content-fields/flow-button.js.map +1 -0
  365. package/lib/esm/content-fields/flow-capture-user-input.d.ts +14 -0
  366. package/lib/esm/content-fields/flow-capture-user-input.js +45 -0
  367. package/lib/esm/content-fields/flow-capture-user-input.js.map +1 -0
  368. package/lib/esm/content-fields/flow-carousel.d.ts +22 -0
  369. package/lib/esm/content-fields/flow-carousel.js +152 -0
  370. package/lib/esm/content-fields/flow-carousel.js.map +1 -0
  371. package/lib/esm/content-fields/flow-channel-conditional.d.ts +14 -0
  372. package/lib/esm/content-fields/flow-channel-conditional.js +57 -0
  373. package/lib/esm/content-fields/flow-channel-conditional.js.map +1 -0
  374. package/lib/esm/content-fields/flow-contact-reasons-conditional.d.ts +17 -0
  375. package/lib/esm/content-fields/flow-contact-reasons-conditional.js +88 -0
  376. package/lib/esm/content-fields/flow-contact-reasons-conditional.js.map +1 -0
  377. package/lib/esm/content-fields/flow-country-conditional.d.ts +13 -0
  378. package/lib/esm/content-fields/flow-country-conditional.js +59 -0
  379. package/lib/esm/content-fields/flow-country-conditional.js.map +1 -0
  380. package/lib/esm/content-fields/flow-custom-conditional.d.ts +17 -0
  381. package/lib/esm/content-fields/flow-custom-conditional.js +89 -0
  382. package/lib/esm/content-fields/flow-custom-conditional.js.map +1 -0
  383. package/lib/esm/content-fields/flow-do-nothing.d.ts +9 -0
  384. package/lib/esm/content-fields/flow-do-nothing.js +27 -0
  385. package/lib/esm/content-fields/flow-do-nothing.js.map +1 -0
  386. package/lib/esm/content-fields/flow-element.d.ts +22 -0
  387. package/lib/esm/content-fields/flow-element.js +50 -0
  388. package/lib/esm/content-fields/flow-element.js.map +1 -0
  389. package/lib/esm/content-fields/flow-go-to-flow.d.ts +13 -0
  390. package/lib/esm/content-fields/flow-go-to-flow.js +51 -0
  391. package/lib/esm/content-fields/flow-go-to-flow.js.map +1 -0
  392. package/lib/esm/content-fields/flow-handoff.d.ts +23 -0
  393. package/lib/esm/content-fields/flow-handoff.js +104 -0
  394. package/lib/esm/content-fields/flow-handoff.js.map +1 -0
  395. package/lib/esm/content-fields/flow-image.d.ts +10 -0
  396. package/lib/esm/content-fields/flow-image.js +33 -0
  397. package/lib/esm/content-fields/flow-image.js.map +1 -0
  398. package/lib/esm/content-fields/flow-queue-status-conditional.d.ts +30 -0
  399. package/lib/esm/content-fields/flow-queue-status-conditional.js +95 -0
  400. package/lib/esm/content-fields/flow-queue-status-conditional.js.map +1 -0
  401. package/lib/esm/content-fields/flow-rating.d.ts +15 -0
  402. package/lib/esm/content-fields/flow-rating.js +66 -0
  403. package/lib/esm/content-fields/flow-rating.js.map +1 -0
  404. package/lib/esm/content-fields/flow-text.d.ts +15 -0
  405. package/lib/esm/content-fields/flow-text.js +60 -0
  406. package/lib/esm/content-fields/flow-text.js.map +1 -0
  407. package/lib/esm/content-fields/flow-update-variables.d.ts +15 -0
  408. package/lib/esm/content-fields/flow-update-variables.js +137 -0
  409. package/lib/esm/content-fields/flow-update-variables.js.map +1 -0
  410. package/lib/esm/content-fields/flow-video.d.ts +10 -0
  411. package/lib/esm/content-fields/flow-video.js +33 -0
  412. package/lib/esm/content-fields/flow-video.js.map +1 -0
  413. package/lib/esm/content-fields/flow-webview.d.ts +16 -0
  414. package/lib/esm/content-fields/flow-webview.js +78 -0
  415. package/lib/esm/content-fields/flow-webview.js.map +1 -0
  416. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +21 -0
  417. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +92 -0
  418. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
  419. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.d.ts +11 -0
  420. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js +46 -0
  421. package/lib/esm/content-fields/flow-whatsapp-request-contact-info.js.map +1 -0
  422. package/lib/esm/content-fields/flow-whatsapp-template.d.ts +37 -0
  423. package/lib/esm/content-fields/flow-whatsapp-template.js +264 -0
  424. package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -0
  425. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.d.ts +21 -0
  426. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js +3 -0
  427. package/lib/esm/content-fields/hubtype-fields/ai-agent-router.js.map +1 -0
  428. package/lib/esm/content-fields/hubtype-fields/ai-agent.d.ts +25 -0
  429. package/lib/esm/content-fields/hubtype-fields/ai-agent.js +3 -0
  430. package/lib/esm/content-fields/hubtype-fields/ai-agent.js.map +1 -0
  431. package/lib/esm/content-fields/hubtype-fields/bot-action.d.ts +10 -0
  432. package/lib/esm/content-fields/hubtype-fields/bot-action.js +3 -0
  433. package/lib/esm/content-fields/hubtype-fields/bot-action.js.map +1 -0
  434. package/lib/esm/content-fields/hubtype-fields/button.d.ts +8 -0
  435. package/lib/esm/content-fields/hubtype-fields/button.js +3 -0
  436. package/lib/esm/content-fields/hubtype-fields/button.js.map +1 -0
  437. package/lib/esm/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  438. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +12 -0
  439. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  440. package/lib/esm/content-fields/hubtype-fields/carousel.d.ts +17 -0
  441. package/lib/esm/content-fields/hubtype-fields/carousel.js +3 -0
  442. package/lib/esm/content-fields/hubtype-fields/carousel.js.map +1 -0
  443. package/lib/esm/content-fields/hubtype-fields/channel-conditional.d.ts +10 -0
  444. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +3 -0
  445. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
  446. package/lib/esm/content-fields/hubtype-fields/common.d.ts +83 -0
  447. package/lib/esm/content-fields/hubtype-fields/common.js +3 -0
  448. package/lib/esm/content-fields/hubtype-fields/common.js.map +1 -0
  449. package/lib/esm/content-fields/hubtype-fields/contact-reasons-conditional.d.ts +19 -0
  450. package/lib/esm/content-fields/hubtype-fields/contact-reasons-conditional.js +3 -0
  451. package/lib/esm/content-fields/hubtype-fields/contact-reasons-conditional.js.map +1 -0
  452. package/lib/esm/content-fields/hubtype-fields/country-conditional.d.ts +10 -0
  453. package/lib/esm/content-fields/hubtype-fields/country-conditional.js +3 -0
  454. package/lib/esm/content-fields/hubtype-fields/country-conditional.js.map +1 -0
  455. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.d.ts +56 -0
  456. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js +36 -0
  457. package/lib/esm/content-fields/hubtype-fields/custom-conditional-v2.js.map +1 -0
  458. package/lib/esm/content-fields/hubtype-fields/custom-conditional.d.ts +11 -0
  459. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +3 -0
  460. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
  461. package/lib/esm/content-fields/hubtype-fields/do-nothing.d.ts +6 -0
  462. package/lib/esm/content-fields/hubtype-fields/do-nothing.js +3 -0
  463. package/lib/esm/content-fields/hubtype-fields/do-nothing.js.map +1 -0
  464. package/lib/esm/content-fields/hubtype-fields/fallback.d.ts +9 -0
  465. package/lib/esm/content-fields/hubtype-fields/fallback.js +3 -0
  466. package/lib/esm/content-fields/hubtype-fields/fallback.js.map +1 -0
  467. package/lib/esm/content-fields/hubtype-fields/function.d.ts +30 -0
  468. package/lib/esm/content-fields/hubtype-fields/function.js +11 -0
  469. package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -0
  470. package/lib/esm/content-fields/hubtype-fields/go-to-flow.d.ts +9 -0
  471. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +3 -0
  472. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
  473. package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +21 -0
  474. package/lib/esm/content-fields/hubtype-fields/handoff.js +10 -0
  475. package/lib/esm/content-fields/hubtype-fields/handoff.js.map +1 -0
  476. package/lib/esm/content-fields/hubtype-fields/image.d.ts +8 -0
  477. package/lib/esm/content-fields/hubtype-fields/image.js +3 -0
  478. package/lib/esm/content-fields/hubtype-fields/image.js.map +1 -0
  479. package/lib/esm/content-fields/hubtype-fields/index.d.ts +28 -0
  480. package/lib/esm/content-fields/hubtype-fields/index.js +32 -0
  481. package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -0
  482. package/lib/esm/content-fields/hubtype-fields/keyword.d.ts +9 -0
  483. package/lib/esm/content-fields/hubtype-fields/keyword.js +3 -0
  484. package/lib/esm/content-fields/hubtype-fields/keyword.js.map +1 -0
  485. package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +34 -0
  486. package/lib/esm/content-fields/hubtype-fields/node-types.js +41 -0
  487. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -0
  488. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +29 -0
  489. package/lib/esm/content-fields/hubtype-fields/nodes.js +3 -0
  490. package/lib/esm/content-fields/hubtype-fields/nodes.js.map +1 -0
  491. package/lib/esm/content-fields/hubtype-fields/payload.d.ts +8 -0
  492. package/lib/esm/content-fields/hubtype-fields/payload.js +3 -0
  493. package/lib/esm/content-fields/hubtype-fields/payload.js.map +1 -0
  494. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.d.ts +25 -0
  495. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +3 -0
  496. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
  497. package/lib/esm/content-fields/hubtype-fields/rating.d.ts +23 -0
  498. package/lib/esm/content-fields/hubtype-fields/rating.js +9 -0
  499. package/lib/esm/content-fields/hubtype-fields/rating.js.map +1 -0
  500. package/lib/esm/content-fields/hubtype-fields/smart-intent.d.ts +12 -0
  501. package/lib/esm/content-fields/hubtype-fields/smart-intent.js +3 -0
  502. package/lib/esm/content-fields/hubtype-fields/smart-intent.js.map +1 -0
  503. package/lib/esm/content-fields/hubtype-fields/text.d.ts +11 -0
  504. package/lib/esm/content-fields/hubtype-fields/text.js +3 -0
  505. package/lib/esm/content-fields/hubtype-fields/text.js.map +1 -0
  506. package/lib/esm/content-fields/hubtype-fields/update-variables.d.ts +9 -0
  507. package/lib/esm/content-fields/hubtype-fields/update-variables.js +3 -0
  508. package/lib/esm/content-fields/hubtype-fields/update-variables.js.map +1 -0
  509. package/lib/esm/content-fields/hubtype-fields/url.d.ts +8 -0
  510. package/lib/esm/content-fields/hubtype-fields/url.js +3 -0
  511. package/lib/esm/content-fields/hubtype-fields/url.js.map +1 -0
  512. package/lib/esm/content-fields/hubtype-fields/video.d.ts +8 -0
  513. package/lib/esm/content-fields/hubtype-fields/video.js +3 -0
  514. package/lib/esm/content-fields/hubtype-fields/video.js.map +1 -0
  515. package/lib/esm/content-fields/hubtype-fields/webview.d.ts +17 -0
  516. package/lib/esm/content-fields/hubtype-fields/webview.js +3 -0
  517. package/lib/esm/content-fields/hubtype-fields/webview.js.map +1 -0
  518. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.d.ts +21 -0
  519. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +3 -0
  520. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  521. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +17 -0
  522. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +3 -0
  523. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
  524. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +10 -0
  525. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js +3 -0
  526. package/lib/esm/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +1 -0
  527. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.d.ts +96 -0
  528. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +9 -0
  529. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
  530. package/lib/esm/content-fields/index.d.ts +28 -0
  531. package/lib/esm/content-fields/index.js +58 -0
  532. package/lib/esm/content-fields/index.js.map +1 -0
  533. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +14 -0
  534. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +41 -0
  535. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  536. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +13 -0
  537. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +36 -0
  538. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  539. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +14 -0
  540. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +46 -0
  541. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  542. package/lib/esm/content-fields/whatsapp-button-list/index.d.ts +3 -0
  543. package/lib/esm/content-fields/whatsapp-button-list/index.js +10 -0
  544. package/lib/esm/content-fields/whatsapp-button-list/index.js.map +1 -0
  545. package/lib/esm/filters/index.d.ts +12 -0
  546. package/lib/esm/filters/index.js +17 -0
  547. package/lib/esm/filters/index.js.map +1 -0
  548. package/lib/esm/flow-factory.d.ts +12 -0
  549. package/lib/esm/flow-factory.js +75 -0
  550. package/lib/esm/flow-factory.js.map +1 -0
  551. package/lib/esm/functions/index.d.ts +11 -0
  552. package/lib/esm/functions/index.js +49 -0
  553. package/lib/esm/functions/index.js.map +1 -0
  554. package/lib/esm/index.d.ts +42 -0
  555. package/lib/esm/index.js +142 -0
  556. package/lib/esm/index.js.map +1 -0
  557. package/lib/esm/services/contact-info-fields-api.d.ts +7 -0
  558. package/lib/esm/services/contact-info-fields-api.js +28 -0
  559. package/lib/esm/services/contact-info-fields-api.js.map +1 -0
  560. package/lib/esm/services/hubtype-queues-api.d.ts +14 -0
  561. package/lib/esm/services/hubtype-queues-api.js +26 -0
  562. package/lib/esm/services/hubtype-queues-api.js.map +1 -0
  563. package/lib/esm/structured-output/flow-builder-content.d.ts +13 -0
  564. package/lib/esm/structured-output/flow-builder-content.js +15 -0
  565. package/lib/esm/structured-output/flow-builder-content.js.map +1 -0
  566. package/lib/esm/tracking.d.ts +16 -0
  567. package/lib/esm/tracking.js +71 -0
  568. package/lib/esm/tracking.js.map +1 -0
  569. package/lib/esm/types.d.ts +62 -0
  570. package/lib/esm/types.js +14 -0
  571. package/lib/esm/types.js.map +1 -0
  572. package/lib/esm/user-input/capture-user-input-api.d.ts +21 -0
  573. package/lib/esm/user-input/capture-user-input-api.js +88 -0
  574. package/lib/esm/user-input/capture-user-input-api.js.map +1 -0
  575. package/lib/esm/user-input/index.d.ts +4 -0
  576. package/lib/esm/user-input/index.js +37 -0
  577. package/lib/esm/user-input/index.js.map +1 -0
  578. package/lib/esm/user-input/keyword.d.ts +27 -0
  579. package/lib/esm/user-input/keyword.js +84 -0
  580. package/lib/esm/user-input/keyword.js.map +1 -0
  581. package/lib/esm/user-input/smart-intent.d.ts +24 -0
  582. package/lib/esm/user-input/smart-intent.js +89 -0
  583. package/lib/esm/user-input/smart-intent.js.map +1 -0
  584. package/lib/esm/utils/ai-agent.d.ts +11 -0
  585. package/lib/esm/utils/ai-agent.js +28 -0
  586. package/lib/esm/utils/ai-agent.js.map +1 -0
  587. package/lib/esm/utils/authentication.d.ts +2 -0
  588. package/lib/esm/utils/authentication.js +21 -0
  589. package/lib/esm/utils/authentication.js.map +1 -0
  590. package/lib/esm/utils/flow-locale.d.ts +22 -0
  591. package/lib/esm/utils/flow-locale.js +79 -0
  592. package/lib/esm/utils/flow-locale.js.map +1 -0
  593. package/lib/esm/utils/get-flow-builder-plugin.d.ts +3 -0
  594. package/lib/esm/utils/get-flow-builder-plugin.js +16 -0
  595. package/lib/esm/utils/get-flow-builder-plugin.js.map +1 -0
  596. package/lib/esm/utils/hubtype-assistant-content.d.ts +13 -0
  597. package/lib/esm/utils/hubtype-assistant-content.js +184 -0
  598. package/lib/esm/utils/hubtype-assistant-content.js.map +1 -0
  599. package/lib/esm/utils/input.d.ts +6 -0
  600. package/lib/esm/utils/input.js +35 -0
  601. package/lib/esm/utils/input.js.map +1 -0
  602. package/lib/esm/webview/contents-context.d.ts +2 -0
  603. package/lib/esm/webview/contents-context.js +12 -0
  604. package/lib/esm/webview/contents-context.js.map +1 -0
  605. package/lib/esm/webview/index.d.ts +3 -0
  606. package/lib/esm/webview/index.js +10 -0
  607. package/lib/esm/webview/index.js.map +1 -0
  608. package/lib/esm/webview/types.d.ts +47 -0
  609. package/lib/esm/webview/types.js +9 -0
  610. package/lib/esm/webview/types.js.map +1 -0
  611. package/lib/esm/webview/use-webview-contents.d.ts +2 -0
  612. package/lib/esm/webview/use-webview-contents.js +83 -0
  613. package/lib/esm/webview/use-webview-contents.js.map +1 -0
  614. package/package.json +9 -11
  615. package/src/content-fields/flow-contact-reasons-conditional.tsx +34 -5
  616. package/src/content-fields/flow-update-variables.tsx +182 -0
  617. package/src/content-fields/hubtype-fields/contact-reasons-conditional.ts +4 -1
  618. package/src/content-fields/hubtype-fields/node-types.ts +1 -0
  619. package/src/content-fields/hubtype-fields/nodes.ts +2 -0
  620. package/src/content-fields/hubtype-fields/update-variables.ts +10 -0
  621. package/src/content-fields/index.ts +3 -0
  622. package/src/flow-factory.ts +7 -0
  623. package/src/services/contact-info-fields-api.ts +36 -0
  624. package/lib/action/ai-agent-from-user-input.d.ts +0 -3
  625. package/lib/action/ai-agent-from-user-input.js +0 -43
  626. package/lib/action/ai-agent-from-user-input.js.map +0 -1
  627. package/lib/action/context.d.ts +0 -11
  628. package/lib/action/context.js +0 -20
  629. package/lib/action/context.js.map +0 -1
  630. package/lib/action/fallback.d.ts +0 -3
  631. package/lib/action/fallback.js +0 -41
  632. package/lib/action/fallback.js.map +0 -1
  633. package/lib/action/first-interaction.d.ts +0 -3
  634. package/lib/action/first-interaction.js +0 -110
  635. package/lib/action/first-interaction.js.map +0 -1
  636. package/lib/action/get-contents.d.ts +0 -3
  637. package/lib/action/get-contents.js +0 -59
  638. package/lib/action/get-contents.js.map +0 -1
  639. package/lib/action/index.d.ts +0 -25
  640. package/lib/action/index.js +0 -133
  641. package/lib/action/index.js.map +0 -1
  642. package/lib/action/payload.d.ts +0 -3
  643. package/lib/action/payload.js +0 -78
  644. package/lib/action/payload.js.map +0 -1
  645. package/lib/api.d.ts +0 -45
  646. package/lib/api.js +0 -240
  647. package/lib/api.js.map +0 -1
  648. package/lib/bot-context-manager.d.ts +0 -17
  649. package/lib/bot-context-manager.js +0 -101
  650. package/lib/bot-context-manager.js.map +0 -1
  651. package/lib/constants.js +0 -18
  652. package/lib/constants.js.map +0 -1
  653. package/lib/content-fields/contact-reasons-conditional-matcher.d.ts +0 -4
  654. package/lib/content-fields/contact-reasons-conditional-matcher.js +0 -10
  655. package/lib/content-fields/contact-reasons-conditional-matcher.js.map +0 -1
  656. package/lib/content-fields/content-fields-base.d.ts +0 -20
  657. package/lib/content-fields/content-fields-base.js +0 -78
  658. package/lib/content-fields/content-fields-base.js.map +0 -1
  659. package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.d.ts +0 -15
  660. package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.js +0 -73
  661. package/lib/content-fields/custom-conditional/custom-conditional-v2-evaluators.js.map +0 -1
  662. package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.d.ts +0 -9
  663. package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.js +0 -58
  664. package/lib/content-fields/custom-conditional/custom-conditional-v2-resolver.js.map +0 -1
  665. package/lib/content-fields/custom-conditional/flow-custom-condition-v2.d.ts +0 -17
  666. package/lib/content-fields/custom-conditional/flow-custom-condition-v2.js +0 -94
  667. package/lib/content-fields/custom-conditional/flow-custom-condition-v2.js.map +0 -1
  668. package/lib/content-fields/flow-ai-agent-base.d.ts +0 -25
  669. package/lib/content-fields/flow-ai-agent-base.js +0 -106
  670. package/lib/content-fields/flow-ai-agent-base.js.map +0 -1
  671. package/lib/content-fields/flow-ai-agent-router.d.ts +0 -21
  672. package/lib/content-fields/flow-ai-agent-router.js +0 -137
  673. package/lib/content-fields/flow-ai-agent-router.js.map +0 -1
  674. package/lib/content-fields/flow-ai-agent.d.ts +0 -17
  675. package/lib/content-fields/flow-ai-agent.js +0 -76
  676. package/lib/content-fields/flow-ai-agent.js.map +0 -1
  677. package/lib/content-fields/flow-bot-action.d.ts +0 -14
  678. package/lib/content-fields/flow-bot-action.js +0 -53
  679. package/lib/content-fields/flow-bot-action.js.map +0 -1
  680. package/lib/content-fields/flow-button.d.ts +0 -31
  681. package/lib/content-fields/flow-button.js +0 -105
  682. package/lib/content-fields/flow-button.js.map +0 -1
  683. package/lib/content-fields/flow-capture-user-input.d.ts +0 -14
  684. package/lib/content-fields/flow-capture-user-input.js +0 -46
  685. package/lib/content-fields/flow-capture-user-input.js.map +0 -1
  686. package/lib/content-fields/flow-carousel.d.ts +0 -22
  687. package/lib/content-fields/flow-carousel.js +0 -193
  688. package/lib/content-fields/flow-carousel.js.map +0 -1
  689. package/lib/content-fields/flow-channel-conditional.d.ts +0 -14
  690. package/lib/content-fields/flow-channel-conditional.js +0 -61
  691. package/lib/content-fields/flow-channel-conditional.js.map +0 -1
  692. package/lib/content-fields/flow-contact-reasons-conditional.d.ts +0 -14
  693. package/lib/content-fields/flow-contact-reasons-conditional.js +0 -68
  694. package/lib/content-fields/flow-contact-reasons-conditional.js.map +0 -1
  695. package/lib/content-fields/flow-country-conditional.d.ts +0 -13
  696. package/lib/content-fields/flow-country-conditional.js +0 -64
  697. package/lib/content-fields/flow-country-conditional.js.map +0 -1
  698. package/lib/content-fields/flow-custom-conditional.d.ts +0 -17
  699. package/lib/content-fields/flow-custom-conditional.js +0 -87
  700. package/lib/content-fields/flow-custom-conditional.js.map +0 -1
  701. package/lib/content-fields/flow-do-nothing.d.ts +0 -9
  702. package/lib/content-fields/flow-do-nothing.js +0 -33
  703. package/lib/content-fields/flow-do-nothing.js.map +0 -1
  704. package/lib/content-fields/flow-element.d.ts +0 -22
  705. package/lib/content-fields/flow-element.js +0 -67
  706. package/lib/content-fields/flow-element.js.map +0 -1
  707. package/lib/content-fields/flow-go-to-flow.d.ts +0 -13
  708. package/lib/content-fields/flow-go-to-flow.js +0 -56
  709. package/lib/content-fields/flow-go-to-flow.js.map +0 -1
  710. package/lib/content-fields/flow-handoff.d.ts +0 -23
  711. package/lib/content-fields/flow-handoff.js +0 -117
  712. package/lib/content-fields/flow-handoff.js.map +0 -1
  713. package/lib/content-fields/flow-image.d.ts +0 -10
  714. package/lib/content-fields/flow-image.js +0 -42
  715. package/lib/content-fields/flow-image.js.map +0 -1
  716. package/lib/content-fields/flow-queue-status-conditional.d.ts +0 -30
  717. package/lib/content-fields/flow-queue-status-conditional.js +0 -100
  718. package/lib/content-fields/flow-queue-status-conditional.js.map +0 -1
  719. package/lib/content-fields/flow-rating.d.ts +0 -15
  720. package/lib/content-fields/flow-rating.js +0 -88
  721. package/lib/content-fields/flow-rating.js.map +0 -1
  722. package/lib/content-fields/flow-text.d.ts +0 -15
  723. package/lib/content-fields/flow-text.js +0 -82
  724. package/lib/content-fields/flow-text.js.map +0 -1
  725. package/lib/content-fields/flow-video.d.ts +0 -10
  726. package/lib/content-fields/flow-video.js +0 -42
  727. package/lib/content-fields/flow-video.js.map +0 -1
  728. package/lib/content-fields/flow-webview.d.ts +0 -16
  729. package/lib/content-fields/flow-webview.js +0 -81
  730. package/lib/content-fields/flow-webview.js.map +0 -1
  731. package/lib/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -21
  732. package/lib/content-fields/flow-whatsapp-cta-url-button.js +0 -131
  733. package/lib/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
  734. package/lib/content-fields/flow-whatsapp-request-contact-info.d.ts +0 -11
  735. package/lib/content-fields/flow-whatsapp-request-contact-info.js +0 -62
  736. package/lib/content-fields/flow-whatsapp-request-contact-info.js.map +0 -1
  737. package/lib/content-fields/flow-whatsapp-template.d.ts +0 -37
  738. package/lib/content-fields/flow-whatsapp-template.js +0 -281
  739. package/lib/content-fields/flow-whatsapp-template.js.map +0 -1
  740. package/lib/content-fields/hubtype-fields/ai-agent-router.d.ts +0 -21
  741. package/lib/content-fields/hubtype-fields/ai-agent-router.js +0 -4
  742. package/lib/content-fields/hubtype-fields/ai-agent-router.js.map +0 -1
  743. package/lib/content-fields/hubtype-fields/ai-agent.d.ts +0 -25
  744. package/lib/content-fields/hubtype-fields/ai-agent.js +0 -4
  745. package/lib/content-fields/hubtype-fields/ai-agent.js.map +0 -1
  746. package/lib/content-fields/hubtype-fields/bot-action.d.ts +0 -10
  747. package/lib/content-fields/hubtype-fields/bot-action.js +0 -4
  748. package/lib/content-fields/hubtype-fields/bot-action.js.map +0 -1
  749. package/lib/content-fields/hubtype-fields/button.d.ts +0 -8
  750. package/lib/content-fields/hubtype-fields/button.js +0 -4
  751. package/lib/content-fields/hubtype-fields/button.js.map +0 -1
  752. package/lib/content-fields/hubtype-fields/capture-user-input.d.ts +0 -19
  753. package/lib/content-fields/hubtype-fields/capture-user-input.js +0 -12
  754. package/lib/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
  755. package/lib/content-fields/hubtype-fields/carousel.d.ts +0 -17
  756. package/lib/content-fields/hubtype-fields/carousel.js +0 -4
  757. package/lib/content-fields/hubtype-fields/carousel.js.map +0 -1
  758. package/lib/content-fields/hubtype-fields/channel-conditional.d.ts +0 -10
  759. package/lib/content-fields/hubtype-fields/channel-conditional.js +0 -4
  760. package/lib/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
  761. package/lib/content-fields/hubtype-fields/common.d.ts +0 -83
  762. package/lib/content-fields/hubtype-fields/common.js +0 -4
  763. package/lib/content-fields/hubtype-fields/common.js.map +0 -1
  764. package/lib/content-fields/hubtype-fields/contact-reasons-conditional.d.ts +0 -16
  765. package/lib/content-fields/hubtype-fields/contact-reasons-conditional.js +0 -4
  766. package/lib/content-fields/hubtype-fields/contact-reasons-conditional.js.map +0 -1
  767. package/lib/content-fields/hubtype-fields/country-conditional.d.ts +0 -10
  768. package/lib/content-fields/hubtype-fields/country-conditional.js +0 -4
  769. package/lib/content-fields/hubtype-fields/country-conditional.js.map +0 -1
  770. package/lib/content-fields/hubtype-fields/custom-conditional-v2.d.ts +0 -56
  771. package/lib/content-fields/hubtype-fields/custom-conditional-v2.js +0 -36
  772. package/lib/content-fields/hubtype-fields/custom-conditional-v2.js.map +0 -1
  773. package/lib/content-fields/hubtype-fields/custom-conditional.d.ts +0 -11
  774. package/lib/content-fields/hubtype-fields/custom-conditional.js +0 -4
  775. package/lib/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
  776. package/lib/content-fields/hubtype-fields/do-nothing.d.ts +0 -6
  777. package/lib/content-fields/hubtype-fields/do-nothing.js +0 -4
  778. package/lib/content-fields/hubtype-fields/do-nothing.js.map +0 -1
  779. package/lib/content-fields/hubtype-fields/fallback.d.ts +0 -9
  780. package/lib/content-fields/hubtype-fields/fallback.js +0 -4
  781. package/lib/content-fields/hubtype-fields/fallback.js.map +0 -1
  782. package/lib/content-fields/hubtype-fields/function.d.ts +0 -30
  783. package/lib/content-fields/hubtype-fields/function.js +0 -11
  784. package/lib/content-fields/hubtype-fields/function.js.map +0 -1
  785. package/lib/content-fields/hubtype-fields/go-to-flow.d.ts +0 -9
  786. package/lib/content-fields/hubtype-fields/go-to-flow.js +0 -4
  787. package/lib/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
  788. package/lib/content-fields/hubtype-fields/handoff.d.ts +0 -21
  789. package/lib/content-fields/hubtype-fields/handoff.js +0 -10
  790. package/lib/content-fields/hubtype-fields/handoff.js.map +0 -1
  791. package/lib/content-fields/hubtype-fields/image.d.ts +0 -8
  792. package/lib/content-fields/hubtype-fields/image.js +0 -4
  793. package/lib/content-fields/hubtype-fields/image.js.map +0 -1
  794. package/lib/content-fields/hubtype-fields/index.d.ts +0 -28
  795. package/lib/content-fields/hubtype-fields/index.js +0 -59
  796. package/lib/content-fields/hubtype-fields/index.js.map +0 -1
  797. package/lib/content-fields/hubtype-fields/keyword.d.ts +0 -9
  798. package/lib/content-fields/hubtype-fields/keyword.js +0 -4
  799. package/lib/content-fields/hubtype-fields/keyword.js.map +0 -1
  800. package/lib/content-fields/hubtype-fields/node-types.d.ts +0 -33
  801. package/lib/content-fields/hubtype-fields/node-types.js +0 -40
  802. package/lib/content-fields/hubtype-fields/node-types.js.map +0 -1
  803. package/lib/content-fields/hubtype-fields/nodes.d.ts +0 -28
  804. package/lib/content-fields/hubtype-fields/nodes.js +0 -4
  805. package/lib/content-fields/hubtype-fields/nodes.js.map +0 -1
  806. package/lib/content-fields/hubtype-fields/payload.d.ts +0 -8
  807. package/lib/content-fields/hubtype-fields/payload.js +0 -4
  808. package/lib/content-fields/hubtype-fields/payload.js.map +0 -1
  809. package/lib/content-fields/hubtype-fields/queue-status-conditional.d.ts +0 -25
  810. package/lib/content-fields/hubtype-fields/queue-status-conditional.js +0 -4
  811. package/lib/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
  812. package/lib/content-fields/hubtype-fields/rating.d.ts +0 -23
  813. package/lib/content-fields/hubtype-fields/rating.js +0 -9
  814. package/lib/content-fields/hubtype-fields/rating.js.map +0 -1
  815. package/lib/content-fields/hubtype-fields/smart-intent.d.ts +0 -12
  816. package/lib/content-fields/hubtype-fields/smart-intent.js +0 -4
  817. package/lib/content-fields/hubtype-fields/smart-intent.js.map +0 -1
  818. package/lib/content-fields/hubtype-fields/text.d.ts +0 -11
  819. package/lib/content-fields/hubtype-fields/text.js +0 -4
  820. package/lib/content-fields/hubtype-fields/text.js.map +0 -1
  821. package/lib/content-fields/hubtype-fields/url.d.ts +0 -8
  822. package/lib/content-fields/hubtype-fields/url.js +0 -4
  823. package/lib/content-fields/hubtype-fields/url.js.map +0 -1
  824. package/lib/content-fields/hubtype-fields/video.d.ts +0 -8
  825. package/lib/content-fields/hubtype-fields/video.js +0 -4
  826. package/lib/content-fields/hubtype-fields/video.js.map +0 -1
  827. package/lib/content-fields/hubtype-fields/webview.d.ts +0 -17
  828. package/lib/content-fields/hubtype-fields/webview.js +0 -4
  829. package/lib/content-fields/hubtype-fields/webview.js.map +0 -1
  830. package/lib/content-fields/hubtype-fields/whatsapp-button-list.d.ts +0 -21
  831. package/lib/content-fields/hubtype-fields/whatsapp-button-list.js +0 -4
  832. package/lib/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
  833. package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +0 -17
  834. package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -4
  835. package/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
  836. package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.d.ts +0 -10
  837. package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.js +0 -4
  838. package/lib/content-fields/hubtype-fields/whatsapp-request-contact-info.js.map +0 -1
  839. package/lib/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -96
  840. package/lib/content-fields/hubtype-fields/whatsapp-template.js +0 -9
  841. package/lib/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
  842. package/lib/content-fields/index.d.ts +0 -27
  843. package/lib/content-fields/index.js +0 -79
  844. package/lib/content-fields/index.js.map +0 -1
  845. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -14
  846. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -43
  847. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
  848. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +0 -13
  849. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -41
  850. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
  851. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -14
  852. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -66
  853. package/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
  854. package/lib/content-fields/whatsapp-button-list/index.d.ts +0 -3
  855. package/lib/content-fields/whatsapp-button-list/index.js +0 -12
  856. package/lib/content-fields/whatsapp-button-list/index.js.map +0 -1
  857. package/lib/filters/index.d.ts +0 -12
  858. package/lib/filters/index.js +0 -16
  859. package/lib/filters/index.js.map +0 -1
  860. package/lib/flow-factory.d.ts +0 -12
  861. package/lib/flow-factory.js +0 -79
  862. package/lib/flow-factory.js.map +0 -1
  863. package/lib/functions/index.d.ts +0 -11
  864. package/lib/functions/index.js +0 -55
  865. package/lib/functions/index.js.map +0 -1
  866. package/lib/index.d.ts +0 -42
  867. package/lib/index.js +0 -157
  868. package/lib/index.js.map +0 -1
  869. package/lib/services/hubtype-queues-api.js +0 -26
  870. package/lib/services/hubtype-queues-api.js.map +0 -1
  871. package/lib/structured-output/flow-builder-content.js +0 -16
  872. package/lib/structured-output/flow-builder-content.js.map +0 -1
  873. package/lib/tracking.d.ts +0 -16
  874. package/lib/tracking.js +0 -77
  875. package/lib/tracking.js.map +0 -1
  876. package/lib/types.d.ts +0 -62
  877. package/lib/types.js +0 -14
  878. package/lib/types.js.map +0 -1
  879. package/lib/user-input/capture-user-input-api.d.ts +0 -21
  880. package/lib/user-input/capture-user-input-api.js +0 -99
  881. package/lib/user-input/capture-user-input-api.js.map +0 -1
  882. package/lib/user-input/index.d.ts +0 -4
  883. package/lib/user-input/index.js +0 -46
  884. package/lib/user-input/index.js.map +0 -1
  885. package/lib/user-input/keyword.d.ts +0 -27
  886. package/lib/user-input/keyword.js +0 -89
  887. package/lib/user-input/keyword.js.map +0 -1
  888. package/lib/user-input/smart-intent.d.ts +0 -24
  889. package/lib/user-input/smart-intent.js +0 -93
  890. package/lib/user-input/smart-intent.js.map +0 -1
  891. package/lib/utils/ai-agent.d.ts +0 -11
  892. package/lib/utils/ai-agent.js +0 -33
  893. package/lib/utils/ai-agent.js.map +0 -1
  894. package/lib/utils/authentication.js +0 -24
  895. package/lib/utils/authentication.js.map +0 -1
  896. package/lib/utils/flow-locale.js +0 -75
  897. package/lib/utils/flow-locale.js.map +0 -1
  898. package/lib/utils/get-flow-builder-plugin.d.ts +0 -3
  899. package/lib/utils/get-flow-builder-plugin.js +0 -16
  900. package/lib/utils/get-flow-builder-plugin.js.map +0 -1
  901. package/lib/utils/hubtype-assistant-content.d.ts +0 -13
  902. package/lib/utils/hubtype-assistant-content.js +0 -200
  903. package/lib/utils/hubtype-assistant-content.js.map +0 -1
  904. package/lib/utils/input.js +0 -37
  905. package/lib/utils/input.js.map +0 -1
  906. package/lib/webview/contents-context.d.ts +0 -2
  907. package/lib/webview/contents-context.js +0 -14
  908. package/lib/webview/contents-context.js.map +0 -1
  909. package/lib/webview/index.d.ts +0 -3
  910. package/lib/webview/index.js +0 -11
  911. package/lib/webview/index.js.map +0 -1
  912. package/lib/webview/types.d.ts +0 -47
  913. package/lib/webview/types.js +0 -9
  914. package/lib/webview/types.js.map +0 -1
  915. package/lib/webview/use-webview-contents.d.ts +0 -2
  916. package/lib/webview/use-webview-contents.js +0 -90
  917. package/lib/webview/use-webview-contents.js.map +0 -1
  918. /package/lib/{constants.d.ts → cjs/constants.d.ts} +0 -0
  919. /package/lib/{services → cjs/services}/hubtype-queues-api.d.ts +0 -0
  920. /package/lib/{structured-output → cjs/structured-output}/flow-builder-content.d.ts +0 -0
  921. /package/lib/{utils → cjs/utils}/authentication.d.ts +0 -0
  922. /package/lib/{utils → cjs/utils}/flow-locale.d.ts +0 -0
  923. /package/lib/{utils → cjs/utils}/input.d.ts +0 -0
@@ -1,73 +0,0 @@
1
- import { BooleanConditionOperator, NumberConditionOperator, StringConditionOperator } from "../hubtype-fields/index.js";
2
-
3
-
4
-
5
- function getMinAndMax(condition) {
6
- if (condition.min !== undefined && condition.max !== undefined) {
7
- return {
8
- min: condition.min,
9
- max: condition.max
10
- };
11
- }
12
- throw new Error(`Min or max not found for number condition ${condition.operator}`);
13
- }
14
- const STRING_CONDITION_EVALUATORS = {
15
- [StringConditionOperator.Contains]: (variable, value)=>variable.includes(value),
16
- [StringConditionOperator.NotContains]: (variable, value)=>!variable.includes(value),
17
- [StringConditionOperator.EqualsTo]: (variable, value)=>variable === value,
18
- [StringConditionOperator.NotEqualsTo]: (variable, value)=>variable !== value,
19
- [StringConditionOperator.StartsWith]: (variable, value)=>variable.startsWith(value),
20
- [StringConditionOperator.NotStartsWith]: (variable, value)=>!variable.startsWith(value),
21
- [StringConditionOperator.EndsWith]: (variable, value)=>variable.endsWith(value),
22
- [StringConditionOperator.NotEndsWith]: (variable, value)=>!variable.endsWith(value)
23
- };
24
- const NUMBER_CONDITION_EVALUATORS = {
25
- [NumberConditionOperator.EqualsTo]: (variable, value)=>variable === value,
26
- [NumberConditionOperator.NotEqualsTo]: (variable, value)=>variable !== value,
27
- [NumberConditionOperator.GreaterThan]: (variable, value)=>variable > value,
28
- [NumberConditionOperator.LessThan]: (variable, value)=>variable < value,
29
- [NumberConditionOperator.GreaterThanOrEqualTo]: (variable, value)=>variable >= value,
30
- [NumberConditionOperator.LessThanOrEqualTo]: (variable, value)=>variable <= value,
31
- [NumberConditionOperator.Between]: (variable, _value, condition)=>{
32
- const { min, max } = getMinAndMax(condition);
33
- return variable >= min && variable <= max;
34
- },
35
- [NumberConditionOperator.NotBetween]: (variable, _value, condition)=>{
36
- const { min, max } = getMinAndMax(condition);
37
- return variable < min || variable > max;
38
- }
39
- };
40
- const BOOLEAN_CONDITION_EVALUATORS = {
41
- [BooleanConditionOperator.IsTruthy]: (variable)=>!!variable
42
- };
43
- function evaluateStringCondition(variable, condition) {
44
- if (condition.value === undefined) {
45
- throw new Error(`Value not found for string condition ${condition.operator}`);
46
- }
47
- const evaluator = STRING_CONDITION_EVALUATORS[condition.operator];
48
- if (!evaluator) {
49
- throw new Error(`Invalid string condition operator ${condition.operator}`);
50
- }
51
- return evaluator(variable, condition.value);
52
- }
53
- function evaluateNumberCondition(variable, condition) {
54
- if (condition.value === undefined) {
55
- throw new Error(`Value not found for number condition ${condition.operator}`);
56
- }
57
- const evaluator = NUMBER_CONDITION_EVALUATORS[condition.operator];
58
- if (!evaluator) {
59
- throw new Error(`Invalid number condition operator ${condition.operator}`);
60
- }
61
- return evaluator(variable, condition.value, condition);
62
- }
63
- function evaluateBooleanCondition(variable, condition) {
64
- const evaluator = BOOLEAN_CONDITION_EVALUATORS[condition.operator];
65
- if (!evaluator) {
66
- throw new Error(`Invalid boolean condition operator ${condition.operator}`);
67
- }
68
- return evaluator(variable);
69
- }
70
-
71
- export { BOOLEAN_CONDITION_EVALUATORS, NUMBER_CONDITION_EVALUATORS, STRING_CONDITION_EVALUATORS, evaluateBooleanCondition, evaluateNumberCondition, evaluateStringCondition, getMinAndMax };
72
-
73
- //# sourceMappingURL=custom-conditional-v2-evaluators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/custom-conditional/custom-conditional-v2-evaluators.js","sources":["../../../src/content-fields/custom-conditional/custom-conditional-v2-evaluators.ts"],"sourcesContent":["import {\n BooleanConditionOperator,\n type HtBooleanCondition,\n type HtNumberCondition,\n type HtStringCondition,\n NumberConditionOperator,\n StringConditionOperator,\n} from '../hubtype-fields'\n\ntype StringEvaluator = (variable: string, value: string) => boolean\n\ntype NumberEvaluator = (\n variable: number,\n value: number,\n condition: HtNumberCondition\n) => boolean\n\ntype BooleanEvaluator = (variable: boolean) => boolean\n\nexport function getMinAndMax(condition: HtNumberCondition): {\n min: number\n max: number\n} {\n if (condition.min !== undefined && condition.max !== undefined) {\n return { min: condition.min, max: condition.max }\n }\n throw new Error(\n `Min or max not found for number condition ${condition.operator}`\n )\n}\n\nexport const STRING_CONDITION_EVALUATORS: Record<\n StringConditionOperator,\n StringEvaluator\n> = {\n [StringConditionOperator.Contains]: (variable, value) =>\n variable.includes(value),\n [StringConditionOperator.NotContains]: (variable, value) =>\n !variable.includes(value),\n [StringConditionOperator.EqualsTo]: (variable, value) => variable === value,\n [StringConditionOperator.NotEqualsTo]: (variable, value) =>\n variable !== value,\n [StringConditionOperator.StartsWith]: (variable, value) =>\n variable.startsWith(value),\n [StringConditionOperator.NotStartsWith]: (variable, value) =>\n !variable.startsWith(value),\n [StringConditionOperator.EndsWith]: (variable, value) =>\n variable.endsWith(value),\n [StringConditionOperator.NotEndsWith]: (variable, value) =>\n !variable.endsWith(value),\n}\n\nexport const NUMBER_CONDITION_EVALUATORS: Record<\n NumberConditionOperator,\n NumberEvaluator\n> = {\n [NumberConditionOperator.EqualsTo]: (variable, value) => variable === value,\n [NumberConditionOperator.NotEqualsTo]: (variable, value) =>\n variable !== value,\n [NumberConditionOperator.GreaterThan]: (variable, value) => variable > value,\n [NumberConditionOperator.LessThan]: (variable, value) => variable < value,\n [NumberConditionOperator.GreaterThanOrEqualTo]: (variable, value) =>\n variable >= value,\n [NumberConditionOperator.LessThanOrEqualTo]: (variable, value) =>\n variable <= value,\n [NumberConditionOperator.Between]: (variable, _value, condition) => {\n const { min, max } = getMinAndMax(condition)\n return variable >= min && variable <= max\n },\n [NumberConditionOperator.NotBetween]: (variable, _value, condition) => {\n const { min, max } = getMinAndMax(condition)\n return variable < min || variable > max\n },\n}\n\nexport const BOOLEAN_CONDITION_EVALUATORS: Record<\n BooleanConditionOperator,\n BooleanEvaluator\n> = {\n [BooleanConditionOperator.IsTruthy]: variable => !!variable,\n}\n\nexport function evaluateStringCondition(\n variable: string,\n condition: HtStringCondition\n): boolean {\n if (condition.value === undefined) {\n throw new Error(\n `Value not found for string condition ${condition.operator}`\n )\n }\n const evaluator = STRING_CONDITION_EVALUATORS[condition.operator]\n if (!evaluator) {\n throw new Error(`Invalid string condition operator ${condition.operator}`)\n }\n return evaluator(variable, condition.value)\n}\n\nexport function evaluateNumberCondition(\n variable: number,\n condition: HtNumberCondition\n): boolean {\n if (condition.value === undefined) {\n throw new Error(\n `Value not found for number condition ${condition.operator}`\n )\n }\n const evaluator = NUMBER_CONDITION_EVALUATORS[condition.operator]\n if (!evaluator) {\n throw new Error(`Invalid number condition operator ${condition.operator}`)\n }\n return evaluator(variable, condition.value, condition)\n}\n\nexport function evaluateBooleanCondition(\n variable: boolean,\n condition: HtBooleanCondition\n): boolean {\n const evaluator = BOOLEAN_CONDITION_EVALUATORS[condition.operator]\n if (!evaluator) {\n throw new Error(`Invalid boolean condition operator ${condition.operator}`)\n }\n return evaluator(variable)\n}\n"],"names":["BooleanConditionOperator","NumberConditionOperator","StringConditionOperator","getMinAndMax","condition","undefined","Error","STRING_CONDITION_EVALUATORS","variable","value","NUMBER_CONDITION_EVALUATORS","_value","min","max","BOOLEAN_CONDITION_EVALUATORS","evaluateStringCondition","evaluator","evaluateNumberCondition","evaluateBooleanCondition"],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { type HtCondition, type HtNodeLink, VariableFormat } from '../hubtype-fields/index.js';
2
- export type ConditionMatch = {
3
- customResult: string;
4
- target: HtNodeLink;
5
- operator: string;
6
- };
7
- export declare function getConditionCustomResult(condition: HtCondition, variableFormat: VariableFormat): string;
8
- export declare function findLastMatchingCondition<T extends HtCondition>(conditions: T[], variable: unknown, variableFormat: VariableFormat, evaluate: (variable: unknown, condition: T) => boolean): ConditionMatch | undefined;
9
- export declare function resolveWithDefaultTarget(match: ConditionMatch | undefined, defaultTarget: HtNodeLink, nodeCode: string, defaultCustomResult?: string): ConditionMatch;
@@ -1,58 +0,0 @@
1
- import { NumberConditionOperator, VariableFormat } from "../hubtype-fields/index.js";
2
-
3
-
4
-
5
- function getConditionCustomResult(condition, variableFormat) {
6
- switch(variableFormat){
7
- case VariableFormat.String:
8
- return String(condition.value);
9
- case VariableFormat.Number:
10
- return getNumberConditionCustomResult(condition);
11
- case VariableFormat.Boolean:
12
- // Only reached after evaluateBooleanCondition succeeds; today that is isTruthy → 'true'
13
- return 'true';
14
- default:
15
- throw new Error(`Invalid variable format ${variableFormat}`);
16
- }
17
- }
18
- function getNumberConditionCustomResult(condition) {
19
- const numberCondition = condition;
20
- if (numberCondition.operator === NumberConditionOperator.Between || numberCondition.operator === NumberConditionOperator.NotBetween) {
21
- return `min: ${numberCondition.min} - max: ${numberCondition.max}`;
22
- }
23
- return String(numberCondition.value);
24
- }
25
- function findLastMatchingCondition(conditions, variable, variableFormat, evaluate) {
26
- let lastMatch;
27
- for (const condition of conditions){
28
- if (!evaluate(variable, condition)) {
29
- continue;
30
- }
31
- if (!condition.target) {
32
- continue;
33
- }
34
- lastMatch = {
35
- customResult: getConditionCustomResult(condition, variableFormat),
36
- target: condition.target,
37
- operator: condition.operator
38
- };
39
- }
40
- return lastMatch;
41
- }
42
- function resolveWithDefaultTarget(match, defaultTarget, nodeCode, defaultCustomResult = 'default') {
43
- if (match) {
44
- return match;
45
- }
46
- if (!defaultTarget) {
47
- throw new Error(`Default target not found for custom condition node ${nodeCode}`);
48
- }
49
- return {
50
- customResult: defaultCustomResult,
51
- target: defaultTarget,
52
- operator: ''
53
- };
54
- }
55
-
56
- export { findLastMatchingCondition, getConditionCustomResult, resolveWithDefaultTarget };
57
-
58
- //# sourceMappingURL=custom-conditional-v2-resolver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/custom-conditional/custom-conditional-v2-resolver.js","sources":["../../../src/content-fields/custom-conditional/custom-conditional-v2-resolver.ts"],"sourcesContent":["import {\n type HtCondition,\n type HtNodeLink,\n type HtNumberCondition,\n type HtStringCondition,\n NumberConditionOperator,\n VariableFormat,\n} from '../hubtype-fields'\n\nexport type ConditionMatch = {\n customResult: string\n target: HtNodeLink\n operator: string\n}\n\nexport function getConditionCustomResult(\n condition: HtCondition,\n variableFormat: VariableFormat\n): string {\n switch (variableFormat) {\n case VariableFormat.String:\n return String((condition as HtStringCondition).value)\n case VariableFormat.Number:\n return getNumberConditionCustomResult(condition as HtNumberCondition)\n case VariableFormat.Boolean:\n // Only reached after evaluateBooleanCondition succeeds; today that is isTruthy → 'true'\n return 'true'\n default:\n throw new Error(`Invalid variable format ${variableFormat}`)\n }\n}\n\nfunction getNumberConditionCustomResult(condition: HtNumberCondition): string {\n const numberCondition = condition as HtNumberCondition\n if (\n numberCondition.operator === NumberConditionOperator.Between ||\n numberCondition.operator === NumberConditionOperator.NotBetween\n ) {\n return `min: ${numberCondition.min} - max: ${numberCondition.max}`\n }\n return String(numberCondition.value)\n}\n\nexport function findLastMatchingCondition<T extends HtCondition>(\n conditions: T[],\n variable: unknown,\n variableFormat: VariableFormat,\n evaluate: (variable: unknown, condition: T) => boolean\n): ConditionMatch | undefined {\n let lastMatch: ConditionMatch | undefined\n\n for (const condition of conditions) {\n if (!evaluate(variable, condition)) {\n continue\n }\n\n if (!condition.target) {\n continue\n }\n\n lastMatch = {\n customResult: getConditionCustomResult(condition, variableFormat),\n target: condition.target,\n operator: condition.operator,\n }\n }\n\n return lastMatch\n}\n\nexport function resolveWithDefaultTarget(\n match: ConditionMatch | undefined,\n defaultTarget: HtNodeLink,\n nodeCode: string,\n defaultCustomResult: string = 'default'\n): ConditionMatch {\n if (match) {\n return match\n }\n\n if (!defaultTarget) {\n throw new Error(\n `Default target not found for custom condition node ${nodeCode}`\n )\n }\n\n return {\n customResult: defaultCustomResult,\n target: defaultTarget,\n operator: '',\n }\n}\n"],"names":["NumberConditionOperator","VariableFormat","getConditionCustomResult","condition","variableFormat","String","getNumberConditionCustomResult","Error","numberCondition","findLastMatchingCondition","conditions","variable","evaluate","lastMatch","resolveWithDefaultTarget","match","defaultTarget","nodeCode","defaultCustomResult"],"mappings":";;;AAO0B;AAQnB,SAASE,wBAAwBA,CACtCC,SAAsB,EACtBC,cAA8B;IAE9B,OAAQA;QACN,KAAKH,qBAAqB;YACxB,OAAOI,OAAQF,UAAgC,KAAK;QACtD,KAAKF,qBAAqB;YACxB,OAAOK,8BAA8BA,CAACH;QACxC,KAAKF,sBAAsB;YACzB,wFAAwF;YACxF,OAAO;QACT;YACE,MAAM,IAAIM,MAAM,CAAC,wBAAwB,EAAEH,gBAAgB;IAC/D;AACF;AAEA,SAASE,8BAA8BA,CAACH,SAA4B;IAClE,MAAMK,kBAAkBL;IACxB,IACEK,gBAAgB,QAAQ,KAAKR,+BAA+B,IAC5DQ,gBAAgB,QAAQ,KAAKR,kCAAkC,EAC/D;QACA,OAAO,CAAC,KAAK,EAAEQ,gBAAgB,GAAG,CAAC,QAAQ,EAAEA,gBAAgB,GAAG,EAAE;IACpE;IACA,OAAOH,OAAOG,gBAAgB,KAAK;AACrC;AAEO,SAASC,yBAAyBA,CACvCC,UAAe,EACfC,QAAiB,EACjBP,cAA8B,EAC9BQ,QAAsD;IAEtD,IAAIC;IAEJ,KAAK,MAAMV,aAAaO,WAAY;QAClC,IAAI,CAACE,SAASD,UAAUR,YAAY;YAClC;QACF;QAEA,IAAI,CAACA,UAAU,MAAM,EAAE;YACrB;QACF;QAEAU,YAAY;YACV,cAAcX,wBAAwBA,CAACC,WAAWC;YAClD,QAAQD,UAAU,MAAM;YACxB,UAAUA,UAAU,QAAQ;QAC9B;IACF;IAEA,OAAOU;AACT;AAEO,SAASC,wBAAwBA,CACtCC,KAAiC,EACjCC,aAAyB,EACzBC,QAAgB,EAChBC,sBAA8B,SAAS;IAEvC,IAAIH,OAAO;QACT,OAAOA;IACT;IAEA,IAAI,CAACC,eAAe;QAClB,MAAM,IAAIT,MACR,CAAC,mDAAmD,EAAEU,UAAU;IAEpE;IAEA,OAAO;QACL,cAAcC;QACd,QAAQF;QACR,UAAU;IACZ;AACF"}
@@ -1,17 +0,0 @@
1
- import { type BotContext } from '@botonic/core';
2
- import { ContentFieldsBase } from '../content-fields-base.js';
3
- import { type HtCondition, type HtCustomConditionalV2Node, type HtNodeLink, VariableFormat } from '../hubtype-fields/index.js';
4
- export declare class FlowCustomConditionalV2 extends ContentFieldsBase {
5
- variableFormat: VariableFormat;
6
- keyPath: string;
7
- conditions: HtCondition[];
8
- defaultTarget: HtNodeLink;
9
- customResult: string;
10
- resolvedOperator: string;
11
- static fromHubtypeCMS(component: HtCustomConditionalV2Node, botContext: BotContext): FlowCustomConditionalV2;
12
- private setFollowUp;
13
- private evaluateConditions;
14
- trackFlow(botContext: BotContext): Promise<void>;
15
- processContent(botContext: BotContext): Promise<void>;
16
- toBotonic(): import("react").JSX.Element;
17
- }
@@ -1,94 +0,0 @@
1
- import { Fragment, jsx } from "react/jsx-runtime";
2
- import { EventAction } from "@botonic/core";
3
- import { getCommonFlowContentEventArgsForContentId, trackEvent } from "../../tracking.js";
4
- import { ContentFieldsBase } from "../content-fields-base.js";
5
- import { VariableFormat } from "../hubtype-fields/index.js";
6
- import { evaluateBooleanCondition, evaluateNumberCondition, evaluateStringCondition } from "./custom-conditional-v2-evaluators.js";
7
- import { findLastMatchingCondition, resolveWithDefaultTarget } from "./custom-conditional-v2-resolver.js";
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
- class FlowCustomConditionalV2 extends ContentFieldsBase {
24
- static fromHubtypeCMS(component, botContext) {
25
- const newCustomConditionalV2 = new FlowCustomConditionalV2(component.id);
26
- newCustomConditionalV2.code = component.code;
27
- newCustomConditionalV2.variableFormat = component.content.type;
28
- newCustomConditionalV2.keyPath = component.content.key_path;
29
- newCustomConditionalV2.conditions = component.content.conditions;
30
- newCustomConditionalV2.defaultTarget = component.content.default_target;
31
- newCustomConditionalV2.setFollowUp(botContext);
32
- return newCustomConditionalV2;
33
- }
34
- setFollowUp(botContext) {
35
- const botVariable = this.getValueFromKeyPath(botContext, this.keyPath);
36
- const resolved = this.evaluateConditions(botVariable);
37
- this.customResult = resolved.customResult;
38
- this.resolvedOperator = resolved.operator;
39
- this.followUp = resolved.target;
40
- }
41
- evaluateConditions(botVariable) {
42
- switch(this.variableFormat){
43
- case VariableFormat.String:
44
- {
45
- const match = findLastMatchingCondition(this.conditions, botVariable, this.variableFormat, (variable, condition)=>evaluateStringCondition(variable, condition));
46
- return resolveWithDefaultTarget(match, this.defaultTarget, this.code);
47
- }
48
- case VariableFormat.Number:
49
- {
50
- const match = findLastMatchingCondition(this.conditions, botVariable, this.variableFormat, (variable, condition)=>evaluateNumberCondition(variable, condition));
51
- return resolveWithDefaultTarget(match, this.defaultTarget, this.code);
52
- }
53
- case VariableFormat.Boolean:
54
- {
55
- const match = findLastMatchingCondition(this.conditions, botVariable, this.variableFormat, (variable, condition)=>evaluateBooleanCondition(variable, condition));
56
- return resolveWithDefaultTarget(match, this.defaultTarget, this.code, 'false');
57
- }
58
- default:
59
- throw new Error(`Invalid variable format ${this.variableFormat} for custom condition node ${this.code}`);
60
- }
61
- }
62
- async trackFlow(botContext) {
63
- const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(botContext, this.id);
64
- const eventCustomConditional = {
65
- action: EventAction.ConditionalCustom,
66
- flowThreadId,
67
- flowId,
68
- flowName,
69
- flowNodeId,
70
- flowNodeContentId,
71
- flowNodeIsMeaningful: false,
72
- conditionalVariable: this.customResult,
73
- variableFormat: this.variableFormat,
74
- operator: this.resolvedOperator
75
- };
76
- const { action, ...eventArgs } = eventCustomConditional;
77
- await trackEvent(botContext, action, eventArgs);
78
- }
79
- async processContent(botContext) {
80
- await this.filterContent(botContext, this);
81
- await this.trackFlow(botContext);
82
- return;
83
- }
84
- toBotonic() {
85
- return /*#__PURE__*/ jsx(Fragment, {});
86
- }
87
- constructor(...args){
88
- super(...args), this.customResult = '', this.resolvedOperator = '';
89
- }
90
- }
91
-
92
- export { FlowCustomConditionalV2 };
93
-
94
- //# sourceMappingURL=flow-custom-condition-v2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/custom-conditional/flow-custom-condition-v2.js","sources":["../../../src/content-fields/custom-conditional/flow-custom-condition-v2.tsx"],"sourcesContent":["import {\n type BotContext,\n EventAction,\n type EventConditionalCustom,\n} from '@botonic/core'\nimport {\n getCommonFlowContentEventArgsForContentId,\n trackEvent,\n} from '../../tracking'\nimport { ContentFieldsBase } from '../content-fields-base'\nimport {\n type HtBooleanCondition,\n type HtCondition,\n type HtCustomConditionalV2Node,\n type HtNodeLink,\n type HtNumberCondition,\n type HtStringCondition,\n VariableFormat,\n} from '../hubtype-fields'\nimport {\n evaluateBooleanCondition,\n evaluateNumberCondition,\n evaluateStringCondition,\n} from './custom-conditional-v2-evaluators'\nimport {\n type ConditionMatch,\n findLastMatchingCondition,\n resolveWithDefaultTarget,\n} from './custom-conditional-v2-resolver'\n\nexport class FlowCustomConditionalV2 extends ContentFieldsBase {\n public variableFormat: VariableFormat\n public keyPath: string\n public conditions: HtCondition[]\n public defaultTarget: HtNodeLink\n public customResult = ''\n public resolvedOperator = ''\n\n static fromHubtypeCMS(\n component: HtCustomConditionalV2Node,\n botContext: BotContext\n ): FlowCustomConditionalV2 {\n const newCustomConditionalV2 = new FlowCustomConditionalV2(component.id)\n newCustomConditionalV2.code = component.code\n newCustomConditionalV2.variableFormat = component.content.type\n newCustomConditionalV2.keyPath = component.content.key_path\n newCustomConditionalV2.conditions = component.content.conditions\n newCustomConditionalV2.defaultTarget = component.content.default_target\n newCustomConditionalV2.setFollowUp(botContext)\n\n return newCustomConditionalV2\n }\n\n private setFollowUp(botContext: BotContext): void {\n const botVariable = this.getValueFromKeyPath(botContext, this.keyPath)\n const resolved = this.evaluateConditions(botVariable)\n\n this.customResult = resolved.customResult\n this.resolvedOperator = resolved.operator\n this.followUp = resolved.target\n }\n\n private evaluateConditions(botVariable: unknown): ConditionMatch {\n switch (this.variableFormat) {\n case VariableFormat.String: {\n const match = findLastMatchingCondition(\n this.conditions as HtStringCondition[],\n botVariable,\n this.variableFormat,\n (variable, condition) =>\n evaluateStringCondition(variable as string, condition)\n )\n return resolveWithDefaultTarget(match, this.defaultTarget, this.code)\n }\n case VariableFormat.Number: {\n const match = findLastMatchingCondition(\n this.conditions as HtNumberCondition[],\n botVariable,\n this.variableFormat,\n (variable, condition) =>\n evaluateNumberCondition(variable as number, condition)\n )\n return resolveWithDefaultTarget(match, this.defaultTarget, this.code)\n }\n case VariableFormat.Boolean: {\n const match = findLastMatchingCondition(\n this.conditions as HtBooleanCondition[],\n botVariable,\n this.variableFormat,\n (variable, condition) =>\n evaluateBooleanCondition(variable as boolean, condition)\n )\n return resolveWithDefaultTarget(\n match,\n this.defaultTarget,\n this.code,\n 'false'\n )\n }\n default:\n throw new Error(\n `Invalid variable format ${this.variableFormat} for custom condition node ${this.code}`\n )\n }\n }\n\n async trackFlow(botContext: BotContext): Promise<void> {\n const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } =\n getCommonFlowContentEventArgsForContentId(botContext, this.id)\n\n const eventCustomConditional: EventConditionalCustom = {\n action: EventAction.ConditionalCustom,\n flowThreadId,\n flowId,\n flowName,\n flowNodeId,\n flowNodeContentId,\n flowNodeIsMeaningful: false,\n conditionalVariable: this.customResult,\n variableFormat: this.variableFormat,\n operator: this.resolvedOperator,\n }\n const { action, ...eventArgs } = eventCustomConditional\n await trackEvent(botContext, action, eventArgs)\n }\n\n async processContent(botContext: BotContext): Promise<void> {\n await this.filterContent(botContext, this)\n await this.trackFlow(botContext)\n return\n }\n\n toBotonic() {\n return <></>\n }\n}\n"],"names":["EventAction","getCommonFlowContentEventArgsForContentId","trackEvent","ContentFieldsBase","VariableFormat","evaluateBooleanCondition","evaluateNumberCondition","evaluateStringCondition","findLastMatchingCondition","resolveWithDefaultTarget","FlowCustomConditionalV2","component","botContext","newCustomConditionalV2","botVariable","resolved","match","variable","condition","Error","flowThreadId","flowId","flowName","flowNodeId","flowNodeContentId","eventCustomConditional","action","eventArgs"],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { type AgenticOutputMessage, type BotContext, type GuardrailRule, type HubtypeAssistantMessage, type InferenceResponse, VerbosityLevel } from '@botonic/core';
2
- import { type FlowBuilderContentMessage } from '../structured-output/flow-builder-content.js';
3
- import { ContentFieldsBase } from './content-fields-base.js';
4
- import type { HtInputGuardrailRule } from './hubtype-fields/index.js';
5
- import type { FlowContent } from './index.js';
6
- export declare abstract class FlowAiAgentBase extends ContentFieldsBase {
7
- name: string;
8
- instructions: string;
9
- model: string;
10
- verbosity: VerbosityLevel;
11
- inputGuardrailRules: HtInputGuardrailRule[];
12
- aiAgentResponse?: InferenceResponse<FlowBuilderContentMessage>;
13
- messages: AgenticOutputMessage<FlowBuilderContentMessage>[];
14
- jsxElements: JSX.Element[];
15
- abstract getAIAgentResponse(botContext: BotContext, previousContents?: FlowContent[]): Promise<InferenceResponse<FlowBuilderContentMessage> | undefined>;
16
- abstract trackAiAgentResponse(botContext: BotContext): Promise<void>;
17
- resolveAIAgentResponse(botContext: BotContext, previousContents?: FlowContent[]): Promise<InferenceResponse<FlowBuilderContentMessage> | undefined>;
18
- trackFlow(_botContext: BotContext): Promise<void>;
19
- getFlowContentsByContentId(botContext: BotContext, contentId: string): Promise<FlowContent[]>;
20
- messagesToBotonicJSXElements(botContext: BotContext): Promise<void>;
21
- processContent(botContext: BotContext, previousContents?: FlowContent[]): Promise<void>;
22
- toBotonic(): JSX.Element;
23
- protected getPreviousHubtypeContents(previousContents?: FlowContent[]): HubtypeAssistantMessage[];
24
- protected getActiveInputGuardrailRules(inputGuardrailRules: HtInputGuardrailRule[]): GuardrailRule[];
25
- }
@@ -1,106 +0,0 @@
1
- import { Fragment, jsx } from "react/jsx-runtime";
2
- import { OutputMessageType, VerbosityLevel } from "@botonic/core";
3
- import { FlowBuilderOutputMessageType } from "../structured-output/flow-builder-content.js";
4
- import { getFlowBuilderPlugin } from "../utils/get-flow-builder-plugin.js";
5
- import { HubtypeAssistantContent } from "../utils/hubtype-assistant-content.js";
6
- import { ContentFieldsBase } from "./content-fields-base.js";
7
- import { FlowCarousel } from "./flow-carousel.js";
8
- import { FlowText } from "./flow-text.js";
9
- import { FlowWhatsappRequestContactInfoNode } from "./flow-whatsapp-request-contact-info.js";
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
- class FlowAiAgentBase extends ContentFieldsBase {
30
- async resolveAIAgentResponse(botContext, previousContents) {
31
- const aiAgentResponse = await this.getAIAgentResponse(botContext, previousContents);
32
- if (aiAgentResponse) {
33
- this.aiAgentResponse = aiAgentResponse;
34
- await this.trackAiAgentResponse(botContext);
35
- this.messages = aiAgentResponse.messages;
36
- }
37
- return aiAgentResponse;
38
- }
39
- async trackFlow(_botContext) {
40
- return;
41
- }
42
- async getFlowContentsByContentId(botContext, contentId) {
43
- const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins);
44
- const cmsApi = flowBuilderPlugin.cmsApi;
45
- const node = cmsApi.getNodeByContentID(contentId);
46
- const flowContents = await flowBuilderPlugin.getContentsByNode(node);
47
- return flowContents;
48
- }
49
- async messagesToBotonicJSXElements(botContext) {
50
- for (const message of this.messages){
51
- if (message.type === OutputMessageType.Text || message.type === OutputMessageType.TextWithButtons || message.type === OutputMessageType.BotExecutor) {
52
- this.jsxElements.push(FlowText.fromAIAgent(this.id, message));
53
- }
54
- if (message.type === OutputMessageType.Carousel) {
55
- this.jsxElements.push(FlowCarousel.fromAIAgent(this.id, message, botContext));
56
- }
57
- if (message.type === OutputMessageType.RequestContactInfo) {
58
- this.jsxElements.push(FlowWhatsappRequestContactInfoNode.fromAIAgent(this.id, message, botContext));
59
- }
60
- if (message.type === FlowBuilderOutputMessageType.FlowBuilderContent) {
61
- const flowContents = await this.getFlowContentsByContentId(botContext, message.contentId);
62
- for (const content of flowContents){
63
- await content.processContent(botContext);
64
- this.jsxElements.push(content.toBotonic(botContext));
65
- }
66
- }
67
- }
68
- return;
69
- }
70
- async processContent(botContext, previousContents) {
71
- if (!this.aiAgentResponse) {
72
- await this.resolveAIAgentResponse(botContext, previousContents);
73
- }
74
- if (this.jsxElements.length === 0) {
75
- await this.filterContent(botContext, this);
76
- await this.messagesToBotonicJSXElements(botContext);
77
- }
78
- return;
79
- }
80
- toBotonic() {
81
- return /*#__PURE__*/ jsx(Fragment, {
82
- children: this.jsxElements
83
- });
84
- }
85
- getPreviousHubtypeContents(previousContents) {
86
- return previousContents?.map((content)=>{
87
- return {
88
- role: 'assistant',
89
- content: HubtypeAssistantContent.adapt(content)
90
- };
91
- }) || [];
92
- }
93
- getActiveInputGuardrailRules(inputGuardrailRules) {
94
- return inputGuardrailRules?.filter((rule)=>rule.is_active)?.map((rule)=>({
95
- name: rule.name,
96
- description: rule.description
97
- })) || [];
98
- }
99
- constructor(...args){
100
- super(...args), this.name = '', this.instructions = '', this.model = '', this.verbosity = VerbosityLevel.Medium, this.inputGuardrailRules = [], this.messages = [], this.jsxElements = [];
101
- }
102
- }
103
-
104
- export { FlowAiAgentBase };
105
-
106
- //# sourceMappingURL=flow-ai-agent-base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/flow-ai-agent-base.js","sources":["../../src/content-fields/flow-ai-agent-base.tsx"],"sourcesContent":["import {\n type AgenticOutputMessage,\n type BotContext,\n type GuardrailRule,\n type HubtypeAssistantMessage,\n type InferenceResponse,\n OutputMessageType,\n VerbosityLevel,\n} from '@botonic/core'\nimport {\n type FlowBuilderContentMessage,\n FlowBuilderOutputMessageType,\n} from '../structured-output/flow-builder-content'\nimport { getFlowBuilderPlugin } from '../utils/get-flow-builder-plugin'\nimport { HubtypeAssistantContent } from '../utils/hubtype-assistant-content'\nimport { ContentFieldsBase } from './content-fields-base'\nimport { FlowCarousel } from './flow-carousel'\nimport { FlowText } from './flow-text'\nimport { FlowWhatsappRequestContactInfoNode } from './flow-whatsapp-request-contact-info'\nimport type { HtInputGuardrailRule, HtNodeWithContent } from './hubtype-fields'\nimport type { FlowContent } from './index'\n\nexport abstract class FlowAiAgentBase extends ContentFieldsBase {\n public name: string = ''\n public instructions: string = ''\n public model: string = ''\n public verbosity: VerbosityLevel = VerbosityLevel.Medium\n public inputGuardrailRules: HtInputGuardrailRule[] = []\n\n public aiAgentResponse?: InferenceResponse<FlowBuilderContentMessage>\n public messages: AgenticOutputMessage<FlowBuilderContentMessage>[] = []\n public jsxElements: JSX.Element[] = []\n\n abstract getAIAgentResponse(\n botContext: BotContext,\n previousContents?: FlowContent[]\n ): Promise<InferenceResponse<FlowBuilderContentMessage> | undefined>\n\n abstract trackAiAgentResponse(botContext: BotContext): Promise<void>\n\n async resolveAIAgentResponse(\n botContext: BotContext,\n previousContents?: FlowContent[]\n ): Promise<InferenceResponse<FlowBuilderContentMessage> | undefined> {\n const aiAgentResponse = await this.getAIAgentResponse(\n botContext,\n previousContents\n )\n\n if (aiAgentResponse) {\n this.aiAgentResponse = aiAgentResponse\n await this.trackAiAgentResponse(botContext)\n this.messages = aiAgentResponse.messages\n }\n\n return aiAgentResponse\n }\n\n async trackFlow(_botContext: BotContext): Promise<void> {\n return\n }\n\n async getFlowContentsByContentId(\n botContext: BotContext,\n contentId: string\n ): Promise<FlowContent[]> {\n const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins)\n const cmsApi = flowBuilderPlugin.cmsApi\n const node = cmsApi.getNodeByContentID(contentId)\n const flowContents = await flowBuilderPlugin.getContentsByNode(\n node as HtNodeWithContent\n )\n\n return flowContents\n }\n\n async messagesToBotonicJSXElements(botContext: BotContext): Promise<void> {\n for (const message of this.messages) {\n if (\n message.type === OutputMessageType.Text ||\n message.type === OutputMessageType.TextWithButtons ||\n message.type === OutputMessageType.BotExecutor\n ) {\n this.jsxElements.push(FlowText.fromAIAgent(this.id, message))\n }\n\n if (message.type === OutputMessageType.Carousel) {\n this.jsxElements.push(\n FlowCarousel.fromAIAgent(this.id, message, botContext)\n )\n }\n\n if (message.type === OutputMessageType.RequestContactInfo) {\n this.jsxElements.push(\n FlowWhatsappRequestContactInfoNode.fromAIAgent(\n this.id,\n message,\n botContext\n )\n )\n }\n\n if (message.type === FlowBuilderOutputMessageType.FlowBuilderContent) {\n const flowContents = await this.getFlowContentsByContentId(\n botContext,\n message.contentId\n )\n for (const content of flowContents) {\n await content.processContent(botContext)\n this.jsxElements.push(content.toBotonic(botContext))\n }\n }\n }\n return\n }\n\n async processContent(\n botContext: BotContext,\n previousContents?: FlowContent[]\n ): Promise<void> {\n if (!this.aiAgentResponse) {\n await this.resolveAIAgentResponse(botContext, previousContents)\n }\n if (this.jsxElements.length === 0) {\n await this.filterContent(botContext, this as unknown as FlowContent)\n await this.messagesToBotonicJSXElements(botContext)\n }\n return\n }\n\n toBotonic(): JSX.Element {\n return <>{this.jsxElements}</>\n }\n\n protected getPreviousHubtypeContents(\n previousContents?: FlowContent[]\n ): HubtypeAssistantMessage[] {\n return (\n previousContents?.map(content => {\n return {\n role: 'assistant',\n content: HubtypeAssistantContent.adapt(content),\n }\n }) || []\n )\n }\n\n protected getActiveInputGuardrailRules(\n inputGuardrailRules: HtInputGuardrailRule[]\n ): GuardrailRule[] {\n return (\n inputGuardrailRules\n ?.filter(rule => rule.is_active)\n ?.map(rule => ({\n name: rule.name,\n description: rule.description,\n })) || []\n )\n }\n}\n"],"names":["OutputMessageType","VerbosityLevel","FlowBuilderOutputMessageType","getFlowBuilderPlugin","HubtypeAssistantContent","ContentFieldsBase","FlowCarousel","FlowText","FlowWhatsappRequestContactInfoNode","FlowAiAgentBase","botContext","previousContents","aiAgentResponse","_botContext","contentId","flowBuilderPlugin","cmsApi","node","flowContents","message","content","inputGuardrailRules","rule"],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { type BotContext, type InferenceResponse } from '@botonic/core';
2
- import { type FlowBuilderContentMessage } from '../structured-output/flow-builder-content.js';
3
- import { FlowAiAgent } from './flow-ai-agent.js';
4
- import { FlowAiAgentBase } from './flow-ai-agent-base.js';
5
- import type { HtAiAgentRouterNode } from './hubtype-fields/index.js';
6
- import type { FlowContent } from './index.js';
7
- export interface AvailableSpecialists {
8
- agent: FlowAiAgent;
9
- description: string;
10
- name: string;
11
- }
12
- export declare class FlowAiAgentRouter extends FlowAiAgentBase {
13
- availableSpecialists: AvailableSpecialists[];
14
- static fromHubtypeCMS(component: HtAiAgentRouterNode, botContext: BotContext): FlowAiAgentRouter;
15
- private static getAvailableSpecialistsFromHubtypeCMS;
16
- private static specialistAgentBaseName;
17
- getAIAgentResponse(botContext: BotContext, previousContents?: FlowContent[]): Promise<InferenceResponse<FlowBuilderContentMessage> | undefined>;
18
- trackAiAgentResponse(botContext: BotContext): Promise<void>;
19
- private trackAIAgentRouterEvent;
20
- private trackAIAgentSpecialistEvent;
21
- }
@@ -1,137 +0,0 @@
1
- import { AiAgentType, EventAction } from "@botonic/core";
2
- import { FlowBuilderContentSchema } from "../structured-output/flow-builder-content.js";
3
- import { getCommonFlowContentEventArgsForContentId, trackEvent } from "../tracking.js";
4
- import { getFlowBuilderPlugin } from "../utils/get-flow-builder-plugin.js";
5
- import { FlowAiAgent } from "./flow-ai-agent.js";
6
- import { FlowAiAgentBase } from "./flow-ai-agent-base.js";
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
- class FlowAiAgentRouter extends FlowAiAgentBase {
21
- static fromHubtypeCMS(component, botContext) {
22
- const newAiAgentRouter = new FlowAiAgentRouter(component.id);
23
- newAiAgentRouter.code = component.code;
24
- newAiAgentRouter.name = component.content.name;
25
- newAiAgentRouter.instructions = newAiAgentRouter.replaceVariables(component.content.instructions, botContext);
26
- newAiAgentRouter.model = component.content.model;
27
- newAiAgentRouter.verbosity = component.content.verbosity;
28
- newAiAgentRouter.availableSpecialists = FlowAiAgentRouter.getAvailableSpecialistsFromHubtypeCMS(component, botContext);
29
- newAiAgentRouter.inputGuardrailRules = component.content.input_guardrail_rules || [];
30
- return newAiAgentRouter;
31
- }
32
- static getAvailableSpecialistsFromHubtypeCMS(component, botContext) {
33
- const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins);
34
- const cmsApi = flowBuilderPlugin.cmsApi;
35
- return component.content.available_specialists.map((agentSlot, index)=>{
36
- const aiAgentSpecialistNode = cmsApi.getNodeById(agentSlot.target.id);
37
- const specialist = FlowAiAgent.fromHubtypeCMS(aiAgentSpecialistNode, botContext);
38
- const specialistName = FlowAiAgentRouter.specialistAgentBaseName(agentSlot.name, index);
39
- const specialistDescription = specialist.replaceVariables(agentSlot.description || `Transfer to ${specialistName}`, botContext);
40
- return {
41
- agent: specialist,
42
- description: specialistDescription,
43
- name: `transfer_to_${specialistName}`
44
- };
45
- });
46
- }
47
- static specialistAgentBaseName(name, index) {
48
- return name?.trim().toLowerCase().replace(/ /g, '_') || `ai_agent_${index}`;
49
- }
50
- async getAIAgentResponse(botContext, previousContents) {
51
- const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins);
52
- const aiAgentResponse = await flowBuilderPlugin.getAiAgentResponse?.(botContext, {
53
- type: AiAgentType.Router,
54
- name: this.name,
55
- instructions: this.instructions,
56
- model: this.model,
57
- verbosity: this.verbosity,
58
- specialists: this.availableSpecialists.map(({ agent, description, name })=>({
59
- type: AiAgentType.Specialist,
60
- name,
61
- description,
62
- instructions: agent.instructions,
63
- model: agent.model,
64
- verbosity: agent.verbosity,
65
- activeTools: agent.activeTools ?? [],
66
- inputGuardrailRules: this.getActiveInputGuardrailRules(agent.inputGuardrailRules),
67
- sourceIds: agent.sources?.map((s)=>s.id) ?? []
68
- })),
69
- inputGuardrailRules: this.getActiveInputGuardrailRules(this.inputGuardrailRules),
70
- outputMessagesSchemas: [
71
- FlowBuilderContentSchema
72
- ],
73
- previousHubtypeMessages: this.getPreviousHubtypeContents(previousContents)
74
- });
75
- return aiAgentResponse;
76
- }
77
- async trackAiAgentResponse(botContext) {
78
- const isTransferredToSpecialist = this.aiAgentResponse?.isTransferredToSpecialist ?? false;
79
- await this.trackAIAgentRouterEvent(botContext, isTransferredToSpecialist);
80
- if (isTransferredToSpecialist) {
81
- await this.trackAIAgentSpecialistEvent(botContext);
82
- }
83
- }
84
- async trackAIAgentRouterEvent(botContext, isTransferredToSpecialist) {
85
- const { flowThreadId, flowId, flowName, flowNodeId } = getCommonFlowContentEventArgsForContentId(botContext, this.id);
86
- const routerEvent = {
87
- action: EventAction.AiAgentRouter,
88
- flowThreadId,
89
- flowId,
90
- flowName,
91
- flowNodeId,
92
- flowNodeContentId: this.name,
93
- flowNodeIsMeaningful: true,
94
- memoryLength: this.aiAgentResponse?.memoryLength ?? 0,
95
- inputMessageId: botContext.input.message_id,
96
- exit: this.aiAgentResponse?.exit ?? true,
97
- error: this.aiAgentResponse?.error ?? false,
98
- inputGuardrailsTriggered: this.aiAgentResponse?.inputGuardrailsTriggered ?? [],
99
- outputGuardrailsTriggered: this.aiAgentResponse?.outputGuardrailsTriggered ?? [],
100
- startingAgentName: this.aiAgentResponse?.startingAgentName || this.name,
101
- lastAgentName: this.aiAgentResponse?.lastAgentName || this.name,
102
- availableSpecialists: this.aiAgentResponse?.availableSpecialists ?? [],
103
- isTransferredToSpecialist
104
- };
105
- const { action, ...routerEventArgs } = routerEvent;
106
- await trackEvent(botContext, action, routerEventArgs);
107
- }
108
- async trackAIAgentSpecialistEvent(botContext) {
109
- const { flowThreadId, flowId, flowName, flowNodeId } = getCommonFlowContentEventArgsForContentId(botContext, this.id);
110
- const specialistEvent = {
111
- action: EventAction.AiAgent,
112
- flowThreadId,
113
- flowId,
114
- flowName,
115
- flowNodeId,
116
- flowNodeContentId: this.aiAgentResponse?.lastAgentName ?? '',
117
- flowNodeIsMeaningful: true,
118
- toolsExecuted: this.aiAgentResponse?.toolsExecuted ?? [],
119
- memoryLength: this.aiAgentResponse?.memoryLength ?? 0,
120
- inputMessageId: botContext.input.message_id,
121
- exit: this.aiAgentResponse?.exit ?? true,
122
- error: this.aiAgentResponse?.error ?? false,
123
- inputGuardrailsTriggered: [],
124
- outputGuardrailsTriggered: this.aiAgentResponse?.outputGuardrailsTriggered ?? [],
125
- doNothing: this.aiAgentResponse?.doNothing ?? false
126
- };
127
- const { action, ...specialistEventArgs } = specialistEvent;
128
- await trackEvent(botContext, action, specialistEventArgs);
129
- }
130
- constructor(...args){
131
- super(...args), this.availableSpecialists = [];
132
- }
133
- }
134
-
135
- export { FlowAiAgentRouter };
136
-
137
- //# sourceMappingURL=flow-ai-agent-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"content-fields/flow-ai-agent-router.js","sources":["../../src/content-fields/flow-ai-agent-router.tsx"],"sourcesContent":["import {\n AiAgentType,\n type BotContext,\n EventAction,\n type EventAiAgent,\n type EventAiAgentRouter,\n type InferenceResponse,\n} from '@botonic/core'\nimport {\n type FlowBuilderContentMessage,\n FlowBuilderContentSchema,\n} from '../structured-output/flow-builder-content'\nimport {\n getCommonFlowContentEventArgsForContentId,\n trackEvent,\n} from '../tracking'\nimport { getFlowBuilderPlugin } from '../utils/get-flow-builder-plugin'\nimport { FlowAiAgent } from './flow-ai-agent'\nimport { FlowAiAgentBase } from './flow-ai-agent-base'\nimport type { HtAiAgentNode, HtAiAgentRouterNode } from './hubtype-fields'\nimport type { FlowContent } from './index'\n\nexport interface AvailableSpecialists {\n agent: FlowAiAgent\n description: string\n name: string\n}\n\nexport class FlowAiAgentRouter extends FlowAiAgentBase {\n public availableSpecialists: AvailableSpecialists[] = []\n\n static fromHubtypeCMS(\n component: HtAiAgentRouterNode,\n botContext: BotContext\n ): FlowAiAgentRouter {\n const newAiAgentRouter = new FlowAiAgentRouter(component.id)\n newAiAgentRouter.code = component.code\n newAiAgentRouter.name = component.content.name\n newAiAgentRouter.instructions = newAiAgentRouter.replaceVariables(\n component.content.instructions,\n botContext\n )\n newAiAgentRouter.model = component.content.model\n newAiAgentRouter.verbosity = component.content.verbosity\n newAiAgentRouter.availableSpecialists =\n FlowAiAgentRouter.getAvailableSpecialistsFromHubtypeCMS(\n component,\n botContext\n )\n newAiAgentRouter.inputGuardrailRules =\n component.content.input_guardrail_rules || []\n return newAiAgentRouter\n }\n\n private static getAvailableSpecialistsFromHubtypeCMS(\n component: HtAiAgentRouterNode,\n botContext: BotContext\n ): AvailableSpecialists[] {\n const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins)\n const cmsApi = flowBuilderPlugin.cmsApi\n\n return component.content.available_specialists.map((agentSlot, index) => {\n const aiAgentSpecialistNode = cmsApi.getNodeById<HtAiAgentNode>(\n agentSlot.target.id\n )\n const specialist = FlowAiAgent.fromHubtypeCMS(\n aiAgentSpecialistNode,\n botContext\n )\n const specialistName = FlowAiAgentRouter.specialistAgentBaseName(\n agentSlot.name,\n index\n )\n const specialistDescription = specialist.replaceVariables(\n agentSlot.description || `Transfer to ${specialistName}`,\n botContext\n )\n\n return {\n agent: specialist,\n description: specialistDescription,\n name: `transfer_to_${specialistName}`,\n }\n })\n }\n\n private static specialistAgentBaseName(\n name: string | undefined,\n index: number\n ): string {\n return name?.trim().toLowerCase().replace(/ /g, '_') || `ai_agent_${index}`\n }\n\n async getAIAgentResponse(\n botContext: BotContext,\n previousContents?: FlowContent[]\n ): Promise<InferenceResponse<FlowBuilderContentMessage> | undefined> {\n const flowBuilderPlugin = getFlowBuilderPlugin(botContext.plugins)\n const aiAgentResponse = await flowBuilderPlugin.getAiAgentResponse?.(\n botContext,\n {\n type: AiAgentType.Router,\n name: this.name,\n instructions: this.instructions,\n model: this.model,\n verbosity: this.verbosity,\n specialists: this.availableSpecialists.map(\n ({ agent, description, name }) => ({\n type: AiAgentType.Specialist,\n name,\n description,\n instructions: agent.instructions,\n model: agent.model,\n verbosity: agent.verbosity,\n activeTools: agent.activeTools ?? [],\n inputGuardrailRules: this.getActiveInputGuardrailRules(\n agent.inputGuardrailRules\n ),\n sourceIds: agent.sources?.map(s => s.id) ?? [],\n })\n ),\n inputGuardrailRules: this.getActiveInputGuardrailRules(\n this.inputGuardrailRules\n ),\n outputMessagesSchemas: [FlowBuilderContentSchema],\n previousHubtypeMessages:\n this.getPreviousHubtypeContents(previousContents),\n }\n )\n\n return aiAgentResponse\n }\n\n async trackAiAgentResponse(botContext: BotContext) {\n const isTransferredToSpecialist =\n this.aiAgentResponse?.isTransferredToSpecialist ?? false\n\n await this.trackAIAgentRouterEvent(botContext, isTransferredToSpecialist)\n\n if (isTransferredToSpecialist) {\n await this.trackAIAgentSpecialistEvent(botContext)\n }\n }\n\n private async trackAIAgentRouterEvent(\n botContext: BotContext,\n isTransferredToSpecialist: boolean\n ) {\n const { flowThreadId, flowId, flowName, flowNodeId } =\n getCommonFlowContentEventArgsForContentId(botContext, this.id)\n\n const routerEvent: EventAiAgentRouter = {\n action: EventAction.AiAgentRouter,\n flowThreadId,\n flowId,\n flowName,\n flowNodeId,\n flowNodeContentId: this.name,\n flowNodeIsMeaningful: true,\n memoryLength: this.aiAgentResponse?.memoryLength ?? 0,\n inputMessageId: botContext.input.message_id!,\n exit: this.aiAgentResponse?.exit ?? true,\n error: this.aiAgentResponse?.error ?? false,\n inputGuardrailsTriggered:\n this.aiAgentResponse?.inputGuardrailsTriggered ?? [],\n outputGuardrailsTriggered:\n this.aiAgentResponse?.outputGuardrailsTriggered ?? [],\n startingAgentName: this.aiAgentResponse?.startingAgentName || this.name,\n lastAgentName: this.aiAgentResponse?.lastAgentName || this.name,\n availableSpecialists: this.aiAgentResponse?.availableSpecialists ?? [],\n isTransferredToSpecialist,\n }\n const { action, ...routerEventArgs } = routerEvent\n await trackEvent(botContext, action, routerEventArgs)\n }\n\n private async trackAIAgentSpecialistEvent(botContext: BotContext) {\n const { flowThreadId, flowId, flowName, flowNodeId } =\n getCommonFlowContentEventArgsForContentId(botContext, this.id)\n\n const specialistEvent: EventAiAgent = {\n action: EventAction.AiAgent,\n flowThreadId,\n flowId,\n flowName,\n flowNodeId,\n flowNodeContentId: this.aiAgentResponse?.lastAgentName ?? '',\n flowNodeIsMeaningful: true,\n toolsExecuted: this.aiAgentResponse?.toolsExecuted ?? [],\n memoryLength: this.aiAgentResponse?.memoryLength ?? 0,\n inputMessageId: botContext.input.message_id!,\n exit: this.aiAgentResponse?.exit ?? true,\n error: this.aiAgentResponse?.error ?? false,\n inputGuardrailsTriggered: [],\n outputGuardrailsTriggered:\n this.aiAgentResponse?.outputGuardrailsTriggered ?? [],\n doNothing: this.aiAgentResponse?.doNothing ?? false,\n }\n const { action, ...specialistEventArgs } = specialistEvent\n await trackEvent(botContext, action, specialistEventArgs)\n }\n}\n"],"names":["AiAgentType","EventAction","FlowBuilderContentSchema","getCommonFlowContentEventArgsForContentId","trackEvent","getFlowBuilderPlugin","FlowAiAgent","FlowAiAgentBase","FlowAiAgentRouter","component","botContext","newAiAgentRouter","flowBuilderPlugin","cmsApi","agentSlot","index","aiAgentSpecialistNode","specialist","specialistName","specialistDescription","name","previousContents","aiAgentResponse","agent","description","s","isTransferredToSpecialist","flowThreadId","flowId","flowName","flowNodeId","routerEvent","action","routerEventArgs","specialistEvent","specialistEventArgs"],"mappings":";;;;;;;;;;;;;AAOsB;AAI4B;AAI9B;AACmD;AAC1B;AACS;AAU/C,MAAMQ,iBAAiBA,SAASD,eAAeA;IAGpD,OAAO,eACLE,SAA8B,EAC9BC,UAAsB,EACH;QACnB,MAAMC,mBAAmB,IAAIH,iBAAiBA,CAACC,UAAU,EAAE;QAC3DE,iBAAiB,IAAI,GAAGF,UAAU,IAAI;QACtCE,iBAAiB,IAAI,GAAGF,UAAU,OAAO,CAAC,IAAI;QAC9CE,iBAAiB,YAAY,GAAGA,iBAAiB,gBAAgB,CAC/DF,UAAU,OAAO,CAAC,YAAY,EAC9BC;QAEFC,iBAAiB,KAAK,GAAGF,UAAU,OAAO,CAAC,KAAK;QAChDE,iBAAiB,SAAS,GAAGF,UAAU,OAAO,CAAC,SAAS;QACxDE,iBAAiB,oBAAoB,GACnCH,iBAAiBA,CAAC,qCAAqC,CACrDC,WACAC;QAEJC,iBAAiB,mBAAmB,GAClCF,UAAU,OAAO,CAAC,qBAAqB,IAAI,EAAE;QAC/C,OAAOE;IACT;IAEA,OAAe,sCACbF,SAA8B,EAC9BC,UAAsB,EACE;QACxB,MAAME,oBAAoBP,oBAAoBA,CAACK,WAAW,OAAO;QACjE,MAAMG,SAASD,kBAAkB,MAAM;QAEvC,OAAOH,UAAU,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAACK,WAAWC;YAC7D,MAAMC,wBAAwBH,OAAO,WAAW,CAC9CC,UAAU,MAAM,CAAC,EAAE;YAErB,MAAMG,aAAaX,0BAA0B,CAC3CU,uBACAN;YAEF,MAAMQ,iBAAiBV,iBAAiBA,CAAC,uBAAuB,CAC9DM,UAAU,IAAI,EACdC;YAEF,MAAMI,wBAAwBF,WAAW,gBAAgB,CACvDH,UAAU,WAAW,IAAI,CAAC,YAAY,EAAEI,gBAAgB,EACxDR;YAGF,OAAO;gBACL,OAAOO;gBACP,aAAaE;gBACb,MAAM,CAAC,YAAY,EAAED,gBAAgB;YACvC;QACF;IACF;IAEA,OAAe,wBACbE,IAAwB,EACxBL,KAAa,EACL;QACR,OAAOK,MAAM,OAAO,cAAc,QAAQ,MAAM,QAAQ,CAAC,SAAS,EAAEL,OAAO;IAC7E;IAEA,MAAM,mBACJL,UAAsB,EACtBW,gBAAgC,EACmC;QACnE,MAAMT,oBAAoBP,oBAAoBA,CAACK,WAAW,OAAO;QACjE,MAAMY,kBAAkB,MAAMV,kBAAkB,kBAAkB,GAChEF,YACA;YACE,MAAMV,kBAAkB;YACxB,MAAM,IAAI,CAAC,IAAI;YACf,cAAc,IAAI,CAAC,YAAY;YAC/B,OAAO,IAAI,CAAC,KAAK;YACjB,WAAW,IAAI,CAAC,SAAS;YACzB,aAAa,IAAI,CAAC,oBAAoB,CAAC,GAAG,CACxC,CAAC,EAAEuB,KAAK,EAAEC,WAAW,EAAEJ,IAAI,EAAE,GAAM;oBACjC,MAAMpB,sBAAsB;oBAC5BoB;oBACAI;oBACA,cAAcD,MAAM,YAAY;oBAChC,OAAOA,MAAM,KAAK;oBAClB,WAAWA,MAAM,SAAS;oBAC1B,aAAaA,MAAM,WAAW,IAAI,EAAE;oBACpC,qBAAqB,IAAI,CAAC,4BAA4B,CACpDA,MAAM,mBAAmB;oBAE3B,WAAWA,MAAM,OAAO,EAAE,IAAIE,CAAAA,IAAKA,EAAE,EAAE,KAAK,EAAE;gBAChD;YAEF,qBAAqB,IAAI,CAAC,4BAA4B,CACpD,IAAI,CAAC,mBAAmB;YAE1B,uBAAuB;gBAACvB,wBAAwBA;aAAC;YACjD,yBACE,IAAI,CAAC,0BAA0B,CAACmB;QACpC;QAGF,OAAOC;IACT;IAEA,MAAM,qBAAqBZ,UAAsB,EAAE;QACjD,MAAMgB,4BACJ,IAAI,CAAC,eAAe,EAAE,6BAA6B;QAErD,MAAM,IAAI,CAAC,uBAAuB,CAAChB,YAAYgB;QAE/C,IAAIA,2BAA2B;YAC7B,MAAM,IAAI,CAAC,2BAA2B,CAAChB;QACzC;IACF;IAEA,MAAc,wBACZA,UAAsB,EACtBgB,yBAAkC,EAClC;QACA,MAAM,EAAEC,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAE,GAClD3B,yCAAyCA,CAACO,YAAY,IAAI,CAAC,EAAE;QAE/D,MAAMqB,cAAkC;YACtC,QAAQ9B,yBAAyB;YACjC0B;YACAC;YACAC;YACAC;YACA,mBAAmB,IAAI,CAAC,IAAI;YAC5B,sBAAsB;YACtB,cAAc,IAAI,CAAC,eAAe,EAAE,gBAAgB;YACpD,gBAAgBpB,WAAW,KAAK,CAAC,UAAU;YAC3C,MAAM,IAAI,CAAC,eAAe,EAAE,QAAQ;YACpC,OAAO,IAAI,CAAC,eAAe,EAAE,SAAS;YACtC,0BACE,IAAI,CAAC,eAAe,EAAE,4BAA4B,EAAE;YACtD,2BACE,IAAI,CAAC,eAAe,EAAE,6BAA6B,EAAE;YACvD,mBAAmB,IAAI,CAAC,eAAe,EAAE,qBAAqB,IAAI,CAAC,IAAI;YACvE,eAAe,IAAI,CAAC,eAAe,EAAE,iBAAiB,IAAI,CAAC,IAAI;YAC/D,sBAAsB,IAAI,CAAC,eAAe,EAAE,wBAAwB,EAAE;YACtEgB;QACF;QACA,MAAM,EAAEM,MAAM,EAAE,GAAGC,iBAAiB,GAAGF;QACvC,MAAM3B,UAAUA,CAACM,YAAYsB,QAAQC;IACvC;IAEA,MAAc,4BAA4BvB,UAAsB,EAAE;QAChE,MAAM,EAAEiB,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAE,GAClD3B,yCAAyCA,CAACO,YAAY,IAAI,CAAC,EAAE;QAE/D,MAAMwB,kBAAgC;YACpC,QAAQjC,mBAAmB;YAC3B0B;YACAC;YACAC;YACAC;YACA,mBAAmB,IAAI,CAAC,eAAe,EAAE,iBAAiB;YAC1D,sBAAsB;YACtB,eAAe,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE;YACxD,cAAc,IAAI,CAAC,eAAe,EAAE,gBAAgB;YACpD,gBAAgBpB,WAAW,KAAK,CAAC,UAAU;YAC3C,MAAM,IAAI,CAAC,eAAe,EAAE,QAAQ;YACpC,OAAO,IAAI,CAAC,eAAe,EAAE,SAAS;YACtC,0BAA0B,EAAE;YAC5B,2BACE,IAAI,CAAC,eAAe,EAAE,6BAA6B,EAAE;YACvD,WAAW,IAAI,CAAC,eAAe,EAAE,aAAa;QAChD;QACA,MAAM,EAAEsB,MAAM,EAAE,GAAGG,qBAAqB,GAAGD;QAC3C,MAAM9B,UAAUA,CAACM,YAAYsB,QAAQG;IACvC;;QA5KK,qBACE,uBAA+C,EAAE;;AA4K1D"}