@botonic/plugin-flow-builder 0.43.2 → 0.44.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/lib/cjs/action/ai-agent.js +55 -61
  2. package/lib/cjs/action/ai-agent.js.map +1 -1
  3. package/lib/cjs/action/fallback.js +28 -32
  4. package/lib/cjs/action/fallback.js.map +1 -1
  5. package/lib/cjs/action/first-interaction.js +61 -71
  6. package/lib/cjs/action/first-interaction.js.map +1 -1
  7. package/lib/cjs/action/index.js +66 -79
  8. package/lib/cjs/action/index.js.map +1 -1
  9. package/lib/cjs/action/knowledge-bases.js +64 -72
  10. package/lib/cjs/action/knowledge-bases.js.map +1 -1
  11. package/lib/cjs/action/payload.js +61 -70
  12. package/lib/cjs/action/payload.js.map +1 -1
  13. package/lib/cjs/api.d.ts +7 -2
  14. package/lib/cjs/api.js +58 -36
  15. package/lib/cjs/api.js.map +1 -1
  16. package/lib/cjs/constants.d.ts +1 -1
  17. package/lib/cjs/content-fields/content-fields-base.js +3 -6
  18. package/lib/cjs/content-fields/content-fields-base.js.map +1 -1
  19. package/lib/cjs/content-fields/flow-ai-agent.d.ts +0 -1
  20. package/lib/cjs/content-fields/flow-ai-agent.js +4 -7
  21. package/lib/cjs/content-fields/flow-ai-agent.js.map +1 -1
  22. package/lib/cjs/content-fields/flow-bot-action.d.ts +0 -1
  23. package/lib/cjs/content-fields/flow-bot-action.js +14 -17
  24. package/lib/cjs/content-fields/flow-bot-action.js.map +1 -1
  25. package/lib/cjs/content-fields/flow-button.d.ts +0 -1
  26. package/lib/cjs/content-fields/flow-button.js +10 -16
  27. package/lib/cjs/content-fields/flow-button.js.map +1 -1
  28. package/lib/cjs/content-fields/flow-capture-user-input.d.ts +13 -0
  29. package/lib/cjs/content-fields/flow-capture-user-input.js +43 -0
  30. package/lib/cjs/content-fields/flow-capture-user-input.js.map +1 -0
  31. package/lib/cjs/content-fields/flow-carousel.d.ts +0 -1
  32. package/lib/cjs/content-fields/flow-carousel.js +16 -23
  33. package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
  34. package/lib/cjs/content-fields/flow-channel-conditional.d.ts +0 -1
  35. package/lib/cjs/content-fields/flow-channel-conditional.js +14 -17
  36. package/lib/cjs/content-fields/flow-channel-conditional.js.map +1 -1
  37. package/lib/cjs/content-fields/flow-country-conditional.d.ts +0 -1
  38. package/lib/cjs/content-fields/flow-country-conditional.js +17 -21
  39. package/lib/cjs/content-fields/flow-country-conditional.js.map +1 -1
  40. package/lib/cjs/content-fields/flow-custom-conditional.js +18 -22
  41. package/lib/cjs/content-fields/flow-custom-conditional.js.map +1 -1
  42. package/lib/cjs/content-fields/flow-element.d.ts +0 -1
  43. package/lib/cjs/content-fields/flow-element.js +5 -9
  44. package/lib/cjs/content-fields/flow-element.js.map +1 -1
  45. package/lib/cjs/content-fields/flow-go-to-flow.d.ts +0 -1
  46. package/lib/cjs/content-fields/flow-go-to-flow.js +15 -18
  47. package/lib/cjs/content-fields/flow-go-to-flow.js.map +1 -1
  48. package/lib/cjs/content-fields/flow-handoff.d.ts +0 -1
  49. package/lib/cjs/content-fields/flow-handoff.js +29 -35
  50. package/lib/cjs/content-fields/flow-handoff.js.map +1 -1
  51. package/lib/cjs/content-fields/flow-image.d.ts +0 -1
  52. package/lib/cjs/content-fields/flow-image.js +2 -5
  53. package/lib/cjs/content-fields/flow-image.js.map +1 -1
  54. package/lib/cjs/content-fields/flow-knowledge-base.d.ts +0 -1
  55. package/lib/cjs/content-fields/flow-knowledge-base.js +5 -8
  56. package/lib/cjs/content-fields/flow-knowledge-base.js.map +1 -1
  57. package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +0 -1
  58. package/lib/cjs/content-fields/flow-queue-status-conditional.js +55 -65
  59. package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +1 -1
  60. package/lib/cjs/content-fields/flow-rating.d.ts +0 -1
  61. package/lib/cjs/content-fields/flow-rating.js +2 -5
  62. package/lib/cjs/content-fields/flow-rating.js.map +1 -1
  63. package/lib/cjs/content-fields/flow-text.d.ts +0 -1
  64. package/lib/cjs/content-fields/flow-text.js +5 -8
  65. package/lib/cjs/content-fields/flow-text.js.map +1 -1
  66. package/lib/cjs/content-fields/flow-video.d.ts +0 -1
  67. package/lib/cjs/content-fields/flow-video.js +2 -5
  68. package/lib/cjs/content-fields/flow-video.js.map +1 -1
  69. package/lib/cjs/content-fields/flow-webview.js +15 -18
  70. package/lib/cjs/content-fields/flow-webview.js.map +1 -1
  71. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -1
  72. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +3 -6
  73. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
  74. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +0 -1
  75. package/lib/cjs/content-fields/flow-whatsapp-template.js +6 -12
  76. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +1 -1
  77. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  78. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js +12 -0
  79. package/lib/cjs/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  80. package/lib/cjs/content-fields/hubtype-fields/function.js +1 -1
  81. package/lib/cjs/content-fields/hubtype-fields/function.js.map +1 -1
  82. package/lib/cjs/content-fields/hubtype-fields/index.d.ts +1 -0
  83. package/lib/cjs/content-fields/hubtype-fields/index.js +1 -0
  84. package/lib/cjs/content-fields/hubtype-fields/index.js.map +1 -1
  85. package/lib/cjs/content-fields/hubtype-fields/node-types.d.ts +2 -1
  86. package/lib/cjs/content-fields/hubtype-fields/node-types.js +4 -3
  87. package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +1 -1
  88. package/lib/cjs/content-fields/hubtype-fields/nodes.d.ts +2 -1
  89. package/lib/cjs/content-fields/hubtype-fields/rating.js +1 -1
  90. package/lib/cjs/content-fields/hubtype-fields/rating.js.map +1 -1
  91. package/lib/cjs/content-fields/index.d.ts +3 -2
  92. package/lib/cjs/content-fields/index.js +3 -1
  93. package/lib/cjs/content-fields/index.js.map +1 -1
  94. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +2 -5
  95. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
  96. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +2 -5
  97. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
  98. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -1
  99. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +3 -6
  100. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
  101. package/lib/cjs/filters/index.js +5 -8
  102. package/lib/cjs/filters/index.js.map +1 -1
  103. package/lib/cjs/flow-factory.js +49 -51
  104. package/lib/cjs/flow-factory.js.map +1 -1
  105. package/lib/cjs/functions/index.js +18 -21
  106. package/lib/cjs/functions/index.js.map +1 -1
  107. package/lib/cjs/helpers.js +1 -2
  108. package/lib/cjs/helpers.js.map +1 -1
  109. package/lib/cjs/index.js +68 -73
  110. package/lib/cjs/index.js.map +1 -1
  111. package/lib/cjs/services/hubtype-queues-api.js +10 -12
  112. package/lib/cjs/services/hubtype-queues-api.js.map +1 -1
  113. package/lib/cjs/tracking.d.ts +1 -1
  114. package/lib/cjs/tracking.js +33 -43
  115. package/lib/cjs/tracking.js.map +1 -1
  116. package/lib/cjs/types.js +2 -2
  117. package/lib/cjs/types.js.map +1 -1
  118. package/lib/cjs/user-input/capture-user-input-api.d.ts +20 -0
  119. package/lib/cjs/user-input/capture-user-input-api.js +84 -0
  120. package/lib/cjs/user-input/capture-user-input-api.js.map +1 -0
  121. package/lib/cjs/user-input/index.d.ts +1 -2
  122. package/lib/cjs/user-input/index.js +25 -24
  123. package/lib/cjs/user-input/index.js.map +1 -1
  124. package/lib/cjs/user-input/keyword.js +31 -36
  125. package/lib/cjs/user-input/keyword.js.map +1 -1
  126. package/lib/cjs/user-input/smart-intent.js +55 -59
  127. package/lib/cjs/user-input/smart-intent.js.map +1 -1
  128. package/lib/cjs/utils.js +7 -9
  129. package/lib/cjs/utils.js.map +1 -1
  130. package/lib/cjs/webview/contents-context.d.ts +0 -1
  131. package/lib/cjs/webview/types.js +1 -1
  132. package/lib/cjs/webview/types.js.map +1 -1
  133. package/lib/cjs/webview/use-webview-contents.js +10 -9
  134. package/lib/cjs/webview/use-webview-contents.js.map +1 -1
  135. package/lib/esm/action/ai-agent.js +61 -63
  136. package/lib/esm/action/ai-agent.js.map +1 -1
  137. package/lib/esm/action/fallback.js +32 -32
  138. package/lib/esm/action/fallback.js.map +1 -1
  139. package/lib/esm/action/first-interaction.js +69 -75
  140. package/lib/esm/action/first-interaction.js.map +1 -1
  141. package/lib/esm/action/index.js +93 -101
  142. package/lib/esm/action/index.js.map +1 -1
  143. package/lib/esm/action/knowledge-bases.js +71 -75
  144. package/lib/esm/action/knowledge-bases.js.map +1 -1
  145. package/lib/esm/action/payload.js +67 -72
  146. package/lib/esm/action/payload.js.map +1 -1
  147. package/lib/esm/api.d.ts +7 -2
  148. package/lib/esm/api.js +77 -51
  149. package/lib/esm/api.js.map +1 -1
  150. package/lib/esm/constants.d.ts +1 -1
  151. package/lib/esm/constants.js +17 -14
  152. package/lib/esm/constants.js.map +1 -1
  153. package/lib/esm/content-fields/content-fields-base.js +13 -12
  154. package/lib/esm/content-fields/content-fields-base.js.map +1 -1
  155. package/lib/esm/content-fields/flow-ai-agent.d.ts +0 -1
  156. package/lib/esm/content-fields/flow-ai-agent.js +18 -17
  157. package/lib/esm/content-fields/flow-ai-agent.js.map +1 -1
  158. package/lib/esm/content-fields/flow-bot-action.d.ts +0 -1
  159. package/lib/esm/content-fields/flow-bot-action.js +25 -24
  160. package/lib/esm/content-fields/flow-bot-action.js.map +1 -1
  161. package/lib/esm/content-fields/flow-button.d.ts +0 -1
  162. package/lib/esm/content-fields/flow-button.js +25 -27
  163. package/lib/esm/content-fields/flow-button.js.map +1 -1
  164. package/lib/esm/content-fields/flow-capture-user-input.d.ts +13 -0
  165. package/lib/esm/content-fields/flow-capture-user-input.js +43 -0
  166. package/lib/esm/content-fields/flow-capture-user-input.js.map +1 -0
  167. package/lib/esm/content-fields/flow-carousel.d.ts +0 -1
  168. package/lib/esm/content-fields/flow-carousel.js +39 -42
  169. package/lib/esm/content-fields/flow-carousel.js.map +1 -1
  170. package/lib/esm/content-fields/flow-channel-conditional.d.ts +0 -1
  171. package/lib/esm/content-fields/flow-channel-conditional.js +24 -23
  172. package/lib/esm/content-fields/flow-channel-conditional.js.map +1 -1
  173. package/lib/esm/content-fields/flow-country-conditional.d.ts +0 -1
  174. package/lib/esm/content-fields/flow-country-conditional.js +27 -27
  175. package/lib/esm/content-fields/flow-country-conditional.js.map +1 -1
  176. package/lib/esm/content-fields/flow-custom-conditional.js +30 -30
  177. package/lib/esm/content-fields/flow-custom-conditional.js.map +1 -1
  178. package/lib/esm/content-fields/flow-element.d.ts +0 -1
  179. package/lib/esm/content-fields/flow-element.js +16 -16
  180. package/lib/esm/content-fields/flow-element.js.map +1 -1
  181. package/lib/esm/content-fields/flow-go-to-flow.d.ts +0 -1
  182. package/lib/esm/content-fields/flow-go-to-flow.js +25 -24
  183. package/lib/esm/content-fields/flow-go-to-flow.js.map +1 -1
  184. package/lib/esm/content-fields/flow-handoff.d.ts +0 -1
  185. package/lib/esm/content-fields/flow-handoff.js +40 -42
  186. package/lib/esm/content-fields/flow-handoff.js.map +1 -1
  187. package/lib/esm/content-fields/flow-image.d.ts +0 -1
  188. package/lib/esm/content-fields/flow-image.js +12 -11
  189. package/lib/esm/content-fields/flow-image.js.map +1 -1
  190. package/lib/esm/content-fields/flow-knowledge-base.d.ts +0 -1
  191. package/lib/esm/content-fields/flow-knowledge-base.js +15 -14
  192. package/lib/esm/content-fields/flow-knowledge-base.js.map +1 -1
  193. package/lib/esm/content-fields/flow-queue-status-conditional.d.ts +0 -1
  194. package/lib/esm/content-fields/flow-queue-status-conditional.js +67 -73
  195. package/lib/esm/content-fields/flow-queue-status-conditional.js.map +1 -1
  196. package/lib/esm/content-fields/flow-rating.d.ts +0 -1
  197. package/lib/esm/content-fields/flow-rating.js +23 -22
  198. package/lib/esm/content-fields/flow-rating.js.map +1 -1
  199. package/lib/esm/content-fields/flow-text.d.ts +0 -1
  200. package/lib/esm/content-fields/flow-text.js +25 -24
  201. package/lib/esm/content-fields/flow-text.js.map +1 -1
  202. package/lib/esm/content-fields/flow-video.d.ts +0 -1
  203. package/lib/esm/content-fields/flow-video.js +12 -11
  204. package/lib/esm/content-fields/flow-video.js.map +1 -1
  205. package/lib/esm/content-fields/flow-webview.js +23 -22
  206. package/lib/esm/content-fields/flow-webview.js.map +1 -1
  207. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.d.ts +0 -1
  208. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +31 -30
  209. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
  210. package/lib/esm/content-fields/flow-whatsapp-template.d.ts +0 -1
  211. package/lib/esm/content-fields/flow-whatsapp-template.js +45 -47
  212. package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -1
  213. package/lib/esm/content-fields/hubtype-fields/ai-agent.js +2 -1
  214. package/lib/esm/content-fields/hubtype-fields/bot-action.js +2 -1
  215. package/lib/esm/content-fields/hubtype-fields/button.js +2 -1
  216. package/lib/esm/content-fields/hubtype-fields/capture-user-input.d.ts +19 -0
  217. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js +12 -0
  218. package/lib/esm/content-fields/hubtype-fields/capture-user-input.js.map +1 -0
  219. package/lib/esm/content-fields/hubtype-fields/carousel.js +2 -1
  220. package/lib/esm/content-fields/hubtype-fields/channel-conditional.js +2 -1
  221. package/lib/esm/content-fields/hubtype-fields/common.js +2 -1
  222. package/lib/esm/content-fields/hubtype-fields/country-conditional.js +2 -1
  223. package/lib/esm/content-fields/hubtype-fields/custom-conditional.js +2 -1
  224. package/lib/esm/content-fields/hubtype-fields/fallback.js +2 -1
  225. package/lib/esm/content-fields/hubtype-fields/function.js +5 -2
  226. package/lib/esm/content-fields/hubtype-fields/function.js.map +1 -1
  227. package/lib/esm/content-fields/hubtype-fields/go-to-flow.js +2 -1
  228. package/lib/esm/content-fields/hubtype-fields/handoff.js +2 -1
  229. package/lib/esm/content-fields/hubtype-fields/image.js +2 -1
  230. package/lib/esm/content-fields/hubtype-fields/index.d.ts +1 -0
  231. package/lib/esm/content-fields/hubtype-fields/index.js +27 -23
  232. package/lib/esm/content-fields/hubtype-fields/index.js.map +1 -1
  233. package/lib/esm/content-fields/hubtype-fields/keyword.js +2 -1
  234. package/lib/esm/content-fields/hubtype-fields/knowledge-base.js +2 -1
  235. package/lib/esm/content-fields/hubtype-fields/node-types.d.ts +2 -1
  236. package/lib/esm/content-fields/hubtype-fields/node-types.js +10 -6
  237. package/lib/esm/content-fields/hubtype-fields/node-types.js.map +1 -1
  238. package/lib/esm/content-fields/hubtype-fields/nodes.d.ts +2 -1
  239. package/lib/esm/content-fields/hubtype-fields/nodes.js +2 -1
  240. package/lib/esm/content-fields/hubtype-fields/payload.js +2 -1
  241. package/lib/esm/content-fields/hubtype-fields/queue-status-conditional.js +2 -1
  242. package/lib/esm/content-fields/hubtype-fields/rating.js +5 -2
  243. package/lib/esm/content-fields/hubtype-fields/rating.js.map +1 -1
  244. package/lib/esm/content-fields/hubtype-fields/smart-intent.js +2 -1
  245. package/lib/esm/content-fields/hubtype-fields/text.js +2 -1
  246. package/lib/esm/content-fields/hubtype-fields/url.js +2 -1
  247. package/lib/esm/content-fields/hubtype-fields/video.js +2 -1
  248. package/lib/esm/content-fields/hubtype-fields/webview.js +2 -1
  249. package/lib/esm/content-fields/hubtype-fields/whatsapp-button-list.js +2 -1
  250. package/lib/esm/content-fields/hubtype-fields/whatsapp-cta-url-button.js +2 -1
  251. package/lib/esm/content-fields/hubtype-fields/whatsapp-template.js +2 -1
  252. package/lib/esm/content-fields/index.d.ts +3 -2
  253. package/lib/esm/content-fields/index.js +46 -22
  254. package/lib/esm/content-fields/index.js.map +1 -1
  255. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +10 -9
  256. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
  257. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +10 -9
  258. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
  259. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +0 -1
  260. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +18 -17
  261. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
  262. package/lib/esm/filters/index.js +10 -9
  263. package/lib/esm/filters/index.js.map +1 -1
  264. package/lib/esm/flow-factory.js +56 -54
  265. package/lib/esm/flow-factory.js.map +1 -1
  266. package/lib/esm/functions/index.js +24 -22
  267. package/lib/esm/functions/index.js.map +1 -1
  268. package/lib/esm/helpers.js +4 -1
  269. package/lib/esm/helpers.js.map +1 -1
  270. package/lib/esm/index.js +101 -99
  271. package/lib/esm/index.js.map +1 -1
  272. package/lib/esm/services/hubtype-queues-api.js +17 -15
  273. package/lib/esm/services/hubtype-queues-api.js.map +1 -1
  274. package/lib/esm/tracking.d.ts +1 -1
  275. package/lib/esm/tracking.js +42 -45
  276. package/lib/esm/tracking.js.map +1 -1
  277. package/lib/esm/types.js +7 -4
  278. package/lib/esm/types.js.map +1 -1
  279. package/lib/esm/user-input/capture-user-input-api.d.ts +20 -0
  280. package/lib/esm/user-input/capture-user-input-api.js +84 -0
  281. package/lib/esm/user-input/capture-user-input-api.js.map +1 -0
  282. package/lib/esm/user-input/index.d.ts +1 -2
  283. package/lib/esm/user-input/index.js +30 -25
  284. package/lib/esm/user-input/index.js.map +1 -1
  285. package/lib/esm/user-input/keyword.js +40 -41
  286. package/lib/esm/user-input/keyword.js.map +1 -1
  287. package/lib/esm/user-input/smart-intent.js +65 -65
  288. package/lib/esm/user-input/smart-intent.js.map +1 -1
  289. package/lib/esm/utils.js +22 -15
  290. package/lib/esm/utils.js.map +1 -1
  291. package/lib/esm/webview/contents-context.d.ts +0 -1
  292. package/lib/esm/webview/contents-context.js +6 -2
  293. package/lib/esm/webview/contents-context.js.map +1 -1
  294. package/lib/esm/webview/index.js +9 -3
  295. package/lib/esm/webview/index.js.map +1 -1
  296. package/lib/esm/webview/types.js +5 -2
  297. package/lib/esm/webview/types.js.map +1 -1
  298. package/lib/esm/webview/use-webview-contents.js +28 -23
  299. package/lib/esm/webview/use-webview-contents.js.map +1 -1
  300. package/package.json +2 -2
  301. package/src/api.ts +35 -1
  302. package/src/content-fields/flow-capture-user-input.tsx +45 -0
  303. package/src/content-fields/hubtype-fields/capture-user-input.ts +21 -0
  304. package/src/content-fields/hubtype-fields/index.ts +1 -0
  305. package/src/content-fields/hubtype-fields/node-types.ts +1 -0
  306. package/src/content-fields/hubtype-fields/nodes.ts +2 -0
  307. package/src/content-fields/index.ts +3 -0
  308. package/src/flow-factory.ts +4 -0
  309. package/src/index.ts +4 -3
  310. package/src/tracking.ts +2 -2
  311. package/src/user-input/capture-user-input-api.ts +134 -0
  312. package/src/user-input/index.ts +13 -8
