@botonic/plugin-flow-builder 0.46.2 → 2.23.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 (782) hide show
  1. package/CHANGELOG.md +227 -0
  2. package/README.md +11 -270
  3. package/package.json +20 -44
  4. package/src/index.d.ts +2 -0
  5. package/src/index.js +3 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/action/ai-agent.d.ts +3 -0
  8. package/src/lib/action/ai-agent.js +67 -0
  9. package/src/lib/action/ai-agent.js.map +1 -0
  10. package/src/lib/action/fallback.d.ts +3 -0
  11. package/src/lib/action/fallback.js +40 -0
  12. package/src/lib/action/fallback.js.map +1 -0
  13. package/src/lib/action/first-interaction.d.ts +3 -0
  14. package/src/lib/action/first-interaction.js +83 -0
  15. package/src/lib/action/first-interaction.js.map +1 -0
  16. package/src/lib/action/index.d.ts +20 -0
  17. package/src/lib/action/index.js +148 -0
  18. package/src/lib/action/index.js.map +1 -0
  19. package/src/lib/action/knowledge-bases.d.ts +3 -0
  20. package/src/lib/action/knowledge-bases.js +90 -0
  21. package/src/lib/action/knowledge-bases.js.map +1 -0
  22. package/src/lib/action/payload.d.ts +3 -0
  23. package/src/lib/action/payload.js +80 -0
  24. package/src/lib/action/payload.js.map +1 -0
  25. package/{lib/esm → src/lib}/api.d.ts +8 -19
  26. package/{lib/cjs → src/lib}/api.js +60 -101
  27. package/src/lib/api.js.map +1 -0
  28. package/{lib/cjs → src/lib}/constants.d.ts +3 -2
  29. package/src/lib/constants.js +19 -0
  30. package/src/lib/constants.js.map +1 -0
  31. package/{lib/esm → src/lib}/content-fields/content-fields-base.d.ts +9 -5
  32. package/src/lib/content-fields/content-fields-base.js +94 -0
  33. package/src/lib/content-fields/content-fields-base.js.map +1 -0
  34. package/src/lib/content-fields/flow-ai-agent.d.ts +20 -0
  35. package/src/lib/content-fields/flow-ai-agent.js +50 -0
  36. package/src/lib/content-fields/flow-ai-agent.js.map +1 -0
  37. package/src/lib/content-fields/flow-bot-action.d.ts +11 -0
  38. package/src/lib/content-fields/flow-bot-action.js +43 -0
  39. package/src/lib/content-fields/flow-bot-action.js.map +1 -0
  40. package/{lib/cjs → src/lib}/content-fields/flow-button.d.ts +13 -7
  41. package/src/lib/content-fields/flow-button.js +123 -0
  42. package/src/lib/content-fields/flow-button.js.map +1 -0
  43. package/{lib/cjs → src/lib}/content-fields/flow-capture-user-input.d.ts +4 -4
  44. package/src/lib/content-fields/flow-capture-user-input.js +42 -0
  45. package/src/lib/content-fields/flow-capture-user-input.js.map +1 -0
  46. package/src/lib/content-fields/flow-carousel.d.ts +49 -0
  47. package/src/lib/content-fields/flow-carousel.js +181 -0
  48. package/src/lib/content-fields/flow-carousel.js.map +1 -0
  49. package/src/lib/content-fields/flow-channel-conditional.d.ts +13 -0
  50. package/src/lib/content-fields/flow-channel-conditional.js +53 -0
  51. package/src/lib/content-fields/flow-channel-conditional.js.map +1 -0
  52. package/src/lib/content-fields/flow-country-conditional.d.ts +12 -0
  53. package/src/lib/content-fields/flow-country-conditional.js +55 -0
  54. package/src/lib/content-fields/flow-country-conditional.js.map +1 -0
  55. package/src/lib/content-fields/flow-custom-conditional.d.ts +16 -0
  56. package/{lib/cjs → src/lib}/content-fields/flow-custom-conditional.js +36 -34
  57. package/src/lib/content-fields/flow-custom-conditional.js.map +1 -0
  58. package/{lib/cjs → src/lib}/content-fields/flow-element.d.ts +3 -10
  59. package/src/lib/content-fields/flow-element.js +38 -0
  60. package/src/lib/content-fields/flow-element.js.map +1 -0
  61. package/src/lib/content-fields/flow-go-to-flow.d.ts +12 -0
  62. package/src/lib/content-fields/flow-go-to-flow.js +46 -0
  63. package/src/lib/content-fields/flow-go-to-flow.js.map +1 -0
  64. package/{lib/cjs → src/lib}/content-fields/flow-handoff.d.ts +6 -6
  65. package/src/lib/content-fields/flow-handoff.js +77 -0
  66. package/src/lib/content-fields/flow-handoff.js.map +1 -0
  67. package/src/lib/content-fields/flow-image.d.ts +10 -0
  68. package/src/lib/content-fields/flow-image.js +28 -0
  69. package/src/lib/content-fields/flow-image.js.map +1 -0
  70. package/{lib/cjs → src/lib}/content-fields/flow-knowledge-base.d.ts +5 -4
  71. package/src/lib/content-fields/flow-knowledge-base.js +52 -0
  72. package/src/lib/content-fields/flow-knowledge-base.js.map +1 -0
  73. package/{lib/esm → src/lib}/content-fields/flow-queue-status-conditional.d.ts +6 -6
  74. package/src/lib/content-fields/flow-queue-status-conditional.js +97 -0
  75. package/src/lib/content-fields/flow-queue-status-conditional.js.map +1 -0
  76. package/{lib/esm → src/lib}/content-fields/flow-rating.d.ts +5 -4
  77. package/src/lib/content-fields/flow-rating.js +80 -0
  78. package/src/lib/content-fields/flow-rating.js.map +1 -0
  79. package/src/lib/content-fields/flow-text.d.ts +15 -0
  80. package/src/lib/content-fields/flow-text.js +76 -0
  81. package/src/lib/content-fields/flow-text.js.map +1 -0
  82. package/src/lib/content-fields/flow-video.d.ts +10 -0
  83. package/src/lib/content-fields/flow-video.js +28 -0
  84. package/src/lib/content-fields/flow-video.js.map +1 -0
  85. package/{lib/esm → src/lib}/content-fields/flow-webview.d.ts +3 -3
  86. package/src/lib/content-fields/flow-webview.js +41 -0
  87. package/src/lib/content-fields/flow-webview.js.map +1 -0
  88. package/{lib/esm → src/lib}/content-fields/flow-whatsapp-cta-url-button.d.ts +8 -7
  89. package/src/lib/content-fields/flow-whatsapp-cta-url-button.js +76 -0
  90. package/src/lib/content-fields/flow-whatsapp-cta-url-button.js.map +1 -0
  91. package/{lib/esm → src/lib}/content-fields/flow-whatsapp-template.d.ts +7 -7
  92. package/src/lib/content-fields/flow-whatsapp-template.js +159 -0
  93. package/src/lib/content-fields/flow-whatsapp-template.js.map +1 -0
  94. package/{lib/esm → src/lib}/content-fields/hubtype-fields/ai-agent.d.ts +2 -5
  95. package/src/lib/content-fields/hubtype-fields/ai-agent.js +2 -0
  96. package/src/lib/content-fields/hubtype-fields/ai-agent.js.map +1 -0
  97. package/{lib/esm → src/lib}/content-fields/hubtype-fields/bot-action.d.ts +2 -2
  98. package/src/lib/content-fields/hubtype-fields/bot-action.js +2 -0
  99. package/src/lib/content-fields/hubtype-fields/bot-action.js.map +1 -0
  100. package/{lib/esm → src/lib}/content-fields/hubtype-fields/button.d.ts +1 -1
  101. package/src/lib/content-fields/hubtype-fields/button.js +2 -0
  102. package/src/lib/content-fields/hubtype-fields/button.js.map +1 -0
  103. package/{lib/esm → src/lib}/content-fields/hubtype-fields/capture-user-input.d.ts +2 -2
  104. package/src/lib/content-fields/hubtype-fields/capture-user-input.js +9 -0
  105. package/src/lib/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  106. package/{lib/esm → src/lib}/content-fields/hubtype-fields/carousel.d.ts +3 -3
  107. package/src/lib/content-fields/hubtype-fields/carousel.js +2 -0
  108. package/src/lib/content-fields/hubtype-fields/carousel.js.map +1 -0
  109. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/channel-conditional.d.ts +3 -3
  110. package/src/lib/content-fields/hubtype-fields/channel-conditional.js +2 -0
  111. package/src/lib/content-fields/hubtype-fields/channel-conditional.js.map +1 -0
  112. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/common.d.ts +2 -2
  113. package/src/lib/content-fields/hubtype-fields/common.js +2 -0
  114. package/src/lib/content-fields/hubtype-fields/common.js.map +1 -0
  115. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/country-conditional.d.ts +3 -3
  116. package/src/lib/content-fields/hubtype-fields/country-conditional.js +2 -0
  117. package/src/lib/content-fields/hubtype-fields/country-conditional.js.map +1 -0
  118. package/{lib/esm → src/lib}/content-fields/hubtype-fields/custom-conditional.d.ts +3 -3
  119. package/src/lib/content-fields/hubtype-fields/custom-conditional.js +2 -0
  120. package/src/lib/content-fields/hubtype-fields/custom-conditional.js.map +1 -0
  121. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/fallback.d.ts +2 -2
  122. package/src/lib/content-fields/hubtype-fields/fallback.js +2 -0
  123. package/src/lib/content-fields/hubtype-fields/fallback.js.map +1 -0
  124. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/function.d.ts +3 -3
  125. package/src/lib/content-fields/hubtype-fields/function.js +8 -0
  126. package/src/lib/content-fields/hubtype-fields/function.js.map +1 -0
  127. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/go-to-flow.d.ts +2 -2
  128. package/src/lib/content-fields/hubtype-fields/go-to-flow.js +2 -0
  129. package/src/lib/content-fields/hubtype-fields/go-to-flow.js.map +1 -0
  130. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/handoff.d.ts +2 -2
  131. package/src/lib/content-fields/hubtype-fields/handoff.js +2 -0
  132. package/src/lib/content-fields/hubtype-fields/handoff.js.map +1 -0
  133. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/image.d.ts +2 -2
  134. package/src/lib/content-fields/hubtype-fields/image.js +2 -0
  135. package/src/lib/content-fields/hubtype-fields/image.js.map +1 -0
  136. package/{lib/esm → src/lib}/content-fields/hubtype-fields/index.d.ts +1 -0
  137. package/{lib/cjs/content-fields/hubtype-fields/index.d.ts → src/lib/content-fields/hubtype-fields/index.js} +2 -0
  138. package/src/lib/content-fields/hubtype-fields/index.js.map +1 -0
  139. package/{lib/esm → src/lib}/content-fields/hubtype-fields/keyword.d.ts +2 -2
  140. package/src/lib/content-fields/hubtype-fields/keyword.js +2 -0
  141. package/src/lib/content-fields/hubtype-fields/keyword.js.map +1 -0
  142. package/{lib/esm → src/lib}/content-fields/hubtype-fields/knowledge-base.d.ts +2 -2
  143. package/src/lib/content-fields/hubtype-fields/knowledge-base.js +2 -0
  144. package/src/lib/content-fields/hubtype-fields/knowledge-base.js.map +1 -0
  145. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/node-types.d.ts +4 -4
  146. package/{lib/esm → src/lib}/content-fields/hubtype-fields/node-types.js +10 -13
  147. package/src/lib/content-fields/hubtype-fields/node-types.js.map +1 -0
  148. package/src/lib/content-fields/hubtype-fields/nodes.d.ts +24 -0
  149. package/src/lib/content-fields/hubtype-fields/nodes.js +2 -0
  150. package/src/lib/content-fields/hubtype-fields/nodes.js.map +1 -0
  151. package/{lib/esm → src/lib}/content-fields/hubtype-fields/payload.d.ts +1 -1
  152. package/src/lib/content-fields/hubtype-fields/payload.js +2 -0
  153. package/src/lib/content-fields/hubtype-fields/payload.js.map +1 -0
  154. package/{lib/esm → src/lib}/content-fields/hubtype-fields/queue-status-conditional.d.ts +3 -3
  155. package/src/lib/content-fields/hubtype-fields/queue-status-conditional.js +2 -0
  156. package/src/lib/content-fields/hubtype-fields/queue-status-conditional.js.map +1 -0
  157. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/rating.d.ts +2 -2
  158. package/src/lib/content-fields/hubtype-fields/rating.js +6 -0
  159. package/src/lib/content-fields/hubtype-fields/rating.js.map +1 -0
  160. package/{lib/esm → src/lib}/content-fields/hubtype-fields/smart-intent.d.ts +2 -2
  161. package/src/lib/content-fields/hubtype-fields/smart-intent.js +2 -0
  162. package/src/lib/content-fields/hubtype-fields/smart-intent.js.map +1 -0
  163. package/{lib/esm → src/lib}/content-fields/hubtype-fields/text.d.ts +3 -3
  164. package/src/lib/content-fields/hubtype-fields/text.js +2 -0
  165. package/src/lib/content-fields/hubtype-fields/text.js.map +1 -0
  166. package/{lib/esm → src/lib}/content-fields/hubtype-fields/url.d.ts +1 -1
  167. package/src/lib/content-fields/hubtype-fields/url.js +2 -0
  168. package/src/lib/content-fields/hubtype-fields/url.js.map +1 -0
  169. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/video.d.ts +2 -2
  170. package/src/lib/content-fields/hubtype-fields/video.js +2 -0
  171. package/src/lib/content-fields/hubtype-fields/video.js.map +1 -0
  172. package/{lib/esm → src/lib}/content-fields/hubtype-fields/webview.d.ts +2 -2
  173. package/src/lib/content-fields/hubtype-fields/webview.js +2 -0
  174. package/src/lib/content-fields/hubtype-fields/webview.js.map +1 -0
  175. package/{lib/cjs → src/lib}/content-fields/hubtype-fields/whatsapp-button-list.d.ts +2 -2
  176. package/src/lib/content-fields/hubtype-fields/whatsapp-button-list.js +2 -0
  177. package/src/lib/content-fields/hubtype-fields/whatsapp-button-list.js.map +1 -0
  178. package/{lib/esm → src/lib}/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +5 -5
  179. package/src/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js +2 -0
  180. package/src/lib/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +1 -0
  181. package/src/lib/content-fields/hubtype-fields/whatsapp-template.d.ts +72 -0
  182. package/src/lib/content-fields/hubtype-fields/whatsapp-template.js +2 -0
  183. package/src/lib/content-fields/hubtype-fields/whatsapp-template.js.map +1 -0
  184. package/{lib/cjs → src/lib}/content-fields/index.d.ts +1 -5
  185. package/{lib/esm/content-fields/index.d.ts → src/lib/content-fields/index.js} +3 -7
  186. package/src/lib/content-fields/index.js.map +1 -0
  187. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +14 -0
  188. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +38 -0
  189. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -0
  190. package/{lib/cjs → src/lib}/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +6 -5
  191. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +33 -0
  192. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -0
  193. package/{lib/cjs → src/lib}/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +5 -5
  194. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +48 -0
  195. package/src/lib/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -0
  196. package/src/lib/filters/index.d.ts +12 -0
  197. package/src/lib/filters/index.js +16 -0
  198. package/src/lib/filters/index.js.map +1 -0
  199. package/{lib/cjs → src/lib}/flow-factory.d.ts +3 -3
  200. package/src/lib/flow-factory.js +65 -0
  201. package/src/lib/flow-factory.js.map +1 -0
  202. package/{lib/esm → src/lib}/functions/index.d.ts +4 -4
  203. package/src/lib/functions/index.js +47 -0
  204. package/src/lib/functions/index.js.map +1 -0
  205. package/src/lib/helpers.d.ts +3 -0
  206. package/{lib/esm → src/lib}/helpers.js +1 -4
  207. package/src/lib/helpers.js.map +1 -0
  208. package/src/lib/index.d.ts +39 -0
  209. package/src/lib/index.js +158 -0
  210. package/src/lib/index.js.map +1 -0
  211. package/src/lib/services/capture-user-input-client.d.ts +16 -0
  212. package/src/lib/services/capture-user-input-client.js +38 -0
  213. package/src/lib/services/capture-user-input-client.js.map +1 -0
  214. package/src/lib/services/flow-client.d.ts +9 -0
  215. package/src/lib/services/flow-client.js +33 -0
  216. package/src/lib/services/flow-client.js.map +1 -0
  217. package/{lib/cjs/services/hubtype-queues-api.d.ts → src/lib/services/hubtype-queues-client.d.ts} +1 -1
  218. package/src/lib/services/hubtype-queues-client.js +28 -0
  219. package/src/lib/services/hubtype-queues-client.js.map +1 -0
  220. package/src/lib/services/smart-intent-client.d.ts +7 -0
  221. package/src/lib/services/smart-intent-client.js +22 -0
  222. package/src/lib/services/smart-intent-client.js.map +1 -0
  223. package/src/lib/tests/helpers/flows/basic.d.ts +2 -0
  224. package/src/lib/tests/helpers/flows/basic.js +2437 -0
  225. package/src/lib/tests/helpers/flows/basic.js.map +1 -0
  226. package/src/lib/tests/helpers/flows/capture-user-input.d.ts +2 -0
  227. package/src/lib/tests/helpers/flows/capture-user-input.js +354 -0
  228. package/src/lib/tests/helpers/flows/capture-user-input.js.map +1 -0
  229. package/src/lib/tests/helpers/flows/whatsapp-template.d.ts +2 -0
  230. package/src/lib/tests/helpers/flows/whatsapp-template.js +513 -0
  231. package/src/lib/tests/helpers/flows/whatsapp-template.js.map +1 -0
  232. package/src/lib/tests/helpers/utils.d.ts +32 -0
  233. package/src/lib/tests/helpers/utils.js +71 -0
  234. package/src/lib/tests/helpers/utils.js.map +1 -0
  235. package/src/lib/tests/mocks/ai-agent-response.d.ts +3 -0
  236. package/src/lib/tests/mocks/ai-agent-response.js +18 -0
  237. package/src/lib/tests/mocks/ai-agent-response.js.map +1 -0
  238. package/src/lib/tests/mocks/capture-user-input-client.d.ts +1 -0
  239. package/src/lib/tests/mocks/capture-user-input-client.js +12 -0
  240. package/src/lib/tests/mocks/capture-user-input-client.js.map +1 -0
  241. package/src/lib/tests/mocks/hubtype-queue-client.d.ts +3 -0
  242. package/src/lib/tests/mocks/hubtype-queue-client.js +22 -0
  243. package/src/lib/tests/mocks/hubtype-queue-client.js.map +1 -0
  244. package/src/lib/tests/mocks/index.d.ts +1 -0
  245. package/src/lib/tests/mocks/index.js +2 -0
  246. package/src/lib/tests/mocks/index.js.map +1 -0
  247. package/src/lib/tests/mocks/smart-intent-client.d.ts +3 -0
  248. package/src/lib/tests/mocks/smart-intent-client.js +31 -0
  249. package/src/lib/tests/mocks/smart-intent-client.js.map +1 -0
  250. package/src/lib/tracking.d.ts +15 -0
  251. package/src/lib/tracking.js +85 -0
  252. package/src/lib/tracking.js.map +1 -0
  253. package/src/lib/types.d.ts +69 -0
  254. package/src/lib/types.js +11 -0
  255. package/src/lib/types.js.map +1 -0
  256. package/src/lib/user-input/capture-user-input.d.ts +10 -0
  257. package/src/lib/user-input/capture-user-input.js +62 -0
  258. package/src/lib/user-input/capture-user-input.js.map +1 -0
  259. package/src/lib/user-input/index.d.ts +4 -0
  260. package/src/lib/user-input/index.js +38 -0
  261. package/src/lib/user-input/index.js.map +1 -0
  262. package/{lib/cjs → src/lib}/user-input/keyword.d.ts +7 -9
  263. package/src/lib/user-input/keyword.js +86 -0
  264. package/src/lib/user-input/keyword.js.map +1 -0
  265. package/{lib/cjs → src/lib}/user-input/smart-intent.d.ts +6 -7
  266. package/src/lib/user-input/smart-intent.js +69 -0
  267. package/src/lib/user-input/smart-intent.js.map +1 -0
  268. package/src/lib/utils.d.ts +4 -0
  269. package/src/lib/utils.js +16 -0
  270. package/src/lib/utils.js.map +1 -0
  271. package/lib/cjs/action/ai-agent/index.d.ts +0 -3
  272. package/lib/cjs/action/ai-agent/index.js +0 -94
  273. package/lib/cjs/action/ai-agent/index.js.map +0 -1
  274. package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.d.ts +0 -16
  275. package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.js +0 -12
  276. package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.js.map +0 -1
  277. package/lib/cjs/action/fallback.d.ts +0 -3
  278. package/lib/cjs/action/fallback.js +0 -36
  279. package/lib/cjs/action/fallback.js.map +0 -1
  280. package/lib/cjs/action/first-interaction.d.ts +0 -3
  281. package/lib/cjs/action/first-interaction.js +0 -91
  282. package/lib/cjs/action/first-interaction.js.map +0 -1
  283. package/lib/cjs/action/index.d.ts +0 -28
  284. package/lib/cjs/action/index.js +0 -127
  285. package/lib/cjs/action/index.js.map +0 -1
  286. package/lib/cjs/action/knowledge-bases.d.ts +0 -3
  287. package/lib/cjs/action/knowledge-bases.js +0 -85
  288. package/lib/cjs/action/knowledge-bases.js.map +0 -1
  289. package/lib/cjs/action/payload.d.ts +0 -3
  290. package/lib/cjs/action/payload.js +0 -74
  291. package/lib/cjs/action/payload.js.map +0 -1
  292. package/lib/cjs/api.d.ts +0 -50
  293. package/lib/cjs/api.js.map +0 -1
  294. package/lib/cjs/constants.js +0 -20
  295. package/lib/cjs/constants.js.map +0 -1
  296. package/lib/cjs/content-fields/content-fields-base.d.ts +0 -17
  297. package/lib/cjs/content-fields/content-fields-base.js +0 -66
  298. package/lib/cjs/content-fields/content-fields-base.js.map +0 -1
  299. package/lib/cjs/content-fields/flow-ai-agent.d.ts +0 -23
  300. package/lib/cjs/content-fields/flow-ai-agent.js +0 -53
  301. package/lib/cjs/content-fields/flow-ai-agent.js.map +0 -1
  302. package/lib/cjs/content-fields/flow-bot-action.d.ts +0 -12
  303. package/lib/cjs/content-fields/flow-bot-action.js +0 -39
  304. package/lib/cjs/content-fields/flow-bot-action.js.map +0 -1
  305. package/lib/cjs/content-fields/flow-button.js +0 -104
  306. package/lib/cjs/content-fields/flow-button.js.map +0 -1
  307. package/lib/cjs/content-fields/flow-capture-user-input.js +0 -43
  308. package/lib/cjs/content-fields/flow-capture-user-input.js.map +0 -1
  309. package/lib/cjs/content-fields/flow-carousel.d.ts +0 -21
  310. package/lib/cjs/content-fields/flow-carousel.js +0 -147
  311. package/lib/cjs/content-fields/flow-carousel.js.map +0 -1
  312. package/lib/cjs/content-fields/flow-channel-conditional.d.ts +0 -13
  313. package/lib/cjs/content-fields/flow-channel-conditional.js +0 -53
  314. package/lib/cjs/content-fields/flow-channel-conditional.js.map +0 -1
  315. package/lib/cjs/content-fields/flow-country-conditional.d.ts +0 -12
  316. package/lib/cjs/content-fields/flow-country-conditional.js +0 -54
  317. package/lib/cjs/content-fields/flow-country-conditional.js.map +0 -1
  318. package/lib/cjs/content-fields/flow-custom-conditional.d.ts +0 -16
  319. package/lib/cjs/content-fields/flow-custom-conditional.js.map +0 -1
  320. package/lib/cjs/content-fields/flow-element.js +0 -46
  321. package/lib/cjs/content-fields/flow-element.js.map +0 -1
  322. package/lib/cjs/content-fields/flow-go-to-flow.d.ts +0 -13
  323. package/lib/cjs/content-fields/flow-go-to-flow.js +0 -58
  324. package/lib/cjs/content-fields/flow-go-to-flow.js.map +0 -1
  325. package/lib/cjs/content-fields/flow-handoff.js +0 -63
  326. package/lib/cjs/content-fields/flow-handoff.js.map +0 -1
  327. package/lib/cjs/content-fields/flow-image.d.ts +0 -9
  328. package/lib/cjs/content-fields/flow-image.js +0 -28
  329. package/lib/cjs/content-fields/flow-image.js.map +0 -1
  330. package/lib/cjs/content-fields/flow-knowledge-base.js +0 -39
  331. package/lib/cjs/content-fields/flow-knowledge-base.js.map +0 -1
  332. package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +0 -29
  333. package/lib/cjs/content-fields/flow-queue-status-conditional.js +0 -90
  334. package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +0 -1
  335. package/lib/cjs/content-fields/flow-rating.d.ts +0 -14
  336. package/lib/cjs/content-fields/flow-rating.js +0 -61
  337. package/lib/cjs/content-fields/flow-rating.js.map +0 -1
  338. package/lib/cjs/content-fields/flow-text.d.ts +0 -15
  339. package/lib/cjs/content-fields/flow-text.js +0 -55
  340. package/lib/cjs/content-fields/flow-text.js.map +0 -1
  341. package/lib/cjs/content-fields/flow-video.d.ts +0 -9
  342. package/lib/cjs/content-fields/flow-video.js +0 -28
  343. package/lib/cjs/content-fields/flow-video.js.map +0 -1
  344. package/lib/cjs/content-fields/flow-webview.d.ts +0 -11
  345. package/lib/cjs/content-fields/flow-webview.js +0 -42
  346. package/lib/cjs/content-fields/flow-webview.js.map +0 -1
  347. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -19
  348. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +0 -87
  349. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
  350. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +0 -29
  351. package/lib/cjs/content-fields/flow-whatsapp-template.js +0 -183
  352. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +0 -1
  353. package/lib/cjs/content-fields/hubtype-fields/ai-agent.d.ts +0 -25
  354. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js +0 -3
  355. package/lib/cjs/content-fields/hubtype-fields/ai-agent.js.map +0 -1
  356. package/lib/cjs/content-fields/hubtype-fields/bot-action.d.ts +0 -10
  357. package/lib/cjs/content-fields/hubtype-fields/bot-action.js +0 -3
  358. package/lib/cjs/content-fields/hubtype-fields/bot-action.js.map +0 -1
  359. package/lib/cjs/content-fields/hubtype-fields/button.d.ts +0 -8
  360. package/lib/cjs/content-fields/hubtype-fields/button.js +0 -3
  361. package/lib/cjs/content-fields/hubtype-fields/button.js.map +0 -1
  362. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.d.ts +0 -19
  363. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js +0 -12
  364. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
  365. package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +0 -17
  366. package/lib/cjs/content-fields/hubtype-fields/carousel.js +0 -3
  367. package/lib/cjs/content-fields/hubtype-fields/carousel.js.map +0 -1
  368. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js +0 -3
  369. package/lib/cjs/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
  370. package/lib/cjs/content-fields/hubtype-fields/common.js +0 -3
  371. package/lib/cjs/content-fields/hubtype-fields/common.js.map +0 -1
  372. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js +0 -3
  373. package/lib/cjs/content-fields/hubtype-fields/country-conditional.js.map +0 -1
  374. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.d.ts +0 -11
  375. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js +0 -3
  376. package/lib/cjs/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
  377. package/lib/cjs/content-fields/hubtype-fields/fallback.js +0 -3
  378. package/lib/cjs/content-fields/hubtype-fields/fallback.js.map +0 -1
  379. package/lib/cjs/content-fields/hubtype-fields/function.js +0 -11
  380. package/lib/cjs/content-fields/hubtype-fields/function.js.map +0 -1
  381. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js +0 -3
  382. package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
  383. package/lib/cjs/content-fields/hubtype-fields/handoff.js +0 -3
  384. package/lib/cjs/content-fields/hubtype-fields/handoff.js.map +0 -1
  385. package/lib/cjs/content-fields/hubtype-fields/image.js +0 -3
  386. package/lib/cjs/content-fields/hubtype-fields/image.js.map +0 -1
  387. package/lib/cjs/content-fields/hubtype-fields/index.js +0 -28
  388. package/lib/cjs/content-fields/hubtype-fields/index.js.map +0 -1
  389. package/lib/cjs/content-fields/hubtype-fields/keyword.d.ts +0 -9
  390. package/lib/cjs/content-fields/hubtype-fields/keyword.js +0 -3
  391. package/lib/cjs/content-fields/hubtype-fields/keyword.js.map +0 -1
  392. package/lib/cjs/content-fields/hubtype-fields/knowledge-base.d.ts +0 -17
  393. package/lib/cjs/content-fields/hubtype-fields/knowledge-base.js +0 -3
  394. package/lib/cjs/content-fields/hubtype-fields/knowledge-base.js.map +0 -1
  395. package/lib/cjs/content-fields/hubtype-fields/node-types.js +0 -36
  396. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +0 -1
  397. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +0 -24
  398. package/lib/cjs/content-fields/hubtype-fields/nodes.js +0 -3
  399. package/lib/cjs/content-fields/hubtype-fields/nodes.js.map +0 -1
  400. package/lib/cjs/content-fields/hubtype-fields/payload.d.ts +0 -8
  401. package/lib/cjs/content-fields/hubtype-fields/payload.js +0 -3
  402. package/lib/cjs/content-fields/hubtype-fields/payload.js.map +0 -1
  403. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.d.ts +0 -25
  404. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js +0 -3
  405. package/lib/cjs/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
  406. package/lib/cjs/content-fields/hubtype-fields/rating.js +0 -9
  407. package/lib/cjs/content-fields/hubtype-fields/rating.js.map +0 -1
  408. package/lib/cjs/content-fields/hubtype-fields/smart-intent.d.ts +0 -11
  409. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js +0 -3
  410. package/lib/cjs/content-fields/hubtype-fields/smart-intent.js.map +0 -1
  411. package/lib/cjs/content-fields/hubtype-fields/text.d.ts +0 -11
  412. package/lib/cjs/content-fields/hubtype-fields/text.js +0 -3
  413. package/lib/cjs/content-fields/hubtype-fields/text.js.map +0 -1
  414. package/lib/cjs/content-fields/hubtype-fields/url.d.ts +0 -8
  415. package/lib/cjs/content-fields/hubtype-fields/url.js +0 -3
  416. package/lib/cjs/content-fields/hubtype-fields/url.js.map +0 -1
  417. package/lib/cjs/content-fields/hubtype-fields/video.js +0 -3
  418. package/lib/cjs/content-fields/hubtype-fields/video.js.map +0 -1
  419. package/lib/cjs/content-fields/hubtype-fields/webview.d.ts +0 -16
  420. package/lib/cjs/content-fields/hubtype-fields/webview.js +0 -3
  421. package/lib/cjs/content-fields/hubtype-fields/webview.js.map +0 -1
  422. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +0 -3
  423. package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
  424. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.d.ts +0 -17
  425. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -3
  426. package/lib/cjs/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
  427. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -72
  428. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js +0 -3
  429. package/lib/cjs/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
  430. package/lib/cjs/content-fields/index.js +0 -47
  431. package/lib/cjs/content-fields/index.js.map +0 -1
  432. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -13
  433. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -39
  434. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
  435. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -34
  436. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
  437. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -41
  438. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
  439. package/lib/cjs/filters/index.d.ts +0 -12
  440. package/lib/cjs/filters/index.js +0 -17
  441. package/lib/cjs/filters/index.js.map +0 -1
  442. package/lib/cjs/flow-factory.js +0 -65
  443. package/lib/cjs/flow-factory.js.map +0 -1
  444. package/lib/cjs/functions/index.d.ts +0 -11
  445. package/lib/cjs/functions/index.js +0 -49
  446. package/lib/cjs/functions/index.js.map +0 -1
  447. package/lib/cjs/helpers.d.ts +0 -3
  448. package/lib/cjs/helpers.js +0 -16
  449. package/lib/cjs/helpers.js.map +0 -1
  450. package/lib/cjs/index.d.ts +0 -46
  451. package/lib/cjs/index.js +0 -182
  452. package/lib/cjs/index.js.map +0 -1
  453. package/lib/cjs/services/hubtype-queues-api.js +0 -26
  454. package/lib/cjs/services/hubtype-queues-api.js.map +0 -1
  455. package/lib/cjs/tracking.d.ts +0 -16
  456. package/lib/cjs/tracking.js +0 -72
  457. package/lib/cjs/tracking.js.map +0 -1
  458. package/lib/cjs/types.d.ts +0 -64
  459. package/lib/cjs/types.js +0 -14
  460. package/lib/cjs/types.js.map +0 -1
  461. package/lib/cjs/user-input/capture-user-input-api.d.ts +0 -21
  462. package/lib/cjs/user-input/capture-user-input-api.js +0 -88
  463. package/lib/cjs/user-input/capture-user-input-api.js.map +0 -1
  464. package/lib/cjs/user-input/index.d.ts +0 -4
  465. package/lib/cjs/user-input/index.js +0 -37
  466. package/lib/cjs/user-input/index.js.map +0 -1
  467. package/lib/cjs/user-input/keyword.js +0 -84
  468. package/lib/cjs/user-input/keyword.js.map +0 -1
  469. package/lib/cjs/user-input/smart-intent.js +0 -85
  470. package/lib/cjs/user-input/smart-intent.js.map +0 -1
  471. package/lib/cjs/utils.d.ts +0 -8
  472. package/lib/cjs/utils.js +0 -57
  473. package/lib/cjs/utils.js.map +0 -1
  474. package/lib/cjs/webview/contents-context.d.ts +0 -2
  475. package/lib/cjs/webview/contents-context.js +0 -12
  476. package/lib/cjs/webview/contents-context.js.map +0 -1
  477. package/lib/cjs/webview/index.d.ts +0 -3
  478. package/lib/cjs/webview/index.js +0 -10
  479. package/lib/cjs/webview/index.js.map +0 -1
  480. package/lib/cjs/webview/types.d.ts +0 -47
  481. package/lib/cjs/webview/types.js +0 -9
  482. package/lib/cjs/webview/types.js.map +0 -1
  483. package/lib/cjs/webview/use-webview-contents.d.ts +0 -2
  484. package/lib/cjs/webview/use-webview-contents.js +0 -83
  485. package/lib/cjs/webview/use-webview-contents.js.map +0 -1
  486. package/lib/esm/action/ai-agent/index.d.ts +0 -3
  487. package/lib/esm/action/ai-agent/index.js +0 -94
  488. package/lib/esm/action/ai-agent/index.js.map +0 -1
  489. package/lib/esm/action/ai-agent/structured-output/flow-builder-content.d.ts +0 -16
  490. package/lib/esm/action/ai-agent/structured-output/flow-builder-content.js +0 -12
  491. package/lib/esm/action/ai-agent/structured-output/flow-builder-content.js.map +0 -1
  492. package/lib/esm/action/fallback.d.ts +0 -3
  493. package/lib/esm/action/fallback.js +0 -36
  494. package/lib/esm/action/fallback.js.map +0 -1
  495. package/lib/esm/action/first-interaction.d.ts +0 -3
  496. package/lib/esm/action/first-interaction.js +0 -91
  497. package/lib/esm/action/first-interaction.js.map +0 -1
  498. package/lib/esm/action/index.d.ts +0 -28
  499. package/lib/esm/action/index.js +0 -127
  500. package/lib/esm/action/index.js.map +0 -1
  501. package/lib/esm/action/knowledge-bases.d.ts +0 -3
  502. package/lib/esm/action/knowledge-bases.js +0 -85
  503. package/lib/esm/action/knowledge-bases.js.map +0 -1
  504. package/lib/esm/action/payload.d.ts +0 -3
  505. package/lib/esm/action/payload.js +0 -74
  506. package/lib/esm/action/payload.js.map +0 -1
  507. package/lib/esm/api.js +0 -254
  508. package/lib/esm/api.js.map +0 -1
  509. package/lib/esm/constants.d.ts +0 -14
  510. package/lib/esm/constants.js +0 -20
  511. package/lib/esm/constants.js.map +0 -1
  512. package/lib/esm/content-fields/content-fields-base.js +0 -66
  513. package/lib/esm/content-fields/content-fields-base.js.map +0 -1
  514. package/lib/esm/content-fields/flow-ai-agent.d.ts +0 -23
  515. package/lib/esm/content-fields/flow-ai-agent.js +0 -53
  516. package/lib/esm/content-fields/flow-ai-agent.js.map +0 -1
  517. package/lib/esm/content-fields/flow-bot-action.d.ts +0 -12
  518. package/lib/esm/content-fields/flow-bot-action.js +0 -39
  519. package/lib/esm/content-fields/flow-bot-action.js.map +0 -1
  520. package/lib/esm/content-fields/flow-button.d.ts +0 -31
  521. package/lib/esm/content-fields/flow-button.js +0 -104
  522. package/lib/esm/content-fields/flow-button.js.map +0 -1
  523. package/lib/esm/content-fields/flow-capture-user-input.d.ts +0 -13
  524. package/lib/esm/content-fields/flow-capture-user-input.js +0 -43
  525. package/lib/esm/content-fields/flow-capture-user-input.js.map +0 -1
  526. package/lib/esm/content-fields/flow-carousel.d.ts +0 -21
  527. package/lib/esm/content-fields/flow-carousel.js +0 -147
  528. package/lib/esm/content-fields/flow-carousel.js.map +0 -1
  529. package/lib/esm/content-fields/flow-channel-conditional.d.ts +0 -13
  530. package/lib/esm/content-fields/flow-channel-conditional.js +0 -53
  531. package/lib/esm/content-fields/flow-channel-conditional.js.map +0 -1
  532. package/lib/esm/content-fields/flow-country-conditional.d.ts +0 -12
  533. package/lib/esm/content-fields/flow-country-conditional.js +0 -54
  534. package/lib/esm/content-fields/flow-country-conditional.js.map +0 -1
  535. package/lib/esm/content-fields/flow-custom-conditional.d.ts +0 -16
  536. package/lib/esm/content-fields/flow-custom-conditional.js +0 -83
  537. package/lib/esm/content-fields/flow-custom-conditional.js.map +0 -1
  538. package/lib/esm/content-fields/flow-element.d.ts +0 -22
  539. package/lib/esm/content-fields/flow-element.js +0 -46
  540. package/lib/esm/content-fields/flow-element.js.map +0 -1
  541. package/lib/esm/content-fields/flow-go-to-flow.d.ts +0 -13
  542. package/lib/esm/content-fields/flow-go-to-flow.js +0 -58
  543. package/lib/esm/content-fields/flow-go-to-flow.js.map +0 -1
  544. package/lib/esm/content-fields/flow-handoff.d.ts +0 -16
  545. package/lib/esm/content-fields/flow-handoff.js +0 -63
  546. package/lib/esm/content-fields/flow-handoff.js.map +0 -1
  547. package/lib/esm/content-fields/flow-image.d.ts +0 -9
  548. package/lib/esm/content-fields/flow-image.js +0 -28
  549. package/lib/esm/content-fields/flow-image.js.map +0 -1
  550. package/lib/esm/content-fields/flow-knowledge-base.d.ts +0 -20
  551. package/lib/esm/content-fields/flow-knowledge-base.js +0 -39
  552. package/lib/esm/content-fields/flow-knowledge-base.js.map +0 -1
  553. package/lib/esm/content-fields/flow-queue-status-conditional.js +0 -90
  554. package/lib/esm/content-fields/flow-queue-status-conditional.js.map +0 -1
  555. package/lib/esm/content-fields/flow-rating.js +0 -61
  556. package/lib/esm/content-fields/flow-rating.js.map +0 -1
  557. package/lib/esm/content-fields/flow-text.d.ts +0 -15
  558. package/lib/esm/content-fields/flow-text.js +0 -55
  559. package/lib/esm/content-fields/flow-text.js.map +0 -1
  560. package/lib/esm/content-fields/flow-video.d.ts +0 -9
  561. package/lib/esm/content-fields/flow-video.js +0 -28
  562. package/lib/esm/content-fields/flow-video.js.map +0 -1
  563. package/lib/esm/content-fields/flow-webview.js +0 -42
  564. package/lib/esm/content-fields/flow-webview.js.map +0 -1
  565. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +0 -87
  566. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +0 -1
  567. package/lib/esm/content-fields/flow-whatsapp-template.js +0 -183
  568. package/lib/esm/content-fields/flow-whatsapp-template.js.map +0 -1
  569. package/lib/esm/content-fields/hubtype-fields/ai-agent.js +0 -3
  570. package/lib/esm/content-fields/hubtype-fields/ai-agent.js.map +0 -1
  571. package/lib/esm/content-fields/hubtype-fields/bot-action.js +0 -3
  572. package/lib/esm/content-fields/hubtype-fields/bot-action.js.map +0 -1
  573. package/lib/esm/content-fields/hubtype-fields/button.js +0 -3
  574. package/lib/esm/content-fields/hubtype-fields/button.js.map +0 -1
  575. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +0 -12
  576. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +0 -1
  577. package/lib/esm/content-fields/hubtype-fields/carousel.js +0 -3
  578. package/lib/esm/content-fields/hubtype-fields/carousel.js.map +0 -1
  579. package/lib/esm/content-fields/hubtype-fields/channel-conditional.d.ts +0 -10
  580. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +0 -3
  581. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js.map +0 -1
  582. package/lib/esm/content-fields/hubtype-fields/common.d.ts +0 -78
  583. package/lib/esm/content-fields/hubtype-fields/common.js +0 -3
  584. package/lib/esm/content-fields/hubtype-fields/common.js.map +0 -1
  585. package/lib/esm/content-fields/hubtype-fields/country-conditional.d.ts +0 -10
  586. package/lib/esm/content-fields/hubtype-fields/country-conditional.js +0 -3
  587. package/lib/esm/content-fields/hubtype-fields/country-conditional.js.map +0 -1
  588. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +0 -3
  589. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js.map +0 -1
  590. package/lib/esm/content-fields/hubtype-fields/fallback.d.ts +0 -11
  591. package/lib/esm/content-fields/hubtype-fields/fallback.js +0 -3
  592. package/lib/esm/content-fields/hubtype-fields/fallback.js.map +0 -1
  593. package/lib/esm/content-fields/hubtype-fields/function.d.ts +0 -30
  594. package/lib/esm/content-fields/hubtype-fields/function.js +0 -11
  595. package/lib/esm/content-fields/hubtype-fields/function.js.map +0 -1
  596. package/lib/esm/content-fields/hubtype-fields/go-to-flow.d.ts +0 -9
  597. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +0 -3
  598. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js.map +0 -1
  599. package/lib/esm/content-fields/hubtype-fields/handoff.d.ts +0 -11
  600. package/lib/esm/content-fields/hubtype-fields/handoff.js +0 -3
  601. package/lib/esm/content-fields/hubtype-fields/handoff.js.map +0 -1
  602. package/lib/esm/content-fields/hubtype-fields/image.d.ts +0 -8
  603. package/lib/esm/content-fields/hubtype-fields/image.js +0 -3
  604. package/lib/esm/content-fields/hubtype-fields/image.js.map +0 -1
  605. package/lib/esm/content-fields/hubtype-fields/index.js +0 -28
  606. package/lib/esm/content-fields/hubtype-fields/index.js.map +0 -1
  607. package/lib/esm/content-fields/hubtype-fields/keyword.js +0 -3
  608. package/lib/esm/content-fields/hubtype-fields/keyword.js.map +0 -1
  609. package/lib/esm/content-fields/hubtype-fields/knowledge-base.js +0 -3
  610. package/lib/esm/content-fields/hubtype-fields/knowledge-base.js.map +0 -1
  611. package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +0 -29
  612. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +0 -1
  613. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +0 -24
  614. package/lib/esm/content-fields/hubtype-fields/nodes.js +0 -3
  615. package/lib/esm/content-fields/hubtype-fields/nodes.js.map +0 -1
  616. package/lib/esm/content-fields/hubtype-fields/payload.js +0 -3
  617. package/lib/esm/content-fields/hubtype-fields/payload.js.map +0 -1
  618. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +0 -3
  619. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js.map +0 -1
  620. package/lib/esm/content-fields/hubtype-fields/rating.d.ts +0 -23
  621. package/lib/esm/content-fields/hubtype-fields/rating.js +0 -9
  622. package/lib/esm/content-fields/hubtype-fields/rating.js.map +0 -1
  623. package/lib/esm/content-fields/hubtype-fields/smart-intent.js +0 -3
  624. package/lib/esm/content-fields/hubtype-fields/smart-intent.js.map +0 -1
  625. package/lib/esm/content-fields/hubtype-fields/text.js +0 -3
  626. package/lib/esm/content-fields/hubtype-fields/text.js.map +0 -1
  627. package/lib/esm/content-fields/hubtype-fields/url.js +0 -3
  628. package/lib/esm/content-fields/hubtype-fields/url.js.map +0 -1
  629. package/lib/esm/content-fields/hubtype-fields/video.d.ts +0 -8
  630. package/lib/esm/content-fields/hubtype-fields/video.js +0 -3
  631. package/lib/esm/content-fields/hubtype-fields/video.js.map +0 -1
  632. package/lib/esm/content-fields/hubtype-fields/webview.js +0 -3
  633. package/lib/esm/content-fields/hubtype-fields/webview.js.map +0 -1
  634. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.d.ts +0 -21
  635. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +0 -3
  636. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js.map +0 -1
  637. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +0 -3
  638. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js.map +0 -1
  639. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.d.ts +0 -72
  640. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +0 -3
  641. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js.map +0 -1
  642. package/lib/esm/content-fields/index.js +0 -47
  643. package/lib/esm/content-fields/index.js.map +0 -1
  644. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +0 -13
  645. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +0 -39
  646. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +0 -1
  647. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +0 -12
  648. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +0 -34
  649. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +0 -1
  650. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -13
  651. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +0 -41
  652. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +0 -1
  653. package/lib/esm/filters/index.d.ts +0 -12
  654. package/lib/esm/filters/index.js +0 -17
  655. package/lib/esm/filters/index.js.map +0 -1
  656. package/lib/esm/flow-factory.d.ts +0 -12
  657. package/lib/esm/flow-factory.js +0 -65
  658. package/lib/esm/flow-factory.js.map +0 -1
  659. package/lib/esm/functions/index.js +0 -49
  660. package/lib/esm/functions/index.js.map +0 -1
  661. package/lib/esm/helpers.d.ts +0 -3
  662. package/lib/esm/helpers.js.map +0 -1
  663. package/lib/esm/index.d.ts +0 -46
  664. package/lib/esm/index.js +0 -182
  665. package/lib/esm/index.js.map +0 -1
  666. package/lib/esm/services/hubtype-queues-api.d.ts +0 -14
  667. package/lib/esm/services/hubtype-queues-api.js +0 -26
  668. package/lib/esm/services/hubtype-queues-api.js.map +0 -1
  669. package/lib/esm/tracking.d.ts +0 -16
  670. package/lib/esm/tracking.js +0 -72
  671. package/lib/esm/tracking.js.map +0 -1
  672. package/lib/esm/types.d.ts +0 -64
  673. package/lib/esm/types.js +0 -14
  674. package/lib/esm/types.js.map +0 -1
  675. package/lib/esm/user-input/capture-user-input-api.d.ts +0 -21
  676. package/lib/esm/user-input/capture-user-input-api.js +0 -88
  677. package/lib/esm/user-input/capture-user-input-api.js.map +0 -1
  678. package/lib/esm/user-input/index.d.ts +0 -4
  679. package/lib/esm/user-input/index.js +0 -37
  680. package/lib/esm/user-input/index.js.map +0 -1
  681. package/lib/esm/user-input/keyword.d.ts +0 -27
  682. package/lib/esm/user-input/keyword.js +0 -84
  683. package/lib/esm/user-input/keyword.js.map +0 -1
  684. package/lib/esm/user-input/smart-intent.d.ts +0 -23
  685. package/lib/esm/user-input/smart-intent.js +0 -85
  686. package/lib/esm/user-input/smart-intent.js.map +0 -1
  687. package/lib/esm/utils.d.ts +0 -8
  688. package/lib/esm/utils.js +0 -57
  689. package/lib/esm/utils.js.map +0 -1
  690. package/lib/esm/webview/contents-context.d.ts +0 -2
  691. package/lib/esm/webview/contents-context.js +0 -12
  692. package/lib/esm/webview/contents-context.js.map +0 -1
  693. package/lib/esm/webview/index.d.ts +0 -3
  694. package/lib/esm/webview/index.js +0 -10
  695. package/lib/esm/webview/index.js.map +0 -1
  696. package/lib/esm/webview/types.d.ts +0 -47
  697. package/lib/esm/webview/types.js +0 -9
  698. package/lib/esm/webview/types.js.map +0 -1
  699. package/lib/esm/webview/use-webview-contents.d.ts +0 -2
  700. package/lib/esm/webview/use-webview-contents.js +0 -83
  701. package/lib/esm/webview/use-webview-contents.js.map +0 -1
  702. package/src/action/ai-agent/index.ts +0 -138
  703. package/src/action/ai-agent/structured-output/flow-builder-content.ts +0 -17
  704. package/src/action/fallback.ts +0 -55
  705. package/src/action/first-interaction.ts +0 -131
  706. package/src/action/index.tsx +0 -205
  707. package/src/action/knowledge-bases.ts +0 -161
  708. package/src/action/payload.ts +0 -104
  709. package/src/api.ts +0 -364
  710. package/src/constants.ts +0 -20
  711. package/src/content-fields/content-fields-base.ts +0 -100
  712. package/src/content-fields/flow-ai-agent.tsx +0 -70
  713. package/src/content-fields/flow-bot-action.tsx +0 -52
  714. package/src/content-fields/flow-button.tsx +0 -165
  715. package/src/content-fields/flow-capture-user-input.tsx +0 -45
  716. package/src/content-fields/flow-carousel.tsx +0 -254
  717. package/src/content-fields/flow-channel-conditional.tsx +0 -65
  718. package/src/content-fields/flow-country-conditional.tsx +0 -67
  719. package/src/content-fields/flow-custom-conditional.tsx +0 -117
  720. package/src/content-fields/flow-element.tsx +0 -79
  721. package/src/content-fields/flow-go-to-flow.tsx +0 -75
  722. package/src/content-fields/flow-handoff.tsx +0 -99
  723. package/src/content-fields/flow-image.tsx +0 -26
  724. package/src/content-fields/flow-knowledge-base.tsx +0 -51
  725. package/src/content-fields/flow-queue-status-conditional.tsx +0 -130
  726. package/src/content-fields/flow-rating.tsx +0 -99
  727. package/src/content-fields/flow-text.tsx +0 -82
  728. package/src/content-fields/flow-video.tsx +0 -26
  729. package/src/content-fields/flow-webview.tsx +0 -46
  730. package/src/content-fields/flow-whatsapp-cta-url-button.tsx +0 -209
  731. package/src/content-fields/flow-whatsapp-template.tsx +0 -319
  732. package/src/content-fields/hubtype-fields/ai-agent.ts +0 -22
  733. package/src/content-fields/hubtype-fields/bot-action.ts +0 -11
  734. package/src/content-fields/hubtype-fields/button.ts +0 -9
  735. package/src/content-fields/hubtype-fields/capture-user-input.ts +0 -21
  736. package/src/content-fields/hubtype-fields/carousel.ts +0 -19
  737. package/src/content-fields/hubtype-fields/channel-conditional.ts +0 -11
  738. package/src/content-fields/hubtype-fields/common.ts +0 -94
  739. package/src/content-fields/hubtype-fields/country-conditional.ts +0 -11
  740. package/src/content-fields/hubtype-fields/custom-conditional.ts +0 -12
  741. package/src/content-fields/hubtype-fields/fallback.ts +0 -12
  742. package/src/content-fields/hubtype-fields/function.ts +0 -36
  743. package/src/content-fields/hubtype-fields/go-to-flow.ts +0 -10
  744. package/src/content-fields/hubtype-fields/handoff.ts +0 -12
  745. package/src/content-fields/hubtype-fields/image.ts +0 -9
  746. package/src/content-fields/hubtype-fields/index.ts +0 -24
  747. package/src/content-fields/hubtype-fields/keyword.ts +0 -10
  748. package/src/content-fields/hubtype-fields/knowledge-base.ts +0 -18
  749. package/src/content-fields/hubtype-fields/node-types.ts +0 -31
  750. package/src/content-fields/hubtype-fields/nodes.ts +0 -54
  751. package/src/content-fields/hubtype-fields/payload.ts +0 -9
  752. package/src/content-fields/hubtype-fields/queue-status-conditional.ts +0 -55
  753. package/src/content-fields/hubtype-fields/rating.ts +0 -26
  754. package/src/content-fields/hubtype-fields/smart-intent.ts +0 -12
  755. package/src/content-fields/hubtype-fields/text.ts +0 -12
  756. package/src/content-fields/hubtype-fields/url.ts +0 -9
  757. package/src/content-fields/hubtype-fields/video.ts +0 -9
  758. package/src/content-fields/hubtype-fields/webview.ts +0 -18
  759. package/src/content-fields/hubtype-fields/whatsapp-button-list.ts +0 -25
  760. package/src/content-fields/hubtype-fields/whatsapp-cta-url-button.ts +0 -19
  761. package/src/content-fields/hubtype-fields/whatsapp-template.ts +0 -90
  762. package/src/content-fields/index.ts +0 -67
  763. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.tsx +0 -55
  764. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx +0 -51
  765. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx +0 -78
  766. package/src/filters/index.ts +0 -27
  767. package/src/flow-factory.ts +0 -134
  768. package/src/functions/index.ts +0 -78
  769. package/src/helpers.ts +0 -25
  770. package/src/index.ts +0 -301
  771. package/src/services/hubtype-queues-api.ts +0 -36
  772. package/src/tracking.ts +0 -118
  773. package/src/types.ts +0 -117
  774. package/src/user-input/capture-user-input-api.ts +0 -144
  775. package/src/user-input/index.ts +0 -61
  776. package/src/user-input/keyword.ts +0 -134
  777. package/src/user-input/smart-intent.ts +0 -119
  778. package/src/utils.ts +0 -66
  779. package/src/webview/contents-context.ts +0 -11
  780. package/src/webview/index.ts +0 -3
  781. package/src/webview/types.ts +0 -52
  782. package/src/webview/use-webview-contents.ts +0 -120
