@botonic/plugin-flow-builder 0.46.2 → 0.47.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 (316) hide show
  1. package/lib/cjs/action/ai-agent-from-user-input.d.ts +3 -0
  2. package/lib/cjs/action/ai-agent-from-user-input.js +23 -0
  3. package/lib/cjs/action/ai-agent-from-user-input.js.map +1 -0
  4. package/lib/cjs/action/context.d.ts +11 -0
  5. package/lib/cjs/action/context.js +17 -0
  6. package/lib/cjs/action/context.js.map +1 -0
  7. package/lib/cjs/action/fallback.d.ts +1 -1
  8. package/lib/cjs/action/first-interaction.d.ts +1 -1
  9. package/lib/cjs/action/first-interaction.js +4 -4
  10. package/lib/cjs/action/first-interaction.js.map +1 -1
  11. package/lib/cjs/action/get-contents.d.ts +3 -0
  12. package/lib/cjs/action/get-contents.js +44 -0
  13. package/lib/cjs/action/get-contents.js.map +1 -0
  14. package/lib/cjs/action/index.d.ts +6 -15
  15. package/lib/cjs/action/index.js +31 -94
  16. package/lib/cjs/action/index.js.map +1 -1
  17. package/lib/cjs/action/knowledge-bases.d.ts +1 -1
  18. package/lib/cjs/action/knowledge-bases.js +3 -3
  19. package/lib/cjs/action/knowledge-bases.js.map +1 -1
  20. package/lib/cjs/action/payload.d.ts +1 -1
  21. package/lib/cjs/api.d.ts +0 -1
  22. package/lib/cjs/api.js +0 -7
  23. package/lib/cjs/api.js.map +1 -1
  24. package/lib/cjs/content-fields/content-fields-base.d.ts +5 -4
  25. package/lib/cjs/content-fields/content-fields-base.js +7 -7
  26. package/lib/cjs/content-fields/content-fields-base.js.map +1 -1
  27. package/lib/cjs/content-fields/flow-ai-agent.d.ts +14 -6
  28. package/lib/cjs/content-fields/flow-ai-agent.js +100 -17
  29. package/lib/cjs/content-fields/flow-ai-agent.js.map +1 -1
  30. package/lib/cjs/content-fields/flow-bot-action.d.ts +4 -2
  31. package/lib/cjs/content-fields/flow-bot-action.js +10 -5
  32. package/lib/cjs/content-fields/flow-bot-action.js.map +1 -1
  33. package/lib/cjs/content-fields/flow-button.d.ts +4 -2
  34. package/lib/cjs/content-fields/flow-button.js +5 -2
  35. package/lib/cjs/content-fields/flow-button.js.map +1 -1
  36. package/lib/cjs/content-fields/flow-capture-user-input.d.ts +4 -3
  37. package/lib/cjs/content-fields/flow-capture-user-input.js +7 -5
  38. package/lib/cjs/content-fields/flow-capture-user-input.js.map +1 -1
  39. package/lib/cjs/content-fields/flow-carousel.d.ts +4 -3
  40. package/lib/cjs/content-fields/flow-carousel.js +11 -7
  41. package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
  42. package/lib/cjs/content-fields/flow-channel-conditional.d.ts +5 -4
  43. package/lib/cjs/content-fields/flow-channel-conditional.js +10 -7
  44. package/lib/cjs/content-fields/flow-channel-conditional.js.map +1 -1
  45. package/lib/cjs/content-fields/flow-country-conditional.d.ts +5 -4
  46. package/lib/cjs/content-fields/flow-country-conditional.js +11 -7
  47. package/lib/cjs/content-fields/flow-country-conditional.js.map +1 -1
  48. package/lib/cjs/content-fields/flow-custom-conditional.d.ts +5 -4
  49. package/lib/cjs/content-fields/flow-custom-conditional.js +11 -7
  50. package/lib/cjs/content-fields/flow-custom-conditional.js.map +1 -1
  51. package/lib/cjs/content-fields/flow-element.d.ts +4 -4
  52. package/lib/cjs/content-fields/flow-element.js +7 -3
  53. package/lib/cjs/content-fields/flow-element.js.map +1 -1
  54. package/lib/cjs/content-fields/flow-go-to-flow.d.ts +3 -3
  55. package/lib/cjs/content-fields/flow-go-to-flow.js +7 -15
  56. package/lib/cjs/content-fields/flow-go-to-flow.js.map +1 -1
  57. package/lib/cjs/content-fields/flow-handoff.d.ts +5 -4
  58. package/lib/cjs/content-fields/flow-handoff.js +11 -7
  59. package/lib/cjs/content-fields/flow-handoff.js.map +1 -1
  60. package/lib/cjs/content-fields/flow-image.d.ts +4 -3
  61. package/lib/cjs/content-fields/flow-image.js +8 -4
  62. package/lib/cjs/content-fields/flow-image.js.map +1 -1
  63. package/lib/cjs/content-fields/flow-knowledge-base.d.ts +4 -3
  64. package/lib/cjs/content-fields/flow-knowledge-base.js +7 -3
  65. package/lib/cjs/content-fields/flow-knowledge-base.js.map +1 -1
  66. package/lib/cjs/content-fields/flow-queue-status-conditional.d.ts +3 -2
  67. package/lib/cjs/content-fields/flow-queue-status-conditional.js +7 -3
  68. package/lib/cjs/content-fields/flow-queue-status-conditional.js.map +1 -1
  69. package/lib/cjs/content-fields/flow-rating.d.ts +4 -3
  70. package/lib/cjs/content-fields/flow-rating.js +13 -9
  71. package/lib/cjs/content-fields/flow-rating.js.map +1 -1
  72. package/lib/cjs/content-fields/flow-text.d.ts +4 -4
  73. package/lib/cjs/content-fields/flow-text.js +10 -6
  74. package/lib/cjs/content-fields/flow-text.js.map +1 -1
  75. package/lib/cjs/content-fields/flow-video.d.ts +4 -3
  76. package/lib/cjs/content-fields/flow-video.js +8 -4
  77. package/lib/cjs/content-fields/flow-video.js.map +1 -1
  78. package/lib/cjs/content-fields/flow-webview.d.ts +3 -2
  79. package/lib/cjs/content-fields/flow-webview.js +6 -3
  80. package/lib/cjs/content-fields/flow-webview.js.map +1 -1
  81. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.d.ts +5 -3
  82. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js +14 -10
  83. package/lib/cjs/content-fields/flow-whatsapp-cta-url-button.js.map +1 -1
  84. package/lib/cjs/content-fields/flow-whatsapp-template.d.ts +5 -3
  85. package/lib/cjs/content-fields/flow-whatsapp-template.js +26 -22
  86. package/lib/cjs/content-fields/flow-whatsapp-template.js.map +1 -1
  87. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +4 -3
  88. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +6 -4
  89. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
  90. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +4 -3
  91. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +7 -5
  92. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
  93. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +4 -3
  94. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +10 -6
  95. package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
  96. package/lib/cjs/content-fields/whatsapp-button-list/index.d.ts +3 -0
  97. package/lib/cjs/content-fields/whatsapp-button-list/index.js +10 -0
  98. package/lib/cjs/content-fields/whatsapp-button-list/index.js.map +1 -0
  99. package/lib/cjs/filters/index.d.ts +1 -0
  100. package/lib/cjs/filters/index.js +15 -0
  101. package/lib/cjs/filters/index.js.map +1 -1
  102. package/lib/cjs/index.d.ts +1 -1
  103. package/lib/cjs/index.js +4 -8
  104. package/lib/cjs/index.js.map +1 -1
  105. package/lib/cjs/structured-output/flow-builder-content.js.map +1 -0
  106. package/lib/cjs/tracking.js +6 -6
  107. package/lib/cjs/tracking.js.map +1 -1
  108. package/lib/cjs/types.d.ts +1 -1
  109. package/lib/cjs/user-input/capture-user-input-api.js +4 -4
  110. package/lib/cjs/user-input/capture-user-input-api.js.map +1 -1
  111. package/lib/cjs/user-input/index.js +4 -4
  112. package/lib/cjs/user-input/index.js.map +1 -1
  113. package/lib/cjs/user-input/smart-intent.js +2 -2
  114. package/lib/cjs/user-input/smart-intent.js.map +1 -1
  115. package/lib/cjs/utils/ai-agent.d.ts +18 -0
  116. package/lib/cjs/utils/ai-agent.js +177 -0
  117. package/lib/cjs/utils/ai-agent.js.map +1 -0
  118. package/lib/cjs/utils/authentication.d.ts +2 -0
  119. package/lib/cjs/utils/authentication.js +21 -0
  120. package/lib/cjs/utils/authentication.js.map +1 -0
  121. package/lib/cjs/{helpers.d.ts → utils/get-flow-builder-plugin.d.ts} +1 -1
  122. package/lib/cjs/{helpers.js → utils/get-flow-builder-plugin.js} +1 -1
  123. package/lib/cjs/utils/get-flow-builder-plugin.js.map +1 -0
  124. package/lib/cjs/{utils.d.ts → utils/input.d.ts} +1 -2
  125. package/lib/cjs/{utils.js → utils/input.js} +3 -21
  126. package/lib/cjs/utils/input.js.map +1 -0
  127. package/lib/esm/action/ai-agent-from-user-input.d.ts +3 -0
  128. package/lib/esm/action/ai-agent-from-user-input.js +23 -0
  129. package/lib/esm/action/ai-agent-from-user-input.js.map +1 -0
  130. package/lib/esm/action/context.d.ts +11 -0
  131. package/lib/esm/action/context.js +17 -0
  132. package/lib/esm/action/context.js.map +1 -0
  133. package/lib/esm/action/fallback.d.ts +1 -1
  134. package/lib/esm/action/first-interaction.d.ts +1 -1
  135. package/lib/esm/action/first-interaction.js +4 -4
  136. package/lib/esm/action/first-interaction.js.map +1 -1
  137. package/lib/esm/action/get-contents.d.ts +3 -0
  138. package/lib/esm/action/get-contents.js +44 -0
  139. package/lib/esm/action/get-contents.js.map +1 -0
  140. package/lib/esm/action/index.d.ts +6 -15
  141. package/lib/esm/action/index.js +31 -94
  142. package/lib/esm/action/index.js.map +1 -1
  143. package/lib/esm/action/knowledge-bases.d.ts +1 -1
  144. package/lib/esm/action/knowledge-bases.js +3 -3
  145. package/lib/esm/action/knowledge-bases.js.map +1 -1
  146. package/lib/esm/action/payload.d.ts +1 -1
  147. package/lib/esm/api.d.ts +0 -1
  148. package/lib/esm/api.js +0 -7
  149. package/lib/esm/api.js.map +1 -1
  150. package/lib/esm/content-fields/content-fields-base.d.ts +5 -4
  151. package/lib/esm/content-fields/content-fields-base.js +7 -7
  152. package/lib/esm/content-fields/content-fields-base.js.map +1 -1
  153. package/lib/esm/content-fields/flow-ai-agent.d.ts +14 -6
  154. package/lib/esm/content-fields/flow-ai-agent.js +100 -17
  155. package/lib/esm/content-fields/flow-ai-agent.js.map +1 -1
  156. package/lib/esm/content-fields/flow-bot-action.d.ts +4 -2
  157. package/lib/esm/content-fields/flow-bot-action.js +10 -5
  158. package/lib/esm/content-fields/flow-bot-action.js.map +1 -1
  159. package/lib/esm/content-fields/flow-button.d.ts +4 -2
  160. package/lib/esm/content-fields/flow-button.js +5 -2
  161. package/lib/esm/content-fields/flow-button.js.map +1 -1
  162. package/lib/esm/content-fields/flow-capture-user-input.d.ts +4 -3
  163. package/lib/esm/content-fields/flow-capture-user-input.js +7 -5
  164. package/lib/esm/content-fields/flow-capture-user-input.js.map +1 -1
  165. package/lib/esm/content-fields/flow-carousel.d.ts +4 -3
  166. package/lib/esm/content-fields/flow-carousel.js +11 -7
  167. package/lib/esm/content-fields/flow-carousel.js.map +1 -1
  168. package/lib/esm/content-fields/flow-channel-conditional.d.ts +5 -4
  169. package/lib/esm/content-fields/flow-channel-conditional.js +10 -7
  170. package/lib/esm/content-fields/flow-channel-conditional.js.map +1 -1
  171. package/lib/esm/content-fields/flow-country-conditional.d.ts +5 -4
  172. package/lib/esm/content-fields/flow-country-conditional.js +11 -7
  173. package/lib/esm/content-fields/flow-country-conditional.js.map +1 -1
  174. package/lib/esm/content-fields/flow-custom-conditional.d.ts +5 -4
  175. package/lib/esm/content-fields/flow-custom-conditional.js +11 -7
  176. package/lib/esm/content-fields/flow-custom-conditional.js.map +1 -1
  177. package/lib/esm/content-fields/flow-element.d.ts +4 -4
  178. package/lib/esm/content-fields/flow-element.js +7 -3
  179. package/lib/esm/content-fields/flow-element.js.map +1 -1
  180. package/lib/esm/content-fields/flow-go-to-flow.d.ts +3 -3
  181. package/lib/esm/content-fields/flow-go-to-flow.js +7 -15
  182. package/lib/esm/content-fields/flow-go-to-flow.js.map +1 -1
  183. package/lib/esm/content-fields/flow-handoff.d.ts +5 -4
  184. package/lib/esm/content-fields/flow-handoff.js +11 -7
  185. package/lib/esm/content-fields/flow-handoff.js.map +1 -1
  186. package/lib/esm/content-fields/flow-image.d.ts +4 -3
  187. package/lib/esm/content-fields/flow-image.js +8 -4
  188. package/lib/esm/content-fields/flow-image.js.map +1 -1
  189. package/lib/esm/content-fields/flow-knowledge-base.d.ts +4 -3
  190. package/lib/esm/content-fields/flow-knowledge-base.js +7 -3
  191. package/lib/esm/content-fields/flow-knowledge-base.js.map +1 -1
  192. package/lib/esm/content-fields/flow-queue-status-conditional.d.ts +3 -2
  193. package/lib/esm/content-fields/flow-queue-status-conditional.js +7 -3
  194. package/lib/esm/content-fields/flow-queue-status-conditional.js.map +1 -1
  195. package/lib/esm/content-fields/flow-rating.d.ts +4 -3
  196. package/lib/esm/content-fields/flow-rating.js +13 -9
  197. package/lib/esm/content-fields/flow-rating.js.map +1 -1
  198. package/lib/esm/content-fields/flow-text.d.ts +4 -4
  199. package/lib/esm/content-fields/flow-text.js +10 -6
  200. package/lib/esm/content-fields/flow-text.js.map +1 -1
  201. package/lib/esm/content-fields/flow-video.d.ts +4 -3
  202. package/lib/esm/content-fields/flow-video.js +8 -4
  203. package/lib/esm/content-fields/flow-video.js.map +1 -1
  204. package/lib/esm/content-fields/flow-webview.d.ts +3 -2
  205. package/lib/esm/content-fields/flow-webview.js +6 -3
  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 +5 -3
  208. package/lib/esm/content-fields/flow-whatsapp-cta-url-button.js +14 -10
  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 +5 -3
  211. package/lib/esm/content-fields/flow-whatsapp-template.js +26 -22
  212. package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -1
  213. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.d.ts +4 -3
  214. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +6 -4
  215. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
  216. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.d.ts +4 -3
  217. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +7 -5
  218. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
  219. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.d.ts +4 -3
  220. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +10 -6
  221. package/lib/esm/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
  222. package/lib/esm/content-fields/whatsapp-button-list/index.d.ts +3 -0
  223. package/lib/esm/content-fields/whatsapp-button-list/index.js +10 -0
  224. package/lib/esm/content-fields/whatsapp-button-list/index.js.map +1 -0
  225. package/lib/esm/filters/index.d.ts +1 -0
  226. package/lib/esm/filters/index.js +15 -0
  227. package/lib/esm/filters/index.js.map +1 -1
  228. package/lib/esm/index.d.ts +1 -1
  229. package/lib/esm/index.js +4 -8
  230. package/lib/esm/index.js.map +1 -1
  231. package/lib/esm/structured-output/flow-builder-content.js.map +1 -0
  232. package/lib/esm/tracking.js +6 -6
  233. package/lib/esm/tracking.js.map +1 -1
  234. package/lib/esm/types.d.ts +1 -1
  235. package/lib/esm/user-input/capture-user-input-api.js +4 -4
  236. package/lib/esm/user-input/capture-user-input-api.js.map +1 -1
  237. package/lib/esm/user-input/index.js +4 -4
  238. package/lib/esm/user-input/index.js.map +1 -1
  239. package/lib/esm/user-input/smart-intent.js +2 -2
  240. package/lib/esm/user-input/smart-intent.js.map +1 -1
  241. package/lib/esm/utils/ai-agent.d.ts +18 -0
  242. package/lib/esm/utils/ai-agent.js +177 -0
  243. package/lib/esm/utils/ai-agent.js.map +1 -0
  244. package/lib/esm/utils/authentication.d.ts +2 -0
  245. package/lib/esm/utils/authentication.js +21 -0
  246. package/lib/esm/utils/authentication.js.map +1 -0
  247. package/lib/esm/{helpers.d.ts → utils/get-flow-builder-plugin.d.ts} +1 -1
  248. package/lib/esm/{helpers.js → utils/get-flow-builder-plugin.js} +1 -1
  249. package/lib/esm/utils/get-flow-builder-plugin.js.map +1 -0
  250. package/lib/esm/{utils.d.ts → utils/input.d.ts} +1 -2
  251. package/lib/esm/{utils.js → utils/input.js} +3 -21
  252. package/lib/esm/utils/input.js.map +1 -0
  253. package/package.json +2 -2
  254. package/src/action/ai-agent-from-user-input.ts +35 -0
  255. package/src/action/context.ts +29 -0
  256. package/src/action/fallback.ts +1 -1
  257. package/src/action/first-interaction.ts +4 -4
  258. package/src/action/get-contents.ts +51 -0
  259. package/src/action/index.tsx +42 -136
  260. package/src/action/knowledge-bases.ts +5 -2
  261. package/src/action/payload.ts +1 -1
  262. package/src/api.ts +0 -8
  263. package/src/content-fields/content-fields-base.ts +11 -9
  264. package/src/content-fields/flow-ai-agent.tsx +166 -31
  265. package/src/content-fields/flow-bot-action.tsx +17 -6
  266. package/src/content-fields/flow-button.tsx +8 -3
  267. package/src/content-fields/flow-capture-user-input.tsx +9 -6
  268. package/src/content-fields/flow-carousel.tsx +21 -11
  269. package/src/content-fields/flow-channel-conditional.tsx +16 -9
  270. package/src/content-fields/flow-country-conditional.tsx +17 -9
  271. package/src/content-fields/flow-custom-conditional.tsx +17 -9
  272. package/src/content-fields/flow-element.tsx +10 -11
  273. package/src/content-fields/flow-go-to-flow.tsx +10 -24
  274. package/src/content-fields/flow-handoff.tsx +21 -10
  275. package/src/content-fields/flow-image.tsx +11 -5
  276. package/src/content-fields/flow-knowledge-base.tsx +11 -5
  277. package/src/content-fields/flow-queue-status-conditional.tsx +13 -5
  278. package/src/content-fields/flow-rating.tsx +16 -16
  279. package/src/content-fields/flow-text.tsx +13 -7
  280. package/src/content-fields/flow-video.tsx +11 -5
  281. package/src/content-fields/flow-webview.tsx +12 -5
  282. package/src/content-fields/flow-whatsapp-cta-url-button.tsx +16 -12
  283. package/src/content-fields/flow-whatsapp-template.tsx +28 -24
  284. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.tsx +8 -5
  285. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.tsx +8 -6
  286. package/src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx +15 -15
  287. package/src/content-fields/whatsapp-button-list/index.ts +3 -0
  288. package/src/filters/index.ts +20 -0
  289. package/src/index.ts +3 -14
  290. package/src/tracking.ts +1 -1
  291. package/src/types.ts +1 -1
  292. package/src/user-input/capture-user-input-api.ts +2 -2
  293. package/src/user-input/index.ts +1 -1
  294. package/src/user-input/smart-intent.ts +1 -1
  295. package/src/utils/ai-agent.ts +233 -0
  296. package/src/utils/authentication.ts +23 -0
  297. package/src/{helpers.ts → utils/get-flow-builder-plugin.ts} +1 -1
  298. package/src/{utils.ts → utils/input.ts} +3 -23
  299. package/lib/cjs/action/ai-agent/index.d.ts +0 -3
  300. package/lib/cjs/action/ai-agent/index.js +0 -94
  301. package/lib/cjs/action/ai-agent/index.js.map +0 -1
  302. package/lib/cjs/action/ai-agent/structured-output/flow-builder-content.js.map +0 -1
  303. package/lib/cjs/helpers.js.map +0 -1
  304. package/lib/cjs/utils.js.map +0 -1
  305. package/lib/esm/action/ai-agent/index.d.ts +0 -3
  306. package/lib/esm/action/ai-agent/index.js +0 -94
  307. package/lib/esm/action/ai-agent/index.js.map +0 -1
  308. package/lib/esm/action/ai-agent/structured-output/flow-builder-content.js.map +0 -1
  309. package/lib/esm/helpers.js.map +0 -1
  310. package/lib/esm/utils.js.map +0 -1
  311. package/src/action/ai-agent/index.ts +0 -138
  312. /package/lib/cjs/{action/ai-agent/structured-output → structured-output}/flow-builder-content.d.ts +0 -0
  313. /package/lib/cjs/{action/ai-agent/structured-output → structured-output}/flow-builder-content.js +0 -0
  314. /package/lib/esm/{action/ai-agent/structured-output → structured-output}/flow-builder-content.d.ts +0 -0
  315. /package/lib/esm/{action/ai-agent/structured-output → structured-output}/flow-builder-content.js +0 -0
  316. /package/src/{action/ai-agent/structured-output → structured-output}/flow-builder-content.ts +0 -0
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getContentsByAiAgent = getContentsByAiAgent;
4
- const core_1 = require("@botonic/core");
5
- const content_fields_1 = require("../../content-fields");
6
- const helpers_1 = require("../../helpers");
7
- const tracking_1 = require("../../tracking");
8
- const flow_builder_content_1 = require("./structured-output/flow-builder-content");
9
- async function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
10
- const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow();
11
- const isAiAgentEnabled = cmsApi.isAiAgentEnabled();
12
- if (!startNodeAiAgentFlow || !isAiAgentEnabled) {
13
- return [];
14
- }
15
- const contents = await flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow);
16
- const aiAgentContent = contents.find(content => content instanceof content_fields_1.FlowAiAgent);
17
- if (!aiAgentContent) {
18
- return [];
19
- }
20
- const activeInputGuardrailRules = aiAgentContent.inputGuardrailRules
21
- ?.filter(rule => rule.is_active)
22
- ?.map(rule => ({
23
- name: rule.name,
24
- description: rule.description,
25
- })) || [];
26
- const aiAgentResponse = await flowBuilderPlugin.getAiAgentResponse?.(request, {
27
- name: aiAgentContent.name,
28
- instructions: aiAgentContent.instructions,
29
- model: aiAgentContent.model,
30
- verbosity: aiAgentContent.verbosity,
31
- activeTools: aiAgentContent.activeTools,
32
- inputGuardrailRules: activeInputGuardrailRules,
33
- sourceIds: aiAgentContent.sources?.map(source => source.id),
34
- outputMessagesSchemas: [flow_builder_content_1.FlowBuilderContentSchema],
35
- });
36
- if (!aiAgentResponse) {
37
- return [];
38
- }
39
- await trackAiAgentResponse(aiAgentResponse, request, aiAgentContent);
40
- if (aiAgentResponse.exit) {
41
- return [];
42
- }
43
- const regularMessages = [];
44
- const flowBuilderContentMessages = [];
45
- for (const message of aiAgentResponse.messages) {
46
- if (message.type === 'flowBuilderContent') {
47
- flowBuilderContentMessages.push(message);
48
- }
49
- else {
50
- regularMessages.push(message);
51
- }
52
- }
53
- const result = [];
54
- if (regularMessages.length > 0) {
55
- aiAgentContent.responses = regularMessages;
56
- result.push(...contents);
57
- }
58
- for (const fbMessage of flowBuilderContentMessages) {
59
- try {
60
- const node = cmsApi.getNodeByContentID(fbMessage.contentId);
61
- const targetNode = cmsApi.getNodeById(node.id);
62
- const flowContents = await flowBuilderPlugin.getContentsByNode(targetNode);
63
- result.push(...flowContents);
64
- }
65
- catch (error) {
66
- console.warn(`Could not resolve flowBuilderContent with contentId "${fbMessage.contentId}":`, error);
67
- }
68
- }
69
- return result;
70
- }
71
- async function trackAiAgentResponse(aiAgentResponse, request, aiAgentContent) {
72
- const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins);
73
- const flowId = flowBuilderPlugin.cmsApi.getNodeById(aiAgentContent.id).flow_id;
74
- const flowName = flowBuilderPlugin.getFlowName(flowId);
75
- const event = {
76
- action: core_1.EventAction.AiAgent,
77
- flowThreadId: request.session.flow_thread_id,
78
- flowId: flowId,
79
- flowName: flowName,
80
- flowNodeId: aiAgentContent.id,
81
- flowNodeContentId: aiAgentContent.name,
82
- flowNodeIsMeaningful: true,
83
- toolsExecuted: aiAgentResponse?.toolsExecuted ?? [],
84
- memoryLength: aiAgentResponse?.memoryLength ?? 0,
85
- inputMessageId: request.input.message_id,
86
- exit: aiAgentResponse?.exit ?? true,
87
- inputGuardrailsTriggered: aiAgentResponse?.inputGuardrailsTriggered ?? [],
88
- outputGuardrailsTriggered: [], //aiAgentResponse.outputGuardrailsTriggered,
89
- error: aiAgentResponse.error,
90
- };
91
- const { action, ...eventArgs } = event;
92
- await (0, tracking_1.trackEvent)(request, action, eventArgs);
93
- }
94
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/action/ai-agent/index.ts"],"names":[],"mappings":";;AAmBA,oDAsFC;AAzGD,wCAMsB;AAEtB,yDAAoE;AAEpE,2CAAoD;AACpD,6CAA2C;AAG3C,mFAGiD;AAE1C,KAAK,UAAU,oBAAoB,CAAC,EACzC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY;IACnB,MAAM,oBAAoB,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAA;IAC7D,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAA;IAClD,IAAI,CAAC,oBAAoB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/C,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,QAAQ,GACZ,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;IAEjE,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAClC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,4BAAW,CAC3B,CAAA;IAEhB,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,yBAAyB,GAC7B,cAAc,CAAC,mBAAmB;QAChC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;QAChC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC,IAAI,EAAE,CAAA;IAEb,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,CAClE,OAAO,EACP;QACE,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,YAAY,EAAE,cAAc,CAAC,YAAY;QACzC,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,mBAAmB,EAAE,yBAAyB;QAC9C,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,qBAAqB,EAAE,CAAC,+CAAwB,CAAC;KAClD,CACF,CAAA;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,oBAAoB,CAAC,eAAe,EAAE,OAAO,EAAE,cAAc,CAAC,CAAA;IAEpE,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,eAAe,GAA2B,EAAE,CAAA;IAClD,MAAM,0BAA0B,GAAgC,EAAE,CAAA;IAElE,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC1C,0BAA0B,CAAC,IAAI,CAAC,OAAoC,CAAC,CAAA;QACvE,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,IAAI,CAAC,OAA+B,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAkB,EAAE,CAAA;IAEhC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,cAAc,CAAC,SAAS,GAAG,eAAe,CAAA;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,0BAA0B,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;YAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAoB,IAAI,CAAC,EAAE,CAAC,CAAA;YACjE,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;YAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAA;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,wDAAwD,SAAS,CAAC,SAAS,IAAI,EAC/E,KAAK,CACN,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,eAA6D,EAC7D,OAAmB,EACnB,cAA2B;IAE3B,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CACjD,cAAc,CAAC,EAAE,CAClB,CAAC,OAAO,CAAA;IACT,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAEtD,MAAM,KAAK,GAAiB;QAC1B,MAAM,EAAE,kBAAW,CAAC,OAAO;QAC3B,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,cAAe;QAC7C,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,cAAc,CAAC,EAAE;QAC7B,iBAAiB,EAAE,cAAc,CAAC,IAAI;QACtC,oBAAoB,EAAE,IAAI;QAC1B,aAAa,EAAE,eAAe,EAAE,aAAa,IAAI,EAAE;QACnD,YAAY,EAAE,eAAe,EAAE,YAAY,IAAI,CAAC;QAChD,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,UAAW;QACzC,IAAI,EAAE,eAAe,EAAE,IAAI,IAAI,IAAI;QACnC,wBAAwB,EAAE,eAAe,EAAE,wBAAwB,IAAI,EAAE;QACzE,yBAAyB,EAAE,EAAE,EAAE,4CAA4C;QAC3E,KAAK,EAAE,eAAe,CAAC,KAAK;KAC7B,CAAA;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAA;IAEtC,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;AAC9C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow-builder-content.js","sourceRoot":"","sources":["../../../../../src/action/ai-agent/structured-output/flow-builder-content.ts"],"names":[],"mappings":";;;;AACA,sDAAmB;AAQN,QAAA,wBAAwB,GAAG,aAAC;KACtC,MAAM,CAAC;IACN,IAAI,EAAE,aAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACpC,SAAS,EAAE,aAAC,CAAC,MAAM,EAAE;CACtB,CAAC;KACD,QAAQ,CACP,4EAA4E,CAC7E,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;AAMA,oDAkBC;AApBD,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAE3D,SAAgB,oBAAoB,CAClC,OAAwB;IAExB,MAAM,aAAa,GAAG,uEAAuE,CAAA;IAE7F,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CACnD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,wBAAwB,CACxB,CAAA;IAExC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;IAChC,CAAC;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;AAaA,sDAWC;AAED,4DAMC;AAED,kDAUC;AAWD,8CAEC;AAED,sDAEC;AAED,0DAEC;AAjED,wCAA+D;AAG/D,uCAAgD;AAChD,mCAAoE;AAEpE,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,OAAO,CAAC,aAAa,CAAA;AAC9B,CAAC;AAED,SAAgB,qBAAqB,CACnC,cAA4C;IAE5C,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,KAAK,0BAAkB,CAAC,UAAU;YAChC,OAAO,yBAAyB,CAAA;QAClC,KAAK,0BAAkB,CAAC,WAAW;YACjC,OAAO,cAAc,CAAA;QACvB;YACE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IACjE,CAAC;AACH,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAY;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAK,CAAC,IAAI,CAAA;IACpE,MAAM,gBAAgB,GACpB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAK,CAAC,KAAK,CAAA;IAEzD,OAAO,WAAW,IAAI,gBAAgB,CAAA;AACxC,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAY;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,UAAU,CAAA;IACzB,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;IAC5D,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,YAAY,CACnB,OAAsB,EACtB,OAAgC;IAEhC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACrD,MAAM,iBAAiB,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/D,OAAO,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5E,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAsB;IACtD,OAAO,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AAC/C,CAAC;AAED,SAAgB,qBAAqB,CAAC,OAAsB;IAC1D,OAAO,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;AACnD,CAAC;AAED,SAAgB,uBAAuB,CAAC,OAAsB;IAC5D,OAAO,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAA;AACrD,CAAC"}
@@ -1,138 +0,0 @@
1
- import {
2
- type AgenticOutputMessage,
3
- type BotContext,
4
- EventAction,
5
- type EventAiAgent,
6
- type InferenceResponse,
7
- } from '@botonic/core'
8
-
9
- import { FlowAiAgent, type FlowContent } from '../../content-fields'
10
- import type { HtNodeWithContent } from '../../content-fields/hubtype-fields'
11
- import { getFlowBuilderPlugin } from '../../helpers'
12
- import { trackEvent } from '../../tracking'
13
- import type { GuardrailRule } from '../../types'
14
- import type { FlowBuilderContext } from '../index'
15
- import {
16
- type FlowBuilderContentMessage,
17
- FlowBuilderContentSchema,
18
- } from './structured-output/flow-builder-content'
19
-
20
- export async function getContentsByAiAgent({
21
- cmsApi,
22
- flowBuilderPlugin,
23
- request,
24
- }: FlowBuilderContext): Promise<FlowContent[]> {
25
- const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow()
26
- const isAiAgentEnabled = cmsApi.isAiAgentEnabled()
27
- if (!startNodeAiAgentFlow || !isAiAgentEnabled) {
28
- return []
29
- }
30
-
31
- const contents =
32
- await flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow)
33
-
34
- const aiAgentContent = contents.find(
35
- content => content instanceof FlowAiAgent
36
- ) as FlowAiAgent
37
-
38
- if (!aiAgentContent) {
39
- return []
40
- }
41
-
42
- const activeInputGuardrailRules: GuardrailRule[] =
43
- aiAgentContent.inputGuardrailRules
44
- ?.filter(rule => rule.is_active)
45
- ?.map(rule => ({
46
- name: rule.name,
47
- description: rule.description,
48
- })) || []
49
-
50
- const aiAgentResponse = await flowBuilderPlugin.getAiAgentResponse?.(
51
- request,
52
- {
53
- name: aiAgentContent.name,
54
- instructions: aiAgentContent.instructions,
55
- model: aiAgentContent.model,
56
- verbosity: aiAgentContent.verbosity,
57
- activeTools: aiAgentContent.activeTools,
58
- inputGuardrailRules: activeInputGuardrailRules,
59
- sourceIds: aiAgentContent.sources?.map(source => source.id),
60
- outputMessagesSchemas: [FlowBuilderContentSchema],
61
- }
62
- )
63
-
64
- if (!aiAgentResponse) {
65
- return []
66
- }
67
- await trackAiAgentResponse(aiAgentResponse, request, aiAgentContent)
68
-
69
- if (aiAgentResponse.exit) {
70
- return []
71
- }
72
-
73
- const regularMessages: AgenticOutputMessage[] = []
74
- const flowBuilderContentMessages: FlowBuilderContentMessage[] = []
75
-
76
- for (const message of aiAgentResponse.messages) {
77
- if (message.type === 'flowBuilderContent') {
78
- flowBuilderContentMessages.push(message as FlowBuilderContentMessage)
79
- } else {
80
- regularMessages.push(message as AgenticOutputMessage)
81
- }
82
- }
83
-
84
- const result: FlowContent[] = []
85
-
86
- if (regularMessages.length > 0) {
87
- aiAgentContent.responses = regularMessages
88
- result.push(...contents)
89
- }
90
-
91
- for (const fbMessage of flowBuilderContentMessages) {
92
- try {
93
- const node = cmsApi.getNodeByContentID(fbMessage.contentId)
94
- const targetNode = cmsApi.getNodeById<HtNodeWithContent>(node.id)
95
- const flowContents = await flowBuilderPlugin.getContentsByNode(targetNode)
96
- result.push(...flowContents)
97
- } catch (error) {
98
- console.warn(
99
- `Could not resolve flowBuilderContent with contentId "${fbMessage.contentId}":`,
100
- error
101
- )
102
- }
103
- }
104
-
105
- return result
106
- }
107
-
108
- async function trackAiAgentResponse(
109
- aiAgentResponse: InferenceResponse<FlowBuilderContentMessage>,
110
- request: BotContext,
111
- aiAgentContent: FlowAiAgent
112
- ) {
113
- const flowBuilderPlugin = getFlowBuilderPlugin(request.plugins)
114
- const flowId = flowBuilderPlugin.cmsApi.getNodeById<HtNodeWithContent>(
115
- aiAgentContent.id
116
- ).flow_id
117
- const flowName = flowBuilderPlugin.getFlowName(flowId)
118
-
119
- const event: EventAiAgent = {
120
- action: EventAction.AiAgent,
121
- flowThreadId: request.session.flow_thread_id!,
122
- flowId: flowId,
123
- flowName: flowName,
124
- flowNodeId: aiAgentContent.id,
125
- flowNodeContentId: aiAgentContent.name,
126
- flowNodeIsMeaningful: true,
127
- toolsExecuted: aiAgentResponse?.toolsExecuted ?? [],
128
- memoryLength: aiAgentResponse?.memoryLength ?? 0,
129
- inputMessageId: request.input.message_id!,
130
- exit: aiAgentResponse?.exit ?? true,
131
- inputGuardrailsTriggered: aiAgentResponse?.inputGuardrailsTriggered ?? [],
132
- outputGuardrailsTriggered: [], //aiAgentResponse.outputGuardrailsTriggered,
133
- error: aiAgentResponse.error,
134
- }
135
- const { action, ...eventArgs } = event
136
-
137
- await trackEvent(request, action, eventArgs)
138
- }