@@ -1,127 +1,119 @@
1
- import { __awaiter } from "tslib";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { INPUT, isDev, isWebchat } from '@botonic/core';
4
- import { Multichannel, RequestContext, WebchatSettings, } from '@botonic/react';
5
- import React from 'react';
6
- import { EMPTY_PAYLOAD } from '../constants';
7
- import { FlowHandoff } from '../content-fields';
8
- import { FlowBotAction } from '../content-fields/flow-bot-action';
9
- import { ContentFilterExecutor } from '../filters';
10
- import { getFlowBuilderPlugin } from '../helpers';
11
- import { inputHasTextData } from '../utils';
12
- import { getContentsByAiAgent } from './ai-agent';
13
- import { getContentsByFallback } from './fallback';
14
- import { getContentsByFirstInteraction } from './first-interaction';
15
- import { getContentsByKnowledgeBase } from './knowledge-bases';
16
- import { getContentsByPayload } from './payload';
17
- export class FlowBuilderAction extends React.Component {
18
- static executeConversationStart(request) {
19
- return __awaiter(this, void 0, void 0, function* () {
20
- const context = getContext(request);
21
- const contents = yield getContentsByFirstInteraction(context);
22
- const filteredContents = yield filterContents(request, contents);
23
- yield FlowBuilderAction.trackAllContents(request, filteredContents);
24
- yield FlowBuilderAction.doHandoffAndBotActions(request, filteredContents);
25
- return { contents: filteredContents };
26
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FlowBuilderMultichannelAction = exports.FlowBuilderAction = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const core_1 = require("@botonic/core");
7
+ const react_1 = require("@botonic/react");
8
+ const react_2 = tslib_1.__importDefault(require("react"));
9
+ const constants_1 = require("../constants");
10
+ const content_fields_1 = require("../content-fields");
11
+ const flow_bot_action_1 = require("../content-fields/flow-bot-action");
12
+ const filters_1 = require("../filters");
13
+ const helpers_1 = require("../helpers");
14
+ const utils_1 = require("../utils");
15
+ const ai_agent_1 = require("./ai-agent");
16
+ const fallback_1 = require("./fallback");
17
+ const first_interaction_1 = require("./first-interaction");
18
+ const knowledge_bases_1 = require("./knowledge-bases");
19
+ const payload_1 = require("./payload");
20
+ class FlowBuilderAction extends react_2.default.Component {
21
+ static async executeConversationStart(request) {
22
+ const context = getContext(request);
23
+ const contents = await (0, first_interaction_1.getContentsByFirstInteraction)(context);
24
+ const filteredContents = await filterContents(request, contents);
25
+ await FlowBuilderAction.trackAllContents(request, filteredContents);
26
+ await FlowBuilderAction.doHandoffAndBotActions(request, filteredContents);
27
+ return { contents: filteredContents };
27
28
  }
28
- static botonicInit(request, contentID) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const contents = yield getContents(request, contentID);
31
- const filteredContents = yield filterContents(request, contents);
32
- yield FlowBuilderAction.trackAllContents(request, filteredContents);
33
- yield FlowBuilderAction.doHandoffAndBotActions(request, filteredContents);
34
- return { contents: filteredContents };
35
- });
29
+ static async botonicInit(request, contentID) {
30
+ const contents = await getContents(request, contentID);
31
+ const filteredContents = await filterContents(request, contents);
32
+ await FlowBuilderAction.trackAllContents(request, filteredContents);
33
+ await FlowBuilderAction.doHandoffAndBotActions(request, filteredContents);
34
+ return { contents: filteredContents };
36
35
  }
37
- static trackAllContents(request, contents) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- for (const content of contents) {
40
- yield content.trackFlow(request);
41
- }
42
- });
36
+ static async trackAllContents(request, contents) {
37
+ for (const content of contents) {
38
+ await content.trackFlow(request);
39
+ }
43
40
  }
44
- static doHandoffAndBotActions(request, contents) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const handoffContent = contents.find(content => content instanceof FlowHandoff);
47
- if (handoffContent) {
48
- yield handoffContent.doHandoff(request);
49
- }
50
- const botActionContent = contents.find(content => content instanceof FlowBotAction);
51
- if (botActionContent) {
52
- botActionContent.doBotAction(request);
53
- }
54
- });
41
+ static async doHandoffAndBotActions(request, contents) {
42
+ const handoffContent = contents.find(content => content instanceof content_fields_1.FlowHandoff);
43
+ if (handoffContent) {
44
+ await handoffContent.doHandoff(request);
45
+ }
46
+ const botActionContent = contents.find(content => content instanceof flow_bot_action_1.FlowBotAction);
47
+ if (botActionContent) {
48
+ botActionContent.doBotAction(request);
49
+ }
55
50
  }