package/src/types.ts DELETED
@@ -1,117 +0,0 @@
1
- import {
2
- AiAgentArgs,
3
- type BotContext,
4
- GuardrailRule,
5
- type InferenceResponse,
6
- type KnowledgeBasesResponse,
7
- type PluginPreRequest,
8
- type ResolvedPlugins,
9
- } from '@botonic/core'
10
- import type { FlowBuilderContentMessage } from './action/ai-agent/structured-output/flow-builder-content'
11
- import type { FlowContent } from './content-fields'
12
- import type {
13
- HtFlowBuilderData,
14
- HtRatingButton,
15
- } from './content-fields/hubtype-fields'
16
-
17
- export interface InShadowingConfig {
18
- allowKeywords: boolean
19
- allowSmartIntents: boolean
20
- allowKnowledgeBases: boolean
21
- allowAiAgents: boolean
22
- }
23
-
24
- export interface BotonicPluginFlowBuilderOptions<
25
- TPlugins extends ResolvedPlugins = ResolvedPlugins,
26
- TExtraData = any,
27
- > {
28
- apiUrl?: string
29
- jsonVersion?: FlowBuilderJSONVersion
30
- flow?: HtFlowBuilderData
31
- customFunctions?: Record<any, any>
32
- getAccessToken: () => string
33
- trackEvent?: TrackEventFunction<TPlugins, TExtraData>
34
- getKnowledgeBaseResponse?: KnowledgeBaseFunction<TPlugins, TExtraData>
35
- getAiAgentResponse?: AiAgentFunction<TPlugins, TExtraData>
36
- smartIntentsConfig?: { numSmartIntentsToUse: number }
37
- inShadowing?: Partial<InShadowingConfig>
38
- contentFilters?: ContentFilter<TPlugins, TExtraData>[]
39
- customRatingMessageEnabled?: boolean
40
- disableAIAgentInFirstInteraction?: boolean
41
- }
42
-
43
- export type TrackEventFunction<
44
- TPlugins extends ResolvedPlugins = ResolvedPlugins,
45
- TExtraData = any,
46
- > = (
47
- request: BotContext<TPlugins, TExtraData>,
48
- eventAction: string,
49
- args?: Record<string, any>
50
- ) => Promise<void>
51
-
52
- export type KnowledgeBaseFunction<
53
- TPlugins extends ResolvedPlugins = ResolvedPlugins,
54
- TExtraData = any,
55
- > = (
56
- request: BotContext<TPlugins, TExtraData>,
57
- sources: string[],
58
- instructions: string,
59
- messageId: string,
60
- memoryLength: number
61
- ) => Promise<KnowledgeBasesResponse>
62
-
63
- export type AiAgentFunction<
64
- TPlugins extends ResolvedPlugins = ResolvedPlugins,
65
- TExtraData = any,
66
- > = (
67
- request: BotContext<TPlugins, TExtraData>,
68
- aiAgentArgs: AiAgentArgs
69
- ) => Promise<InferenceResponse<FlowBuilderContentMessage>>
70
-
71
- export type ContentFilter<
72
- TPlugins extends ResolvedPlugins = ResolvedPlugins,
73
- TExtraData = any,
74
- > = (
75
- request: BotContext<TPlugins, TExtraData>,
76
- content: FlowContent
77
- ) => Promise<FlowContent> | FlowContent
78
-
79
- export interface FlowBuilderApiOptions {
80
- url: string
81
- flowUrl: string
82
- flow?: HtFlowBuilderData
83
- accessToken: string
84
- request: PluginPreRequest
85
- }
86
-
87
- export enum ProcessEnvNodeEnvs {
88
- PRODUCTION = 'production',
89
- DEVELOPMENT = 'development',
90
- }
91
-
92
- export enum FlowBuilderJSONVersion {
93
- DRAFT = 'draft',
94
- LATEST = 'latest',
95
- }
96
-
97
- export interface SmartIntentResponse {
98
- data: {
99
- smart_intent_title: string
100
- text: string
101
- smart_intents_used: {
102
- title: string
103
- description: string
104
- }[]
105
- }
106
- }
107
-
108
- export interface PayloadParamsBase {
109
- followUpContentID?: string
110
- }
111
-
112
- export interface RatingSubmittedInfo extends HtRatingButton {
113
- possibleOptions: string[]
114
- possibleValues: number[]
115
- }
116
-
117
- export { AiAgentArgs, GuardrailRule }
@@ -1,144 +0,0 @@
1
- import { EventAction, type EventCaptureUserInput } from '@botonic/core'
2
- import type { ActionRequest } from '@botonic/react'
3
- import axios from 'axios'
4
-
5
- import type { FlowBuilderApi } from '../api'
6
- import { FlowCaptureUserInput } from '../content-fields'
7
- import {
8
- HtAiValidationType,
9
- type HtCaptureUserInputNode,
10
- } from '../content-fields/hubtype-fields'
11
- import { getFlowBuilderPlugin } from '../helpers'
12
- import {
13
- getCommonFlowContentEventArgsForContentId,
14
- trackEvent,
15
- } from '../tracking'
16
- import { inputHasTextOrTranscript } from '../utils'
17
-
18
- interface AiCaptureResponseSuccess {
19
- success: true
20
- value: string
21
- }
22
-
23
- interface AiCaptureResponseFailure {
24
- success: false
25
- }
26
-
27
- type AiCaptureResponse = AiCaptureResponseSuccess | AiCaptureResponseFailure
28
-
29
- export class CaptureUserInputApi {
30
- private cmsApi: FlowBuilderApi
31
- private request: ActionRequest
32
- private textOrTranscript: string
33
-
34
- constructor(
35
- cmsApi: FlowBuilderApi,
36
- request: ActionRequest,
37
- textOrTranscript: string
38
- ) {
39
- this.cmsApi = cmsApi
40
- this.request = request
41
- this.textOrTranscript = textOrTranscript
42
- }
43
-
44
- async getNextNodeId(): Promise<string | undefined> {
45
- if (
46
- inputHasTextOrTranscript(this.request.input) &&
47
- this.cmsApi.shouldCaptureUserInput()
48
- ) {
49
- const captureUserInputNode = this.cmsApi.getCaptureUserInputNode()
50
- if (!captureUserInputNode || !this.textOrTranscript) {
51
- return undefined
52
- }
53
- const captureUserInput =
54
- FlowCaptureUserInput.fromHubtypeCMS(captureUserInputNode)
55
-
56
- if (captureUserInput.aiValidationType === HtAiValidationType.NONE) {
57
- this.cmsApi.setUserExtraDataVariable(
58
- captureUserInputNode.content.field_name,
59
- this.textOrTranscript
60
- )
61
- await this.trackUserInputCapture(captureUserInputNode, true)
62
- return captureUserInput.captureSuccessId
63
- }
64
-
65
- const aiCaptureResponse =
66
- await this.getAiCaptureResponse(captureUserInputNode)
67
- if (!aiCaptureResponse.success) {
68
- await this.trackUserInputCapture(captureUserInputNode, false)
69
- return captureUserInput.captureFailId
70
- }
71
-
72
- this.cmsApi.setUserExtraDataVariable(
73
- captureUserInputNode.content.field_name,
74
- aiCaptureResponse.value
75
- )
76
- await this.trackUserInputCapture(captureUserInputNode, true)
77
- return captureUserInput.captureSuccessId
78
- }
79
- return undefined
80
- }
81
-
82
- async getAiCaptureResponse(
83
- captureUserInputNode: HtCaptureUserInputNode
84
- ): Promise<AiCaptureResponse> {
85
- try {
86
- const url = `${process.env.HUBTYPE_API_URL}/external/v1/capture_user_input/`
87
- const data = {
88
- field_name: captureUserInputNode.content.field_name,
89
- validation_instructions:
90
- captureUserInputNode.content.ai_validation_instructions,
91
- user_input: this.textOrTranscript,
92
- }
93
- const pluginFlowBuilder = getFlowBuilderPlugin(this.request.plugins)
94
- const token = pluginFlowBuilder.getAccessToken(this.request.session)
95
-
96
- const config = {
97
- headers: {
98
- 'Content-Type': 'application/json',
99
- Authorization: `Bearer ${token}`,
100
- },
101
- }
102
-
103
- const aiCaptureResponse = await axios.post<AiCaptureResponse>(
104
- url,
105
- data,
106
- config
107
- )
108
-
109
- return aiCaptureResponse.data
110
- } catch (error) {
111
- console.warn('Error getting ai/capture_user_input', error)
112
- }
113
-
114
- return {
115
- success: false,
116
- }
117
- }
118
-
119
- async trackUserInputCapture(
120
- captureUserInputNode: HtCaptureUserInputNode,
121
- captureSuccess: boolean
122
- ): Promise<void> {
123
- const { flowThreadId, flowId, flowName, flowNodeId, flowNodeContentId } =
124
- getCommonFlowContentEventArgsForContentId(
125
- this.request,
126
- captureUserInputNode.id
127
- )
128
- const event: EventCaptureUserInput = {
129
- action: EventAction.CaptureUserInput,
130
- flowThreadId,
131
- flowId,
132
- flowName,
133
- flowNodeId,
134
- flowNodeContentId,
135
- flowNodeIsMeaningful: false,
136
- fieldName: captureUserInputNode.content.field_name,
137
- userInput: this.request.input.data as string,
138
- captureSuccess,
139
- messageId: this.request.input.message_id,
140
- }
141
- const { action, ...eventArgs } = event
142
- await trackEvent(this.request, action, eventArgs)
143
- }
144
- }
@@ -1,61 +0,0 @@
1
- import type { ActionRequest } from '@botonic/react'
2
-
3
- import type { FlowBuilderApi } from '../api'
4
- import {
5
- getTextOrTranscript,
6
- isKeywordsAllowed,
7
- isSmartIntentsAllowed,
8
- } from '../utils'
9
- import { CaptureUserInputApi } from './capture-user-input-api'
10
- import { KeywordMatcher } from './keyword'
11
- import {
12
- SmartIntentsApi,
13
- type SmartIntentsInferenceConfig,
14
- } from './smart-intent'
15
-
16
- export async function getNextPayloadByUserInput(
17
- cmsApi: FlowBuilderApi,
18
- locale: string,
19
- request: ActionRequest,
20
- smartIntentsConfig: SmartIntentsInferenceConfig
21
- ): Promise<string | undefined> {
22
- const userTextOrTranscript = getTextOrTranscript(request.input)
23
- if (userTextOrTranscript) {
24
- if (cmsApi.shouldCaptureUserInput()) {
25
- const captureUserInputApi = new CaptureUserInputApi(
26
- cmsApi,
27
- request,
28
- userTextOrTranscript
29
- )
30
- return await captureUserInputApi.getNextNodeId()
31
- }
32
-
33
- if (isKeywordsAllowed(request)) {
34
- const keywordMatcher = new KeywordMatcher({
35
- cmsApi,
36
- locale,
37
- request,
38
- userTextOrTranscript,
39
- })
40
- const keywordNode = await keywordMatcher.getNodeByInput()
41
- if (keywordNode) {
42
- return cmsApi.getPayload(keywordNode.target)
43
- }
44
- }
45
-
46
- if (isSmartIntentsAllowed(request)) {
47
- const smartIntentsApi = new SmartIntentsApi(
48
- cmsApi,
49
- request,
50
- smartIntentsConfig,
51
- userTextOrTranscript
52
- )
53
- const smartIntentNode = await smartIntentsApi.getNodeByInput()
54
- if (smartIntentNode) {
55
- return cmsApi.getPayload(smartIntentNode.target)
56
- }
57
- }
58
- }
59
-
60
- return undefined
61
- }
@@ -1,134 +0,0 @@
1
- import { EventAction, type EventKeyword, NluType } from '@botonic/core'
2
- import type { ActionRequest } from '@botonic/react'
3
-
4
- import type { FlowBuilderApi } from '../api'
5
- import { REG_EXP_PATTERN } from '../constants'
6
- import type {
7
- HtKeywordNode,
8
- HtNodeWithContent,
9
- } from '../content-fields/hubtype-fields'
10
- import {
11
- getCommonFlowContentEventArgsForContentId,
12
- trackEvent,
13
- } from '../tracking'
14
-
15
- interface KeywordProps {
16
- cmsApi: FlowBuilderApi
17
- locale: string
18
- request: ActionRequest
19
- userTextOrTranscript: string
20
- }
21
- export class KeywordMatcher {
22
- public cmsApi: FlowBuilderApi
23
- public locale: string
24
- public request: ActionRequest
25
- public isRegExp: boolean
26
- public matchedKeyword?: string
27
- public keywordNodeId?: string
28
- public flowId?: string
29
- public userTextOrTranscript: string
30
-
31
- constructor({ cmsApi, locale, request, userTextOrTranscript }: KeywordProps) {
32
- this.cmsApi = cmsApi
33
- this.locale = locale
34
- this.request = request
35
- this.isRegExp = false
36
- this.userTextOrTranscript = userTextOrTranscript
37
- }
38
-
39
- async getNodeByInput(): Promise<HtKeywordNode | undefined> {
40
- const keywordNodes = this.cmsApi.getKeywordNodes()
41
- const keywordNode = this.getNodeByKeyword(
42
- this.userTextOrTranscript,
43
- keywordNodes
44
- )
45
- if (!keywordNode || !this.matchedKeyword) {
46
- return undefined
47
- }
48
- const targetPayload = this.cmsApi.getPayload(keywordNode.target)
49
-
50
- this.request.input.nluResolution = {
51
- type: NluType.Keyword,
52
- matchedValue: this.matchedKeyword,
53
- payload: targetPayload,
54
- }
55
- await this.trackKeywordEvent()
56
- return keywordNode
57
- }
58
-
59
- private getNodeByKeyword(
60
- userInput: string,
61
- keywordNodes: HtKeywordNode[]
62
- ): HtKeywordNode | undefined {
63
- const matchedKeywordNode = keywordNodes.find(node =>
64
- this.matchKeywords(userInput, node)
65
- )
66
-
67
- return matchedKeywordNode?.target ? matchedKeywordNode : undefined
68
- }
69
-
70
- private matchKeywords(userInput: string, node: HtKeywordNode): boolean {
71
- const result = node.content.keywords.find(keywords => {
72
- if (keywords.locale === this.locale) {
73
- this.keywordNodeId = node.id
74
- this.flowId = this.cmsApi.getNodeById<HtNodeWithContent>(
75
- node.id
76
- ).flow_id
77
- return this.inputMatchesAnyKeyword(userInput, keywords.values)
78
- }
79
-
80
- return false
81
- })
82
-
83
- return Boolean(result)
84
- }
85
-
86
- private inputMatchesAnyKeyword(
87
- userInput: string,
88
- keywords: string[]
89
- ): boolean {
90
- return keywords.some(keyword => {
91
- const regExpMatchArray = keyword.match(REG_EXP_PATTERN)
92
-
93
- if (regExpMatchArray) {
94
- const keywordAsRegExp = this.resolveKeywordAsRegExp(regExpMatchArray)
95
- const match = userInput.match(keywordAsRegExp)
96
- this.isRegExp = true
97
- this.matchedKeyword = match ? match[0] : undefined
98
- } else {
99
- this.isRegExp = false
100
- this.matchedKeyword = userInput.includes(keyword) ? keyword : undefined
101
- }
102
-
103
- return this.matchedKeyword !== undefined
104
- })
105
- }
106
-
107
- private resolveKeywordAsRegExp(regExpMatchArray: RegExpMatchArray): RegExp {
108
- const [, pattern, flags] = regExpMatchArray
109
- return new RegExp(pattern, flags)
110
- }
111
-
112
- private async trackKeywordEvent() {
113
- const { flowId, flowName, flowNodeId, flowNodeContentId } =
114
- getCommonFlowContentEventArgsForContentId(
115
- this.request,
116
- this.keywordNodeId as string
117
- )
118
-
119
- const event: EventKeyword = {
120
- action: EventAction.Keyword,
121
- flowNodeId,
122
- flowId,
123
- flowName,
124
- flowNodeContentId,
125
- flowThreadId: this.request.session.flow_thread_id as string,
126
- nluKeywordName: this.matchedKeyword as string,
127
- nluKeywordIsRegex: this.isRegExp,
128
- nluKeywordMessageId: this.request.input.message_id,
129
- userInput: this.userTextOrTranscript,
130
- }
131
- const { action, ...eventArgs } = event
132
- await trackEvent(this.request, action, eventArgs)
133
- }
134
- }
@@ -1,119 +0,0 @@
1
- import { EventAction, type EventIntentSmart, NluType } from '@botonic/core'
2
- import type { ActionRequest } from '@botonic/react'
3
- import axios from 'axios'
4
-
5
- import type { FlowBuilderApi } from '../api'
6
- import type { HtSmartIntentNode } from '../content-fields/hubtype-fields/smart-intent'
7
- import { getFlowBuilderPlugin } from '../helpers'
8
- import {
9
- getCommonFlowContentEventArgsForContentId,
10
- trackEvent,
11
- } from '../tracking'
12
- import type { SmartIntentResponse } from '../types'
13
-
14
- export interface SmartIntentsInferenceParams {
15
- bot_id: string
16
- text: string
17
- num_smart_intents_to_use?: number
18
- use_latest: boolean
19
- }
20
-
21
- export interface SmartIntentsInferenceConfig {
22
- useLatest: boolean
23
- numSmartIntentsToUse?: number
24
- }
25
-
26
- export class SmartIntentsApi {
27
- constructor(
28
- public cmsApi: FlowBuilderApi,
29
- public currentRequest: ActionRequest,
30
- public smartIntentsConfig: SmartIntentsInferenceConfig,
31
- public userTextOrTranscript: string
32
- ) {}
33
-
34
- async getNodeByInput(): Promise<HtSmartIntentNode | undefined> {
35
- if (!this.userTextOrTranscript) {
36
- return undefined
37
- }
38
- const smartIntentNodes = this.cmsApi.getSmartIntentNodes()
39
- if (!smartIntentNodes.length) {
40
- return undefined
41
- }
42
-
43
- const params = {
44
- bot_id: this.currentRequest.session.bot.id,
45
- text: this.userTextOrTranscript,
46
- num_smart_intents_to_use: this.smartIntentsConfig.numSmartIntentsToUse,
47
- use_latest: this.resolveUseLatest(),
48
- }
49
-
50
- try {
51
- const response = await this.getInference(params)
52
- const smartIntentNode = smartIntentNodes.find(
53
- smartIntentNode =>
54
- smartIntentNode.content.title === response.data.smart_intent_title
55
- )
56
-
57
- if (smartIntentNode) {
58
- const targetPayload = this.cmsApi.getPayload(smartIntentNode.target)
59
- this.currentRequest.input.nluResolution = {
60
- type: NluType.SmartIntent,
61
- matchedValue: smartIntentNode.content.title,
62
- payload: targetPayload,
63
- }
64
-
65
- const { flowId, flowName, flowNodeId, flowNodeContentId } =
66
- getCommonFlowContentEventArgsForContentId(
67
- this.currentRequest,
68
- smartIntentNode.id
69
- )
70
-
71
- const event: EventIntentSmart = {
72
- action: EventAction.IntentSmart,
73
- nluIntentSmartTitle: response.data.smart_intent_title,
74
- nluIntentSmartNumUsed: response.data.smart_intents_used.length,
75
- nluIntentSmartMessageId: this.currentRequest.input.message_id,
76
- userInput: this.userTextOrTranscript,
77
- flowThreadId: this.currentRequest.session.flow_thread_id as string,
78
- flowId,
79
- flowName,
80
- flowNodeContentId,
81
- flowNodeId,
82
- }
83
- const { action, ...eventArgs } = event
84
-
85
- await trackEvent(this.currentRequest, action, eventArgs)
86
-
87
- return smartIntentNode
88
- }
89
- } catch (e) {
90
- console.error(e)
91
- }
92
- return undefined
93
- }
94
-
95
- private resolveUseLatest(): boolean {
96
- if (this.currentRequest.session.is_test_integration) {
97
- return false
98
- }
99
- return this.smartIntentsConfig.useLatest
100
- }
101
-
102
- private async getInference(
103
- inferenceParams: SmartIntentsInferenceParams
104
- ): Promise<SmartIntentResponse> {
105
- const pluginFlowBuilder = getFlowBuilderPlugin(this.currentRequest.plugins)
106
- const token = pluginFlowBuilder.getAccessToken(this.currentRequest.session)
107
-
108
- return await axios({
109
- method: 'POST',
110
- url: `${process.env.HUBTYPE_API_URL}/external/v2/ai/smart_intents/inference/`,
111
- headers: {
112
- Authorization: `Bearer ${token}`,
113
- 'Content-Type': 'application/json',
114
- },
115
- data: inferenceParams,
116
- timeout: 10000,
117
- })
118
- }
119
- }
package/src/utils.ts DELETED
@@ -1,66 +0,0 @@
1
- import { INPUT, type Input, type Session } from '@botonic/core'
2
- import type { ActionRequest } from '@botonic/react'
3
-
4
- import { getFlowBuilderPlugin } from './helpers'
5
- import { type InShadowingConfig, ProcessEnvNodeEnvs } from './types'
6
-
7
- function getAccessTokenFromSession(session: Session): string {
8
- if (!session._access_token) {
9
- throw new Error('No access token found in session')
10
- }
11
- return session._access_token
12
- }
13
-
14
- export function resolveGetAccessToken(
15
- getAccessToken: (session: Session) => string
16
- ): (session: Session) => string {
17
- switch (process.env.NODE_ENV) {
18
- case ProcessEnvNodeEnvs.PRODUCTION:
19
- return getAccessTokenFromSession
20
- case ProcessEnvNodeEnvs.DEVELOPMENT:
21
- return getAccessToken
22
- default:
23
- throw new Error('No method defined for getting access token')
24
- }
25
- }
26
-
27
- export function inputHasTextOrTranscript(input: Input): boolean {
28
- const isTextInput = Boolean(input.data) && input.type === INPUT.TEXT
29
- const isTranscriptText =
30
- Boolean(input.transcript) && input.type === INPUT.AUDIO
31
-
32
- return isTextInput || isTranscriptText
33
- }
34
-
35
- export function getTextOrTranscript(input: Input): string | undefined {
36
- if (input.type === INPUT.TEXT && input.data) {
37
- return input.data
38
- }
39
- if (input.type === INPUT.AUDIO && input.transcript) {
40
- return input.transcript
41
- }
42
-
43
- console.error('No text or transcript found in input', input)
44
- return undefined
45
- }
46
-
47
- function isNluAllowed(
48
- request: ActionRequest,
49
- nluFlag: keyof InShadowingConfig
50
- ): boolean {
51
- const shadowing = Boolean(request.session._shadowing)
52
- const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
53
- return !shadowing || (shadowing && flowBuilderPlugin.inShadowing[nluFlag])
54
- }
55
-
56
- export function isKeywordsAllowed(request: ActionRequest): boolean {
57
- return isNluAllowed(request, 'allowKeywords')
58
- }
59
-
60
- export function isSmartIntentsAllowed(request: ActionRequest): boolean {
61
- return isNluAllowed(request, 'allowSmartIntents')
62
- }
63
-
64
- export function isKnowledgeBasesAllowed(request: ActionRequest): boolean {
65
- return isNluAllowed(request, 'allowKnowledgeBases')
66
- }
@@ -1,11 +0,0 @@
1
- import { createContext } from 'react'
2
-
3
- import type { MapContentsType, WebviewContentsContextType } from './types'
4
-
5
- export const createWebviewContentsContext = <T extends MapContentsType>() =>
6
- createContext<WebviewContentsContextType<T>>({
7
- getTextContent: () => '',
8
- getImageSrc: () => '',
9
- setCurrentLocale: () => undefined,
10
- contents: {} as Record<keyof T, string>,
11
- })
@@ -1,3 +0,0 @@
1
- export { createWebviewContentsContext } from './contents-context'
2
- export * from './types'
3
- export { useWebviewContents } from './use-webview-contents'