56
51
  render() {
57
52
  const { contents, webchatSettingsParams } = this.props;
58
53
  const request = this.context;
59
- const shouldSendWebchatSettings = (isWebchat(request.session) || isDev(request.session)) &&
54
+ const shouldSendWebchatSettings = ((0, core_1.isWebchat)(request.session) || (0, core_1.isDev)(request.session)) &&
60
55
  !!webchatSettingsParams;
61
- return (_jsxs(_Fragment, { children: [shouldSendWebchatSettings && (_jsx(WebchatSettings, Object.assign({}, webchatSettingsParams))), contents.map(content => content.toBotonic(content.id, request))] }));
56
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [shouldSendWebchatSettings && ((0, jsx_runtime_1.jsx)(react_1.WebchatSettings, { ...webchatSettingsParams })), contents.map(content => content.toBotonic(content.id, request))] }));
62
57
  }
63
58
  }
64
- FlowBuilderAction.contextType = RequestContext;
65
- export class FlowBuilderMultichannelAction extends FlowBuilderAction {
59
+ exports.FlowBuilderAction = FlowBuilderAction;
60
+ FlowBuilderAction.contextType = react_1.RequestContext;
61
+ class FlowBuilderMultichannelAction extends FlowBuilderAction {
66
62
  render() {
67
63
  const { contents, webchatSettingsParams } = this.props;
68
64
  const request = this.context;
69
- const shouldSendWebchatSettings = (isWebchat(request.session) || isDev(request.session)) &&
65
+ const shouldSendWebchatSettings = ((0, core_1.isWebchat)(request.session) || (0, core_1.isDev)(request.session)) &&
70
66
  !!webchatSettingsParams;
71
- return (_jsxs(Multichannel, Object.assign({ text: { buttonsAsText: false } }, { children: [shouldSendWebchatSettings && (_jsx(WebchatSettings, Object.assign({}, webchatSettingsParams))), contents.map(content => content.toBotonic(content.id, request))] })));
67
+ return ((0, jsx_runtime_1.jsxs)(react_1.Multichannel, { text: { buttonsAsText: false }, children: [shouldSendWebchatSettings && ((0, jsx_runtime_1.jsx)(react_1.WebchatSettings, { ...webchatSettingsParams })), contents.map(content => content.toBotonic(content.id, request))] }));
72
68
  }
73
69
  }
74
- function getContents(request, contentID) {
75
- var _a;
76
- return __awaiter(this, void 0, void 0, function* () {
77
- const context = getContext(request, contentID);
78
- if (request.session.is_first_interaction) {
79
- return yield getContentsByFirstInteraction(context);
80
- }
81
- // TODO: Add needed logic when we can define contents for multi locale queue position message
82
- if (request.input.type === INPUT.EVENT_QUEUE_POSITION_CHANGED) {
83
- return [];
84
- }
85
- if ((_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith(EMPTY_PAYLOAD)) {
86
- request.input.payload = undefined;
70
+ exports.FlowBuilderMultichannelAction = FlowBuilderMultichannelAction;
71
+ async function getContents(request, contentID) {
72
+ const context = getContext(request, contentID);
73
+ if (request.session.is_first_interaction) {
74
+ return await (0, first_interaction_1.getContentsByFirstInteraction)(context);
75
+ }
76
+ // TODO: Add needed logic when we can define contents for multi locale queue position message
77
+ if (request.input.type === core_1.INPUT.EVENT_QUEUE_POSITION_CHANGED) {
78
+ return [];
79
+ }
80
+ if (request.input.payload?.startsWith(constants_1.EMPTY_PAYLOAD)) {
81
+ request.input.payload = undefined;
82
+ }
83
+ if (request.input.payload || contentID) {
84
+ const contentsByPayload = await (0, payload_1.getContentsByPayload)(context);
85
+ if (contentsByPayload.length > 0) {
86
+ return contentsByPayload;
87
87
  }
88
- if (request.input.payload || contentID) {
89
- const contentsByPayload = yield getContentsByPayload(context);
90
- if (contentsByPayload.length > 0) {
91
- return contentsByPayload;
92
- }
93
- return yield getContentsByFallback(context);
88
+ return await (0, fallback_1.getContentsByFallback)(context);
89
+ }
90
+ if ((0, utils_1.inputHasTextData)(request.input)) {
91
+ const aiAgentContents = await (0, ai_agent_1.getContentsByAiAgent)(context);
92
+ if (aiAgentContents.length > 0) {
93
+ return aiAgentContents;
94
94
  }
95
- if (inputHasTextData(request.input)) {
96
- const aiAgentContents = yield getContentsByAiAgent(context);
97
- if (aiAgentContents.length > 0) {
98
- return aiAgentContents;
99
- }
100
- const knowledgeBaseContents = yield getContentsByKnowledgeBase(context);
101
- if (knowledgeBaseContents.length > 0) {
102
- return knowledgeBaseContents;
103
- }
95
+ const knowledgeBaseContents = await (0, knowledge_bases_1.getContentsByKnowledgeBase)(context);
96
+ if (knowledgeBaseContents.length > 0) {
97
+ return knowledgeBaseContents;
104
98
  }
105
- return yield getContentsByFallback(context);
106
- });
99
+ }
100
+ return await (0, fallback_1.getContentsByFallback)(context);
107
101
  }
108
- function filterContents(request, contents) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
111
- const contentFilters = flowBuilderPlugin.contentFilters;
112
- const contentFilterExecutor = new ContentFilterExecutor({
113
- filters: contentFilters,
114
- });
115
- const filteredContents = [];
116
- for (const content of contents) {
117
- const filteredContent = yield contentFilterExecutor.filter(request, content);
118
- filteredContents.push(filteredContent);
119
- }
120
- return filteredContents;
102
+ async function filterContents(request, contents) {
103
+ const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
104
+ const contentFilters = flowBuilderPlugin.contentFilters;
105
+ const contentFilterExecutor = new filters_1.ContentFilterExecutor({
106
+ filters: contentFilters,
121
107
  });
108
+ const filteredContents = [];
109
+ for (const content of contents) {
110
+ const filteredContent = await contentFilterExecutor.filter(request, content);
111
+ filteredContents.push(filteredContent);
112
+ }
113
+ return filteredContents;
122
114
  }
123
115
  function getContext(request, contentID) {
124
- const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins);
116
+ const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
125
117
  const cmsApi = flowBuilderPlugin.cmsApi;
126
118
  const resolvedLocale = flowBuilderPlugin.cmsApi.getResolvedLocale();
127
119
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAc,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAEL,YAAY,EACZ,cAAc,EACd,eAAe,GAEhB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAOhD,MAAM,OAAO,iBAAkB,SAAQ,KAAK,CAAC,SAAiC;IAI5E,MAAM,CAAO,wBAAwB,CACnC,OAAsB;;YAEtB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;YACnC,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAA;YAC7D,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAChE,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YACnE,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YAEzE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;QACvC,CAAC;KAAA;IAED,MAAM,CAAO,WAAW,CACtB,OAAsB,EACtB,SAAkB;;YAElB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YACtD,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAChE,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YACnE,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;YAEzE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;QACvC,CAAC;KAAA;IAED,MAAM,CAAO,gBAAgB,CAC3B,OAAsB,EACtB,QAAuB;;YAEvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;aACjC;QACH,CAAC;KAAA;IAED,MAAM,CAAO,sBAAsB,CACjC,OAAsB,EACtB,QAAuB;;YAEvB,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,WAAW,CAC3B,CAAA;YAChB,IAAI,cAAc,EAAE;gBAClB,MAAM,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;aACxC;YAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CACpC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,aAAa,CAC3B,CAAA;YAClB,IAAI,gBAAgB,EAAE;gBACpB,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;aACtC;QACH,CAAC;KAAA;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAwB,CAAA;QAC7C,MAAM,yBAAyB,GAC7B,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC,qBAAqB,CAAA;QAEzB,OAAO,CACL,8BACG,yBAAyB,IAAI,CAC5B,KAAC,eAAe,oBAAK,qBAAqB,EAAI,CAC/C,EACA,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAC/D,CACJ,CAAA;IACH,CAAC;;AAtEM,6BAAW,GAAG,cAAc,CAAA;AAyErC,MAAM,OAAO,6BAA8B,SAAQ,iBAAiB;IAClE,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAwB,CAAA;QAC7C,MAAM,yBAAyB,GAC7B,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC,qBAAqB,CAAA;QAEzB,OAAO,CACL,MAAC,YAAY,kBAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,iBACzC,yBAAyB,IAAI,CAC5B,KAAC,eAAe,oBAAK,qBAAqB,EAAI,CAC/C,EACA,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,KACnD,CAChB,CAAA;IACH,CAAC;CACF;AAED,SAAe,WAAW,CACxB,OAAsB,EACtB,SAAkB;;;QAElB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAE9C,IAAI,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE;YACxC,OAAO,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAA;SACpD;QACD,6FAA6F;QAC7F,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,4BAA4B,EAAE;YAC7D,OAAO,EAAE,CAAA;SACV;QAED,IAAI,MAAA,OAAO,CAAC,KAAK,CAAC,OAAO,0CAAE,UAAU,CAAC,aAAa,CAAC,EAAE;YACpD,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;SAClC;QAED,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE;YACtC,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;YAC7D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,OAAO,iBAAiB,CAAA;aACzB;YAED,OAAO,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAA;SAC5C;QAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACnC,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;YAC3D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,OAAO,eAAe,CAAA;aACvB;YACD,MAAM,qBAAqB,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAA;YACvE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpC,OAAO,qBAAqB,CAAA;aAC7B;SACF;QAED,OAAO,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAA;;CAC5C;AAED,SAAe,cAAc,CAC3B,OAAmB,EACnB,QAAuB;;QAEvB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/D,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAA;QACvD,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC;YACtD,OAAO,EAAE,cAAc;SACxB,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAkB,EAAE,CAAA;QAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC9B,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC5E,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;SACvC;QAED,OAAO,gBAAgB,CAAA;IACzB,CAAC;CAAA;AAUD,SAAS,UAAU,CACjB,OAAsB,EACtB,SAAkB;IAElB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAA;IACnE,OAAO;QACL,MAAM;QACN,iBAAiB;QACjB,OAAO;QACP,cAAc;QACd,SAAS;KACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/action/index.tsx"],"names":[],"mappings":";;;;;AAAA,wCAAmE;AACnE,0CAMuB;AACvB,0DAAyB;AAGzB,4CAA4C;AAC5C,sDAA4D;AAC5D,uEAAiE;AACjE,wCAAkD;AAClD,wCAAiD;AAEjD,oCAA2C;AAC3C,yCAAiD;AACjD,yCAAkD;AAClD,2DAAmE;AACnE,uDAA8D;AAC9D,uCAAgD;AAOhD,MAAa,iBAAkB,SAAQ,eAAK,CAAC,SAAiC;IAI5E,MAAM,CAAC,KAAK,CAAC,wBAAwB,CACnC,OAAsB;QAEtB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAA,iDAA6B,EAAC,OAAO,CAAC,CAAA;QAC7D,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAChE,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QACnE,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAEzE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,OAAsB,EACtB,SAAkB;QAElB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACtD,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAChE,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QACnE,MAAM,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAEzE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,OAAsB,EACtB,QAAuB;QAEvB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,sBAAsB,CACjC,OAAsB,EACtB,QAAuB;QAEvB,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,4BAAW,CAC3B,CAAA;QAChB,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACzC,CAAC;QAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CACpC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,+BAAa,CAC3B,CAAA;QAClB,IAAI,gBAAgB,EAAE,CAAC;YACrB,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAwB,CAAA;QAC7C,MAAM,yBAAyB,GAC7B,CAAC,IAAA,gBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAA,YAAK,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC,qBAAqB,CAAA;QAEzB,OAAO,CACL,6DACG,yBAAyB,IAAI,CAC5B,uBAAC,uBAAe,OAAK,qBAAqB,GAAI,CAC/C,EACA,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IAC/D,CACJ,CAAA;IACH,CAAC;;AAvEH,8CAwEC;AAvEQ,6BAAW,GAAG,sBAAc,CAAA;AAyErC,MAAa,6BAA8B,SAAQ,iBAAiB;IAClE,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAwB,CAAA;QAC7C,MAAM,yBAAyB,GAC7B,CAAC,IAAA,gBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAA,YAAK,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC,qBAAqB,CAAA;QAEzB,OAAO,CACL,wBAAC,oBAAY,IAAC,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aACzC,yBAAyB,IAAI,CAC5B,uBAAC,uBAAe,OAAK,qBAAqB,GAAI,CAC/C,EACA,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,IACnD,CAChB,CAAA;IACH,CAAC;CACF;AAjBD,sEAiBC;AAED,KAAK,UAAU,WAAW,CACxB,OAAsB,EACtB,SAAkB;IAElB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAE9C,IAAI,OAAO,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACzC,OAAO,MAAM,IAAA,iDAA6B,EAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IACD,6FAA6F;IAC7F,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAK,CAAC,4BAA4B,EAAE,CAAC;QAC9D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,yBAAa,CAAC,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;IACnC,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;QACvC,MAAM,iBAAiB,GAAG,MAAM,IAAA,8BAAoB,EAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,iBAAiB,CAAA;QAC1B,CAAC;QAED,OAAO,MAAM,IAAA,gCAAqB,EAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,IAAA,wBAAgB,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,eAAe,GAAG,MAAM,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAA;QAC3D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,eAAe,CAAA;QACxB,CAAC;QACD,MAAM,qBAAqB,GAAG,MAAM,IAAA,4CAA0B,EAAC,OAAO,CAAC,CAAA;QACvE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,qBAAqB,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,IAAA,gCAAqB,EAAC,OAAO,CAAC,CAAA;AAC7C,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAmB,EACnB,QAAuB;IAEvB,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,MAAM,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAA;IACvD,MAAM,qBAAqB,GAAG,IAAI,+BAAqB,CAAC;QACtD,OAAO,EAAE,cAAc;KACxB,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAkB,EAAE,CAAA;IAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,eAAe,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC5E,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAUD,SAAS,UAAU,CACjB,OAAsB,EACtB,SAAkB;IAElB,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;IACvC,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAA;IACnE,OAAO;QACL,MAAM;QACN,iBAAiB;QACjB,OAAO;QACP,cAAc;QACd,SAAS;KACV,CAAA;AACH,CAAC"}
@@ -1,89 +1,85 @@
1
- import { __awaiter, __rest } from "tslib";
2
- import { EventAction, KnowledgebaseFailReason, } from '@botonic/core';
3
- import { DISABLED_MEMORY_LENGTH, FlowKnowledgeBase, } from '../content-fields';
4
- import { getCommonFlowContentEventArgsForContentId, trackEvent, } from '../tracking';
5
- import { inputHasTextData, isKnowledgeBasesAllowed } from '../utils';
6
- export function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request, }) {
7
- return __awaiter(this, void 0, void 0, function* () {
8
- if (isKnowledgeBasesAllowed(request)) {
9
- const startNodeKnowledgeBaseFlow = cmsApi.getStartNodeKnowledgeBaseFlow();
10
- const isKnowledgeBaseEnabled = cmsApi.isKnowledgeBaseEnabled();
11
- if (!startNodeKnowledgeBaseFlow || !isKnowledgeBaseEnabled) {
12
- return [];
13
- }
14
- const contents = yield flowBuilderPlugin.getContentsByNode(startNodeKnowledgeBaseFlow);
15
- const knowledgeBaseContent = contents.find(content => content instanceof FlowKnowledgeBase);
16
- if (!knowledgeBaseContent) {
17
- return contents;
18
- }
19
- const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
20
- if (flowBuilderPlugin.getKnowledgeBaseResponse &&
21
- inputHasTextData(request.input) &&
22
- sourceIds.length > 0) {
23
- const contentsWithKnowledgeResponse = yield getContentsWithKnowledgeResponse(flowBuilderPlugin.getKnowledgeBaseResponse, request, contents, knowledgeBaseContent);
24
- if (contentsWithKnowledgeResponse) {
25
- return contentsWithKnowledgeResponse;
26
- }
27
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContentsByKnowledgeBase = getContentsByKnowledgeBase;
4
+ const core_1 = require("@botonic/core");
5
+ const content_fields_1 = require("../content-fields");
6
+ const tracking_1 = require("../tracking");
7
+ const utils_1 = require("../utils");
8
+ async function getContentsByKnowledgeBase({ cmsApi, flowBuilderPlugin, request, }) {
9
+ if ((0, utils_1.isKnowledgeBasesAllowed)(request)) {
10
+ const startNodeKnowledgeBaseFlow = cmsApi.getStartNodeKnowledgeBaseFlow();
11
+ const isKnowledgeBaseEnabled = cmsApi.isKnowledgeBaseEnabled();
12
+ if (!startNodeKnowledgeBaseFlow || !isKnowledgeBaseEnabled) {
13
+ return [];
14
+ }
15
+ const contents = await flowBuilderPlugin.getContentsByNode(startNodeKnowledgeBaseFlow);
16
+ const knowledgeBaseContent = contents.find(content => content instanceof content_fields_1.FlowKnowledgeBase);
17
+ if (!knowledgeBaseContent) {
18
+ return contents;
28
19
  }
29
- return [];
30
- });
31
- }
32
- function getContentsWithKnowledgeResponse(getKnowledgeBaseResponse, request, contents, knowledgeBaseContent) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
20
  const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
35
- const instructions = knowledgeBaseContent.instructions;
36
- const messageId = request.input.message_id;
37
- const memoryLength = knowledgeBaseContent.hasMemory
38
- ? knowledgeBaseContent.memoryLength
39
- : DISABLED_MEMORY_LENGTH;
40
- const knowledgeBaseResponse = yield getKnowledgeBaseResponse(request, sourceIds, instructions, messageId, memoryLength);
41
- yield trackKnowledgeBase(knowledgeBaseResponse, request, knowledgeBaseContent);
42
- if (!knowledgeBaseResponse.hasKnowledge ||
43
- !knowledgeBaseResponse.isFaithful) {
44
- return undefined;
21
+ if (flowBuilderPlugin.getKnowledgeBaseResponse &&
22
+ (0, utils_1.inputHasTextData)(request.input) &&
23
+ sourceIds.length > 0) {
24
+ const contentsWithKnowledgeResponse = await getContentsWithKnowledgeResponse(flowBuilderPlugin.getKnowledgeBaseResponse, request, contents, knowledgeBaseContent);
25
+ if (contentsWithKnowledgeResponse) {
26
+ return contentsWithKnowledgeResponse;
27
+ }
45
28
  }
46
- return updateContentsWithResponse(contents, knowledgeBaseResponse);
47
- });
29
+ }
30
+ return [];
31
+ }
32
+ async function getContentsWithKnowledgeResponse(getKnowledgeBaseResponse, request, contents, knowledgeBaseContent) {
33
+ const sourceIds = knowledgeBaseContent.sourcesData.map(source => source.id);
34
+ const instructions = knowledgeBaseContent.instructions;
35
+ const messageId = request.input.message_id;
36
+ const memoryLength = knowledgeBaseContent.hasMemory
37
+ ? knowledgeBaseContent.memoryLength
38
+ : content_fields_1.DISABLED_MEMORY_LENGTH;
39
+ const knowledgeBaseResponse = await getKnowledgeBaseResponse(request, sourceIds, instructions, messageId, memoryLength);
40
+ await trackKnowledgeBase(knowledgeBaseResponse, request, knowledgeBaseContent);
41
+ if (!knowledgeBaseResponse.hasKnowledge ||
42
+ !knowledgeBaseResponse.isFaithful) {
43
+ return undefined;
44
+ }
45
+ return updateContentsWithResponse(contents, knowledgeBaseResponse);
48
46
  }
49
47
  function updateContentsWithResponse(contents, response) {
50
48
  return contents.map(content => {
51
- if (content instanceof FlowKnowledgeBase) {
49
+ if (content instanceof content_fields_1.FlowKnowledgeBase) {
52
50
  content.text = response.answer;
53
51
  content.inferenceId = response.inferenceId;
54
52
  }
55
53
  return content;
56
54
  });
57
55
  }
58
- function trackKnowledgeBase(response, request, knowledgeBaseContent) {
59
- return __awaiter(this, void 0, void 0, function* () {
60
- const getKnowledgeFailReason = () => {
61
- let knowledgebaseFailReason;
62
- if (!response.isFaithful) {
63
- knowledgebaseFailReason = KnowledgebaseFailReason.Hallucination;
64
- }
65
- if (!response.hasKnowledge) {
66
- knowledgebaseFailReason = KnowledgebaseFailReason.NoKnowledge;
67
- }
68
- return knowledgebaseFailReason;
69
- };
70
- const { flowId, flowName, flowNodeId, flowNodeContentId } = getCommonFlowContentEventArgsForContentId(request, knowledgeBaseContent.id);
71
- const event = {
72
- action: EventAction.Knowledgebase,
73
- knowledgebaseInferenceId: response.inferenceId,
74
- knowledgebaseFailReason: getKnowledgeFailReason(),
75
- knowledgebaseSourcesIds: knowledgeBaseContent.sourcesData.map(source => source.id),
76
- knowledgebaseChunksIds: response.chunkIds,
77
- knowledgebaseMessageId: request.input.message_id,
78
- userInput: request.input.data,
79
- flowThreadId: request.session.flow_thread_id,
80
- flowId,
81
- flowName,
82
- flowNodeId,
83
- flowNodeContentId,
84
- };
85
- const { action } = event, eventArgs = __rest(event, ["action"]);
86
- yield trackEvent(request, action, eventArgs);
87
- });
56
+ async function trackKnowledgeBase(response, request, knowledgeBaseContent) {
57
+ const getKnowledgeFailReason = () => {
58
+ let knowledgebaseFailReason;
59
+ if (!response.isFaithful) {
60
+ knowledgebaseFailReason = core_1.KnowledgebaseFailReason.Hallucination;
61
+ }
62
+ if (!response.hasKnowledge) {
63
+ knowledgebaseFailReason = core_1.KnowledgebaseFailReason.NoKnowledge;
64
+ }
65
+ return knowledgebaseFailReason;
66
+ };
67
+ const { flowId, flowName, flowNodeId, flowNodeContentId } = (0, tracking_1.getCommonFlowContentEventArgsForContentId)(request, knowledgeBaseContent.id);
68
+ const event = {
69
+ action: core_1.EventAction.Knowledgebase,
70
+ knowledgebaseInferenceId: response.inferenceId,
71
+ knowledgebaseFailReason: getKnowledgeFailReason(),
72
+ knowledgebaseSourcesIds: knowledgeBaseContent.sourcesData.map(source => source.id),
73
+ knowledgebaseChunksIds: response.chunkIds,
74
+ knowledgebaseMessageId: request.input.message_id,
75
+ userInput: request.input.data,
76
+ flowThreadId: request.session.flow_thread_id,
77
+ flowId,
78
+ flowName,
79
+ flowNodeId,
80
+ flowNodeContentId,
81
+ };
82
+ const { action, ...eventArgs } = event;
83
+ await (0, tracking_1.trackEvent)(request, action, eventArgs);
88
84
  }
89
85
  //# sourceMappingURL=knowledge-bases.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-bases.js","sourceRoot":"","sources":["../../../src/action/knowledge-bases.ts"],"names":[],"mappings":"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"}
@@ -1,79 +1,74 @@
1
- import { __awaiter } from "tslib";
2
- import { EventAction, storeCaseRating } from '@botonic/core';
3
- import { v7 as uuid } from 'uuid';
4
- import { AGENT_RATING_PAYLOAD, PUSH_FLOW_PAYLOAD, SEPARATOR, } from '../constants';
5
- import { trackEvent } from '../tracking';
6
- export function getContentsByPayload(context) {
7
- var _a, _b, _c;
8
- return __awaiter(this, void 0, void 0, function* () {
9
- const { cmsApi, flowBuilderPlugin, request, contentID } = context;
10
- if ((_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.startsWith(AGENT_RATING_PAYLOAD)) {
11
- return yield resolveRatingPayload(context);
12
- }
13
- if ((_b = request.input.payload) === null || _b === void 0 ? void 0 : _b.startsWith(PUSH_FLOW_PAYLOAD)) {
14
- return yield resolvePushFlowPayload(context);
15
- }
16
- const id = contentID
17
- ? (_c = cmsApi.getNodeByContentID(contentID)) === null || _c === void 0 ? void 0 : _c.id
18
- : request.input.payload;
19
- const targetNode = id ? cmsApi.getNodeById(id) : undefined;
20
- if (targetNode) {
21
- return yield flowBuilderPlugin.getContentsByNode(targetNode);
22
- }
23
- return [];
24
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getContentsByPayload = getContentsByPayload;
4
+ const core_1 = require("@botonic/core");
5
+ const uuid_1 = require("uuid");
6
+ const constants_1 = require("../constants");
7
+ const tracking_1 = require("../tracking");
8
+ async function getContentsByPayload(context) {
9
+ const { cmsApi, flowBuilderPlugin, request, contentID } = context;
10
+ if (request.input.payload?.startsWith(constants_1.AGENT_RATING_PAYLOAD)) {
11
+ return await resolveRatingPayload(context);
12
+ }
13
+ if (request.input.payload?.startsWith(constants_1.PUSH_FLOW_PAYLOAD)) {
14
+ return await resolvePushFlowPayload(context);
15
+ }
16
+ const id = contentID
17
+ ? cmsApi.getNodeByContentID(contentID)?.id
18
+ : request.input.payload;
19
+ const targetNode = id ? cmsApi.getNodeById(id) : undefined;
20
+ if (targetNode) {
21
+ return await flowBuilderPlugin.getContentsByNode(targetNode);
22
+ }
23
+ return [];
25
24
  }
26
- function resolveRatingPayload(context) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- const { cmsApi, flowBuilderPlugin, request } = context;
29
- if (!request.input.payload) {
30
- return [];
31
- }
32
- const { target, text, value, possibleOptions, possibleValues } = flowBuilderPlugin.getRatingSubmittedInfo(request.input.payload);
33
- if (request.session._hubtype_case_id) {
34
- const event = {
35
- action: EventAction.FeedbackCase,
36
- feedbackTargetId: request.session._hubtype_case_id,
37
- feedbackGroupId: uuid().toString(),
38
- possibleOptions,
39
- possibleValues,
40
- option: text,
41
- value,
42
- };
43
- yield storeCaseRating(request.session, value);
44
- yield trackEvent(request, EventAction.FeedbackCase, event);
45
- }
46
- const targetNode = target
47
- ? cmsApi.getNodeById(target.id)
48
- : undefined;
49
- if (targetNode) {
50
- return yield flowBuilderPlugin.getContentsByNode(targetNode);
51
- }
25
+ async function resolveRatingPayload(context) {
26
+ const { cmsApi, flowBuilderPlugin, request } = context;
27
+ if (!request.input.payload) {
52
28
  return [];
53
- });
29
+ }
30
+ const { target, text, value, possibleOptions, possibleValues } = flowBuilderPlugin.getRatingSubmittedInfo(request.input.payload);
31
+ if (request.session._hubtype_case_id) {
32
+ const event = {
33
+ action: core_1.EventAction.FeedbackCase,
34
+ feedbackTargetId: request.session._hubtype_case_id,
35
+ feedbackGroupId: (0, uuid_1.v7)().toString(),
36
+ possibleOptions,
37
+ possibleValues,
38
+ option: text,
39
+ value,
40
+ };
41
+ await (0, core_1.storeCaseRating)(request.session, value);
42
+ await (0, tracking_1.trackEvent)(request, core_1.EventAction.FeedbackCase, event);
43
+ }
44
+ const targetNode = target
45
+ ? cmsApi.getNodeById(target.id)
46
+ : undefined;
47
+ if (targetNode) {
48
+ return await flowBuilderPlugin.getContentsByNode(targetNode);
49
+ }
50
+ return [];
54
51
  }
55
- function resolvePushFlowPayload(context) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const { cmsApi, flowBuilderPlugin, request } = context;
58
- if (!request.input.payload) {
59
- return [];
60
- }
61
- const parts = request.input.payload.split(SEPARATOR);
62
- const pushFlowId = parts.length > 1 ? parts[1] : '';
63
- if (!pushFlowId) {
64
- return [];
65
- }
66
- try {
67
- const pushFlowNode = cmsApi.getNodeByCampaignId(pushFlowId);
68
- if (!pushFlowNode) {
69
- return [];
70
- }
71
- return yield flowBuilderPlugin.getContentsByNode(pushFlowNode);
72
- }
73
- catch (_a) {
74
- // Campaign not found - return empty to trigger fallback
52
+ async function resolvePushFlowPayload(context) {
53
+ const { cmsApi, flowBuilderPlugin, request } = context;
54
+ if (!request.input.payload) {
55
+ return [];
56
+ }
57
+ const parts = request.input.payload.split(constants_1.SEPARATOR);
58
+ const pushFlowId = parts.length > 1 ? parts[1] : '';
59
+ if (!pushFlowId) {
60
+ return [];
61
+ }
62
+ try {
63
+ const pushFlowNode = cmsApi.getNodeByCampaignId(pushFlowId);
64
+ if (!pushFlowNode) {
75
65
  return [];
76
66
  }
77
- });
67
+ return await flowBuilderPlugin.getContentsByNode(pushFlowNode);
68
+ }
69
+ catch {
70
+ // Campaign not found - return empty to trigger fallback
71
+ return [];
72
+ }
78
73
  }
79
74
  //# sourceMappingURL=payload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/action/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/action/payload.ts"],"names":[],"mappings":"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"}