@botonic/react 0.40.0 → 0.41.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 (303) hide show
  1. package/lib/cjs/components/message/index.js +5 -1
  2. package/lib/cjs/components/message/index.js.map +1 -1
  3. package/lib/cjs/components/message/styles.d.ts +4 -2
  4. package/lib/cjs/components/message/styles.js +1 -0
  5. package/lib/cjs/components/message/styles.js.map +1 -1
  6. package/lib/cjs/components/system-debug-trace/debug-message.d.ts +7 -0
  7. package/lib/cjs/components/system-debug-trace/debug-message.js +62 -0
  8. package/lib/cjs/components/system-debug-trace/debug-message.js.map +1 -0
  9. package/lib/cjs/components/system-debug-trace/events/ai-agent.d.ts +24 -0
  10. package/lib/cjs/components/system-debug-trace/events/ai-agent.js +60 -0
  11. package/lib/cjs/components/system-debug-trace/events/ai-agent.js.map +1 -0
  12. package/lib/cjs/components/system-debug-trace/events/components/guardrail-item.d.ts +14 -0
  13. package/lib/cjs/components/system-debug-trace/events/components/guardrail-item.js +12 -0
  14. package/lib/cjs/components/system-debug-trace/events/components/guardrail-item.js.map +1 -0
  15. package/lib/cjs/components/system-debug-trace/events/components/index.d.ts +2 -0
  16. package/lib/cjs/components/system-debug-trace/events/components/index.js +6 -0
  17. package/lib/cjs/components/system-debug-trace/events/components/index.js.map +1 -0
  18. package/lib/cjs/components/system-debug-trace/events/components/sources-section.d.ts +11 -0
  19. package/lib/cjs/components/system-debug-trace/events/components/sources-section.js +21 -0
  20. package/lib/cjs/components/system-debug-trace/events/components/sources-section.js.map +1 -0
  21. package/lib/cjs/components/system-debug-trace/events/constants.d.ts +15 -0
  22. package/lib/cjs/components/system-debug-trace/events/constants.js +19 -0
  23. package/lib/cjs/components/system-debug-trace/events/constants.js.map +1 -0
  24. package/lib/cjs/components/system-debug-trace/events/fallback.d.ts +9 -0
  25. package/lib/cjs/components/system-debug-trace/events/fallback.js +19 -0
  26. package/lib/cjs/components/system-debug-trace/events/fallback.js.map +1 -0
  27. package/lib/cjs/components/system-debug-trace/events/handoff-success.d.ts +9 -0
  28. package/lib/cjs/components/system-debug-trace/events/handoff-success.js +24 -0
  29. package/lib/cjs/components/system-debug-trace/events/handoff-success.js.map +1 -0
  30. package/lib/cjs/components/system-debug-trace/events/index.d.ts +7 -0
  31. package/lib/cjs/components/system-debug-trace/events/index.js +11 -0
  32. package/lib/cjs/components/system-debug-trace/events/index.js.map +1 -0
  33. package/lib/cjs/components/system-debug-trace/events/keyword.d.ts +10 -0
  34. package/lib/cjs/components/system-debug-trace/events/keyword.js +18 -0
  35. package/lib/cjs/components/system-debug-trace/events/keyword.js.map +1 -0
  36. package/lib/cjs/components/system-debug-trace/events/knowledge-base.d.ts +17 -0
  37. package/lib/cjs/components/system-debug-trace/events/knowledge-base.js +42 -0
  38. package/lib/cjs/components/system-debug-trace/events/knowledge-base.js.map +1 -0
  39. package/lib/cjs/components/system-debug-trace/events/knowledge-bases-types.d.ts +31 -0
  40. package/lib/cjs/components/system-debug-trace/events/knowledge-bases-types.js +3 -0
  41. package/lib/cjs/components/system-debug-trace/events/knowledge-bases-types.js.map +1 -0
  42. package/lib/cjs/components/system-debug-trace/events/smart-intent.d.ts +7 -0
  43. package/lib/cjs/components/system-debug-trace/events/smart-intent.js +17 -0
  44. package/lib/cjs/components/system-debug-trace/events/smart-intent.js.map +1 -0
  45. package/lib/cjs/components/system-debug-trace/hooks/use-knowledge-base-info.d.ts +19 -0
  46. package/lib/cjs/components/system-debug-trace/hooks/use-knowledge-base-info.js +129 -0
  47. package/lib/cjs/components/system-debug-trace/hooks/use-knowledge-base-info.js.map +1 -0
  48. package/lib/cjs/components/system-debug-trace/hooks/use-last-label-position.d.ts +9 -0
  49. package/lib/cjs/components/system-debug-trace/hooks/use-last-label-position.js +72 -0
  50. package/lib/cjs/components/system-debug-trace/hooks/use-last-label-position.js.map +1 -0
  51. package/lib/cjs/components/system-debug-trace/icons/brain.d.ts +2 -0
  52. package/lib/cjs/components/system-debug-trace/icons/brain.js +10 -0
  53. package/lib/cjs/components/system-debug-trace/icons/brain.js.map +1 -0
  54. package/lib/cjs/components/system-debug-trace/icons/caret-down.d.ts +2 -0
  55. package/lib/cjs/components/system-debug-trace/icons/caret-down.js +10 -0
  56. package/lib/cjs/components/system-debug-trace/icons/caret-down.js.map +1 -0
  57. package/lib/cjs/components/system-debug-trace/icons/caret-up.d.ts +2 -0
  58. package/lib/cjs/components/system-debug-trace/icons/caret-up.js +10 -0
  59. package/lib/cjs/components/system-debug-trace/icons/caret-up.js.map +1 -0
  60. package/lib/cjs/components/system-debug-trace/icons/circle-check.d.ts +2 -0
  61. package/lib/cjs/components/system-debug-trace/icons/circle-check.js +10 -0
  62. package/lib/cjs/components/system-debug-trace/icons/circle-check.js.map +1 -0
  63. package/lib/cjs/components/system-debug-trace/icons/file-pdf.d.ts +2 -0
  64. package/lib/cjs/components/system-debug-trace/icons/file-pdf.js +10 -0
  65. package/lib/cjs/components/system-debug-trace/icons/file-pdf.js.map +1 -0
  66. package/lib/cjs/components/system-debug-trace/icons/file-word.d.ts +2 -0
  67. package/lib/cjs/components/system-debug-trace/icons/file-word.js +10 -0
  68. package/lib/cjs/components/system-debug-trace/icons/file-word.js.map +1 -0
  69. package/lib/cjs/components/system-debug-trace/icons/hand.d.ts +2 -0
  70. package/lib/cjs/components/system-debug-trace/icons/hand.js +10 -0
  71. package/lib/cjs/components/system-debug-trace/icons/hand.js.map +1 -0
  72. package/lib/cjs/components/system-debug-trace/icons/head-set.d.ts +2 -0
  73. package/lib/cjs/components/system-debug-trace/icons/head-set.js +10 -0
  74. package/lib/cjs/components/system-debug-trace/icons/head-set.js.map +1 -0
  75. package/lib/cjs/components/system-debug-trace/icons/index.d.ts +13 -0
  76. package/lib/cjs/components/system-debug-trace/icons/index.js +17 -0
  77. package/lib/cjs/components/system-debug-trace/icons/index.js.map +1 -0
  78. package/lib/cjs/components/system-debug-trace/icons/life-ring.d.ts +2 -0
  79. package/lib/cjs/components/system-debug-trace/icons/life-ring.js +10 -0
  80. package/lib/cjs/components/system-debug-trace/icons/life-ring.js.map +1 -0
  81. package/lib/cjs/components/system-debug-trace/icons/link.d.ts +2 -0
  82. package/lib/cjs/components/system-debug-trace/icons/link.js +10 -0
  83. package/lib/cjs/components/system-debug-trace/icons/link.js.map +1 -0
  84. package/lib/cjs/components/system-debug-trace/icons/quote-right.d.ts +2 -0
  85. package/lib/cjs/components/system-debug-trace/icons/quote-right.js +10 -0
  86. package/lib/cjs/components/system-debug-trace/icons/quote-right.js.map +1 -0
  87. package/lib/cjs/components/system-debug-trace/icons/screwdriver-wrench.d.ts +2 -0
  88. package/lib/cjs/components/system-debug-trace/icons/screwdriver-wrench.js +10 -0
  89. package/lib/cjs/components/system-debug-trace/icons/screwdriver-wrench.js.map +1 -0
  90. package/lib/cjs/components/system-debug-trace/icons/wand.d.ts +2 -0
  91. package/lib/cjs/components/system-debug-trace/icons/wand.js +10 -0
  92. package/lib/cjs/components/system-debug-trace/icons/wand.js.map +1 -0
  93. package/lib/cjs/components/system-debug-trace/index.d.ts +10 -0
  94. package/lib/cjs/components/system-debug-trace/index.js +29 -0
  95. package/lib/cjs/components/system-debug-trace/index.js.map +1 -0
  96. package/lib/cjs/components/system-debug-trace/styles.d.ts +26 -0
  97. package/lib/cjs/components/system-debug-trace/styles.js +267 -0
  98. package/lib/cjs/components/system-debug-trace/styles.js.map +1 -0
  99. package/lib/cjs/components/system-debug-trace/types.d.ts +13 -0
  100. package/lib/cjs/components/system-debug-trace/types.js +3 -0
  101. package/lib/cjs/components/system-debug-trace/types.js.map +1 -0
  102. package/lib/cjs/constants.d.ts +7 -0
  103. package/lib/cjs/constants.js +27 -20
  104. package/lib/cjs/constants.js.map +1 -1
  105. package/lib/cjs/index-types.d.ts +14 -2
  106. package/lib/cjs/index-types.js +1 -0
  107. package/lib/cjs/index-types.js.map +1 -1
  108. package/lib/cjs/message-utils.d.ts +1 -0
  109. package/lib/cjs/message-utils.js +3 -1
  110. package/lib/cjs/message-utils.js.map +1 -1
  111. package/lib/cjs/msg-to-botonic.js +5 -0
  112. package/lib/cjs/msg-to-botonic.js.map +1 -1
  113. package/lib/cjs/webchat/context/index.d.ts +1 -1
  114. package/lib/cjs/webchat/context/messages-reducer.js +9 -3
  115. package/lib/cjs/webchat/context/messages-reducer.js.map +1 -1
  116. package/lib/cjs/webchat/context/types.d.ts +2 -1
  117. package/lib/cjs/webchat/index.d.ts +1 -1
  118. package/lib/cjs/webchat/index.js.map +1 -1
  119. package/lib/cjs/webchat/message-list/index.js +11 -2
  120. package/lib/cjs/webchat/message-list/index.js.map +1 -1
  121. package/lib/cjs/webchat/message-list/styles.d.ts +5 -1
  122. package/lib/cjs/webchat/message-list/styles.js +3 -2
  123. package/lib/cjs/webchat/message-list/styles.js.map +1 -1
  124. package/lib/cjs/webchat/webchat.js +12 -0
  125. package/lib/cjs/webchat/webchat.js.map +1 -1
  126. package/lib/cjs/webchat-app.d.ts +4 -2
  127. package/lib/cjs/webchat-app.js +25 -10
  128. package/lib/cjs/webchat-app.js.map +1 -1
  129. package/lib/esm/components/message/index.js +5 -1
  130. package/lib/esm/components/message/index.js.map +1 -1
  131. package/lib/esm/components/message/styles.d.ts +4 -2
  132. package/lib/esm/components/message/styles.js +1 -0
  133. package/lib/esm/components/message/styles.js.map +1 -1
  134. package/lib/esm/components/system-debug-trace/debug-message.d.ts +7 -0
  135. package/lib/esm/components/system-debug-trace/debug-message.js +58 -0
  136. package/lib/esm/components/system-debug-trace/debug-message.js.map +1 -0
  137. package/lib/esm/components/system-debug-trace/events/ai-agent.d.ts +24 -0
  138. package/lib/esm/components/system-debug-trace/events/ai-agent.js +55 -0
  139. package/lib/esm/components/system-debug-trace/events/ai-agent.js.map +1 -0
  140. package/lib/esm/components/system-debug-trace/events/components/guardrail-item.d.ts +14 -0
  141. package/lib/esm/components/system-debug-trace/events/components/guardrail-item.js +7 -0
  142. package/lib/esm/components/system-debug-trace/events/components/guardrail-item.js.map +1 -0
  143. package/lib/esm/components/system-debug-trace/events/components/index.d.ts +2 -0
  144. package/lib/esm/components/system-debug-trace/events/components/index.js +3 -0
  145. package/lib/esm/components/system-debug-trace/events/components/index.js.map +1 -0
  146. package/lib/esm/components/system-debug-trace/events/components/sources-section.d.ts +11 -0
  147. package/lib/esm/components/system-debug-trace/events/components/sources-section.js +17 -0
  148. package/lib/esm/components/system-debug-trace/events/components/sources-section.js.map +1 -0
  149. package/lib/esm/components/system-debug-trace/events/constants.d.ts +15 -0
  150. package/lib/esm/components/system-debug-trace/events/constants.js +16 -0
  151. package/lib/esm/components/system-debug-trace/events/constants.js.map +1 -0
  152. package/lib/esm/components/system-debug-trace/events/fallback.d.ts +9 -0
  153. package/lib/esm/components/system-debug-trace/events/fallback.js +15 -0
  154. package/lib/esm/components/system-debug-trace/events/fallback.js.map +1 -0
  155. package/lib/esm/components/system-debug-trace/events/handoff-success.d.ts +9 -0
  156. package/lib/esm/components/system-debug-trace/events/handoff-success.js +19 -0
  157. package/lib/esm/components/system-debug-trace/events/handoff-success.js.map +1 -0
  158. package/lib/esm/components/system-debug-trace/events/index.d.ts +7 -0
  159. package/lib/esm/components/system-debug-trace/events/index.js +8 -0
  160. package/lib/esm/components/system-debug-trace/events/index.js.map +1 -0
  161. package/lib/esm/components/system-debug-trace/events/keyword.d.ts +10 -0
  162. package/lib/esm/components/system-debug-trace/events/keyword.js +14 -0
  163. package/lib/esm/components/system-debug-trace/events/keyword.js.map +1 -0
  164. package/lib/esm/components/system-debug-trace/events/knowledge-base.d.ts +17 -0
  165. package/lib/esm/components/system-debug-trace/events/knowledge-base.js +37 -0
  166. package/lib/esm/components/system-debug-trace/events/knowledge-base.js.map +1 -0
  167. package/lib/esm/components/system-debug-trace/events/knowledge-bases-types.d.ts +31 -0
  168. package/lib/esm/components/system-debug-trace/events/knowledge-bases-types.js +2 -0
  169. package/lib/esm/components/system-debug-trace/events/knowledge-bases-types.js.map +1 -0
  170. package/lib/esm/components/system-debug-trace/events/smart-intent.d.ts +7 -0
  171. package/lib/esm/components/system-debug-trace/events/smart-intent.js +13 -0
  172. package/lib/esm/components/system-debug-trace/events/smart-intent.js.map +1 -0
  173. package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.d.ts +19 -0
  174. package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.js +125 -0
  175. package/lib/esm/components/system-debug-trace/hooks/use-knowledge-base-info.js.map +1 -0
  176. package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.d.ts +9 -0
  177. package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.js +68 -0
  178. package/lib/esm/components/system-debug-trace/hooks/use-last-label-position.js.map +1 -0
  179. package/lib/esm/components/system-debug-trace/icons/brain.d.ts +2 -0
  180. package/lib/esm/components/system-debug-trace/icons/brain.js +6 -0
  181. package/lib/esm/components/system-debug-trace/icons/brain.js.map +1 -0
  182. package/lib/esm/components/system-debug-trace/icons/caret-down.d.ts +2 -0
  183. package/lib/esm/components/system-debug-trace/icons/caret-down.js +6 -0
  184. package/lib/esm/components/system-debug-trace/icons/caret-down.js.map +1 -0
  185. package/lib/esm/components/system-debug-trace/icons/caret-up.d.ts +2 -0
  186. package/lib/esm/components/system-debug-trace/icons/caret-up.js +6 -0
  187. package/lib/esm/components/system-debug-trace/icons/caret-up.js.map +1 -0
  188. package/lib/esm/components/system-debug-trace/icons/circle-check.d.ts +2 -0
  189. package/lib/esm/components/system-debug-trace/icons/circle-check.js +6 -0
  190. package/lib/esm/components/system-debug-trace/icons/circle-check.js.map +1 -0
  191. package/lib/esm/components/system-debug-trace/icons/file-pdf.d.ts +2 -0
  192. package/lib/esm/components/system-debug-trace/icons/file-pdf.js +6 -0
  193. package/lib/esm/components/system-debug-trace/icons/file-pdf.js.map +1 -0
  194. package/lib/esm/components/system-debug-trace/icons/file-word.d.ts +2 -0
  195. package/lib/esm/components/system-debug-trace/icons/file-word.js +6 -0
  196. package/lib/esm/components/system-debug-trace/icons/file-word.js.map +1 -0
  197. package/lib/esm/components/system-debug-trace/icons/hand.d.ts +2 -0
  198. package/lib/esm/components/system-debug-trace/icons/hand.js +6 -0
  199. package/lib/esm/components/system-debug-trace/icons/hand.js.map +1 -0
  200. package/lib/esm/components/system-debug-trace/icons/head-set.d.ts +2 -0
  201. package/lib/esm/components/system-debug-trace/icons/head-set.js +6 -0
  202. package/lib/esm/components/system-debug-trace/icons/head-set.js.map +1 -0
  203. package/lib/esm/components/system-debug-trace/icons/index.d.ts +13 -0
  204. package/lib/esm/components/system-debug-trace/icons/index.js +14 -0
  205. package/lib/esm/components/system-debug-trace/icons/index.js.map +1 -0
  206. package/lib/esm/components/system-debug-trace/icons/life-ring.d.ts +2 -0
  207. package/lib/esm/components/system-debug-trace/icons/life-ring.js +6 -0
  208. package/lib/esm/components/system-debug-trace/icons/life-ring.js.map +1 -0
  209. package/lib/esm/components/system-debug-trace/icons/link.d.ts +2 -0
  210. package/lib/esm/components/system-debug-trace/icons/link.js +6 -0
  211. package/lib/esm/components/system-debug-trace/icons/link.js.map +1 -0
  212. package/lib/esm/components/system-debug-trace/icons/quote-right.d.ts +2 -0
  213. package/lib/esm/components/system-debug-trace/icons/quote-right.js +6 -0
  214. package/lib/esm/components/system-debug-trace/icons/quote-right.js.map +1 -0
  215. package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.d.ts +2 -0
  216. package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.js +6 -0
  217. package/lib/esm/components/system-debug-trace/icons/screwdriver-wrench.js.map +1 -0
  218. package/lib/esm/components/system-debug-trace/icons/wand.d.ts +2 -0
  219. package/lib/esm/components/system-debug-trace/icons/wand.js +6 -0
  220. package/lib/esm/components/system-debug-trace/icons/wand.js.map +1 -0
  221. package/lib/esm/components/system-debug-trace/index.d.ts +10 -0
  222. package/lib/esm/components/system-debug-trace/index.js +25 -0
  223. package/lib/esm/components/system-debug-trace/index.js.map +1 -0
  224. package/lib/esm/components/system-debug-trace/styles.d.ts +26 -0
  225. package/lib/esm/components/system-debug-trace/styles.js +263 -0
  226. package/lib/esm/components/system-debug-trace/styles.js.map +1 -0
  227. package/lib/esm/components/system-debug-trace/types.d.ts +13 -0
  228. package/lib/esm/components/system-debug-trace/types.js +2 -0
  229. package/lib/esm/components/system-debug-trace/types.js.map +1 -0
  230. package/lib/esm/constants.d.ts +7 -0
  231. package/lib/esm/constants.js +27 -20
  232. package/lib/esm/constants.js.map +1 -1
  233. package/lib/esm/index-types.d.ts +14 -2
  234. package/lib/esm/index-types.js +1 -0
  235. package/lib/esm/index-types.js.map +1 -1
  236. package/lib/esm/message-utils.d.ts +1 -0
  237. package/lib/esm/message-utils.js +1 -0
  238. package/lib/esm/message-utils.js.map +1 -1
  239. package/lib/esm/msg-to-botonic.js +6 -1
  240. package/lib/esm/msg-to-botonic.js.map +1 -1
  241. package/lib/esm/webchat/context/index.d.ts +1 -1
  242. package/lib/esm/webchat/context/messages-reducer.js +9 -3
  243. package/lib/esm/webchat/context/messages-reducer.js.map +1 -1
  244. package/lib/esm/webchat/context/types.d.ts +2 -1
  245. package/lib/esm/webchat/index.d.ts +1 -1
  246. package/lib/esm/webchat/index.js.map +1 -1
  247. package/lib/esm/webchat/message-list/index.js +12 -3
  248. package/lib/esm/webchat/message-list/index.js.map +1 -1
  249. package/lib/esm/webchat/message-list/styles.d.ts +5 -1
  250. package/lib/esm/webchat/message-list/styles.js +2 -1
  251. package/lib/esm/webchat/message-list/styles.js.map +1 -1
  252. package/lib/esm/webchat/webchat.js +12 -0
  253. package/lib/esm/webchat/webchat.js.map +1 -1
  254. package/lib/esm/webchat-app.d.ts +4 -2
  255. package/lib/esm/webchat-app.js +25 -10
  256. package/lib/esm/webchat-app.js.map +1 -1
  257. package/package.json +4 -4
  258. package/src/components/message/index.jsx +6 -0
  259. package/src/components/message/styles.ts +6 -2
  260. package/src/components/system-debug-trace/debug-message.tsx +111 -0
  261. package/src/components/system-debug-trace/events/ai-agent.tsx +158 -0
  262. package/src/components/system-debug-trace/events/components/guardrail-item.tsx +53 -0
  263. package/src/components/system-debug-trace/events/components/index.ts +2 -0
  264. package/src/components/system-debug-trace/events/components/sources-section.tsx +66 -0
  265. package/src/components/system-debug-trace/events/constants.ts +15 -0
  266. package/src/components/system-debug-trace/events/fallback.tsx +31 -0
  267. package/src/components/system-debug-trace/events/handoff-success.tsx +43 -0
  268. package/src/components/system-debug-trace/events/index.ts +7 -0
  269. package/src/components/system-debug-trace/events/keyword.tsx +31 -0
  270. package/src/components/system-debug-trace/events/knowledge-base.tsx +115 -0
  271. package/src/components/system-debug-trace/events/knowledge-bases-types.ts +33 -0
  272. package/src/components/system-debug-trace/events/smart-intent.tsx +26 -0
  273. package/src/components/system-debug-trace/hooks/use-knowledge-base-info.tsx +170 -0
  274. package/src/components/system-debug-trace/hooks/use-last-label-position.ts +94 -0
  275. package/src/components/system-debug-trace/icons/brain.tsx +15 -0
  276. package/src/components/system-debug-trace/icons/caret-down.tsx +15 -0
  277. package/src/components/system-debug-trace/icons/caret-up.tsx +15 -0
  278. package/src/components/system-debug-trace/icons/circle-check.tsx +15 -0
  279. package/src/components/system-debug-trace/icons/file-pdf.tsx +15 -0
  280. package/src/components/system-debug-trace/icons/file-word.tsx +15 -0
  281. package/src/components/system-debug-trace/icons/hand.tsx +15 -0
  282. package/src/components/system-debug-trace/icons/head-set.tsx +15 -0
  283. package/src/components/system-debug-trace/icons/index.ts +13 -0
  284. package/src/components/system-debug-trace/icons/life-ring.tsx +15 -0
  285. package/src/components/system-debug-trace/icons/link.tsx +15 -0
  286. package/src/components/system-debug-trace/icons/quote-right.tsx +15 -0
  287. package/src/components/system-debug-trace/icons/screwdriver-wrench.tsx +15 -0
  288. package/src/components/system-debug-trace/icons/wand.tsx +15 -0
  289. package/src/components/system-debug-trace/index.tsx +46 -0
  290. package/src/components/system-debug-trace/styles.ts +286 -0
  291. package/src/components/system-debug-trace/types.ts +31 -0
  292. package/src/constants.js +27 -20
  293. package/src/index-types.ts +19 -1
  294. package/src/message-utils.js +2 -0
  295. package/src/msg-to-botonic.jsx +5 -0
  296. package/src/webchat/context/index.tsx +1 -1
  297. package/src/webchat/context/messages-reducer.ts +7 -3
  298. package/src/webchat/context/types.ts +6 -1
  299. package/src/webchat/index.ts +1 -1
  300. package/src/webchat/message-list/index.tsx +20 -6
  301. package/src/webchat/message-list/styles.ts +7 -1
  302. package/src/webchat/webchat.tsx +14 -0
  303. package/src/webchat-app.tsx +27 -6
@@ -0,0 +1,111 @@
1
+ import { EventAction } from '@botonic/core'
2
+ import React, { useRef, useState } from 'react'
3
+
4
+ import {
5
+ getAiAgentEventConfig,
6
+ getFallbackEventConfig,
7
+ getHandoffSuccessEventConfig,
8
+ getKeywordEventConfig,
9
+ getKnowledgeBaseEventConfig,
10
+ getSmartIntentEventConfig,
11
+ } from './events'
12
+ import { useLastLabelPosition } from './hooks/use-last-label-position'
13
+ import { CaretDownSvg, CaretUpSvg } from './icons'
14
+ import {
15
+ StyledDebugArrow,
16
+ StyledDebugContainer,
17
+ StyledDebugContent,
18
+ StyledDebugContentWrapper,
19
+ StyledDebugHeader,
20
+ StyledDebugIcon,
21
+ StyledDebugTitle,
22
+ } from './styles'
23
+ import { DebugEvent, DebugEventConfig } from './types'
24
+
25
+ const getEventConfig = (
26
+ debugEvent: DebugEvent
27
+ ): DebugEventConfig | undefined => {
28
+ switch (debugEvent.action) {
29
+ case EventAction.Keyword:
30
+ return getKeywordEventConfig(debugEvent)
31
+ case EventAction.IntentSmart:
32
+ return getSmartIntentEventConfig(debugEvent)
33
+ case EventAction.HandoffSuccess:
34
+ return getHandoffSuccessEventConfig(debugEvent)
35
+ case EventAction.AiAgent:
36
+ return getAiAgentEventConfig(debugEvent)
37
+ case EventAction.Knowledgebase:
38
+ return getKnowledgeBaseEventConfig(debugEvent)
39
+ case EventAction.Fallback:
40
+ return getFallbackEventConfig(debugEvent)
41
+ default:
42
+ return undefined
43
+ }
44
+ }
45
+
46
+ interface DebugMessageProps {
47
+ debugEvent: DebugEvent
48
+ messageId?: string
49
+ }
50
+
51
+ export const DebugMessage = ({ debugEvent, messageId }: DebugMessageProps) => {
52
+ const [isExpanded, setIsExpanded] = useState(false)
53
+ const wrapperRef = useRef<HTMLDivElement>(null)
54
+
55
+ const eventConfig = getEventConfig(debugEvent)
56
+
57
+ useLastLabelPosition({
58
+ wrapperRef,
59
+ isExpanded,
60
+ debugEvent,
61
+ isCollapsible: eventConfig?.collapsible ?? false,
62
+ })
63
+
64
+ if (!eventConfig) {
65
+ return null
66
+ }
67
+
68
+ const { title, icon, component, collapsible } = eventConfig
69
+ // eslint-disable-next-line @typescript-eslint/naming-convention
70
+ const Component = component
71
+
72
+ const handleClick = (e: React.MouseEvent) => {
73
+ if (collapsible) {
74
+ const target = e.target as HTMLElement
75
+ const isButton = target.closest('button, a, [role="button"]')
76
+
77
+ if (!isButton) {
78
+ e.stopPropagation()
79
+ setIsExpanded(!isExpanded)
80
+ }
81
+ }
82
+ }
83
+
84
+ const containerClassName = collapsible
85
+ ? `collapsible${isExpanded ? ' expanded' : ''}`
86
+ : ''
87
+
88
+ return (
89
+ <StyledDebugContainer
90
+ className={containerClassName}
91
+ onClick={collapsible ? handleClick : undefined}
92
+ >
93
+ <StyledDebugHeader>
94
+ <StyledDebugIcon>{icon}</StyledDebugIcon>
95
+ <StyledDebugTitle>{title}</StyledDebugTitle>
96
+ {collapsible && (
97
+ <StyledDebugArrow>
98
+ {isExpanded ? <CaretUpSvg /> : <CaretDownSvg />}
99
+ </StyledDebugArrow>
100
+ )}
101
+ </StyledDebugHeader>
102
+ {Component && (
103
+ <StyledDebugContent style={{ display: isExpanded ? 'block' : 'none' }}>
104
+ <StyledDebugContentWrapper ref={wrapperRef}>
105
+ <Component {...debugEvent} messageId={messageId} />
106
+ </StyledDebugContentWrapper>
107
+ </StyledDebugContent>
108
+ )}
109
+ </StyledDebugContainer>
110
+ )
111
+ }
@@ -0,0 +1,158 @@
1
+ import { EventAction } from '@botonic/core'
2
+ import React, { useContext, useMemo } from 'react'
3
+
4
+ import { WebchatContext } from '../../../webchat/context'
5
+ import { useKnowledgeBaseInfo } from '../hooks/use-knowledge-base-info'
6
+ import { ScrewdriverWrenchSvg, WandSvg } from '../icons'
7
+ import {
8
+ StyledDebugDetail,
9
+ StyledDebugItemWithIcon,
10
+ StyledDebugLabel,
11
+ StyledDebugValue,
12
+ } from '../styles'
13
+ import { DebugEventConfig } from '../types'
14
+ import { GuardrailList, SourcesSection } from './components'
15
+ import { LABELS } from './constants'
16
+ import { ChunkIdsGroupedBySourceData } from './knowledge-bases-types'
17
+
18
+ interface ToolExecuted {
19
+ tool_name: string
20
+ tool_arguments: Record<string, unknown>
21
+ knowledgebase_sources_ids?: string[]
22
+ knowledgebase_chunks_ids?: string[]
23
+ }
24
+
25
+ export interface AiAgentDebugEvent {
26
+ action: EventAction.AiAgent
27
+ flow_node_content_id: string
28
+ user_input?: string
29
+ tools_executed: ToolExecuted[]
30
+ input_guardrails_triggered: string[]
31
+ output_guardrails_triggered: string[]
32
+ exit: boolean
33
+ error: boolean
34
+ knowledge_base_chunks_with_sources?: ChunkIdsGroupedBySourceData[]
35
+ messageId?: string
36
+ }
37
+
38
+ export const AiAgent = (props: AiAgentDebugEvent) => {
39
+ const { previewUtils } = useContext(WebchatContext)
40
+
41
+ // Collect all sources IDs, chunk IDs and query from all tools
42
+ const { allSourcesIds, allChunksIds, query } = useMemo(() => {
43
+ const allSourcesIds: string[] = []
44
+ const allChunksIds: string[] = []
45
+ let query: string | undefined
46
+
47
+ props.tools_executed.forEach(tool => {
48
+ if (
49
+ tool.tool_arguments?.query &&
50
+ typeof tool.tool_arguments.query === 'string'
51
+ ) {
52
+ query = tool.tool_arguments.query
53
+ }
54
+ if (tool.knowledgebase_sources_ids) {
55
+ allSourcesIds.push(...tool.knowledgebase_sources_ids)
56
+ }
57
+ if (tool.knowledgebase_chunks_ids) {
58
+ allChunksIds.push(...tool.knowledgebase_chunks_ids)
59
+ }
60
+ })
61
+
62
+ return { allSourcesIds, allChunksIds, query }
63
+ }, [props.tools_executed])
64
+
65
+ const {
66
+ sources: allSources,
67
+ chunks: allChunks,
68
+ chunksWithSources,
69
+ getIconForSourceType,
70
+ } = useKnowledgeBaseInfo({
71
+ sourceIds: allSourcesIds,
72
+ chunkIds: allChunksIds,
73
+ messageId: props.messageId,
74
+ existingChunksWithSources: props.knowledge_base_chunks_with_sources,
75
+ })
76
+
77
+ const handleSeeChunks = () => {
78
+ if (previewUtils?.onClickOpenChunks) {
79
+ previewUtils.onClickOpenChunks(chunksWithSources)
80
+ }
81
+ }
82
+ return (
83
+ <>
84
+ {query && (
85
+ <StyledDebugDetail>
86
+ <StyledDebugLabel>{LABELS.QUERY}</StyledDebugLabel>
87
+ <StyledDebugValue>&quot;{query}&quot;</StyledDebugValue>
88
+ </StyledDebugDetail>
89
+ )}
90
+
91
+ <SourcesSection
92
+ sources={allSources}
93
+ chunks={allChunks}
94
+ getIconForSourceType={getIconForSourceType}
95
+ onSeeChunks={handleSeeChunks}
96
+ label={LABELS.KNOWLEDGE_GATHERED}
97
+ />
98
+
99
+ {props.tools_executed.length > 0 && (
100
+ <StyledDebugDetail>
101
+ <StyledDebugLabel>{LABELS.EXECUTED_TOOLS}</StyledDebugLabel>
102
+ {props.tools_executed.map((tool, index) => (
103
+ <StyledDebugItemWithIcon key={`${tool.tool_name}-${index}`}>
104
+ <ScrewdriverWrenchSvg />
105
+ {tool.tool_name}
106
+ </StyledDebugItemWithIcon>
107
+ ))}
108
+ </StyledDebugDetail>
109
+ )}
110
+
111
+ {props.tools_executed.length === 0 && (
112
+ <StyledDebugDetail>
113
+ <StyledDebugLabel>{LABELS.NO_TOOLS_EXECUTED}</StyledDebugLabel>
114
+ </StyledDebugDetail>
115
+ )}
116
+
117
+ <GuardrailList
118
+ keyPrefix='input'
119
+ guardrails={props.input_guardrails_triggered}
120
+ />
121
+ <GuardrailList
122
+ keyPrefix='output'
123
+ guardrails={props.output_guardrails_triggered}
124
+ $isLastItem={!props.exit && !props.error}
125
+ />
126
+
127
+ {props.exit && (
128
+ <StyledDebugDetail $isLastItem={props.exit && !props.error}>
129
+ <StyledDebugLabel>{LABELS.EXIT}</StyledDebugLabel>
130
+ </StyledDebugDetail>
131
+ )}
132
+
133
+ {props.error && (
134
+ <StyledDebugDetail $isLastItem={props.exit && props.error}>
135
+ <StyledDebugLabel>{LABELS.ERROR}</StyledDebugLabel>
136
+ </StyledDebugDetail>
137
+ )}
138
+ </>
139
+ )
140
+ }
141
+
142
+ export const getAiAgentEventConfig = (
143
+ data: AiAgentDebugEvent
144
+ ): DebugEventConfig => {
145
+ const title = (
146
+ <>
147
+ AI Agent triggered <span>- {data.flow_node_content_id}</span>
148
+ </>
149
+ )
150
+
151
+ return {
152
+ action: EventAction.AiAgent,
153
+ title,
154
+ component: AiAgent,
155
+ icon: <WandSvg />,
156
+ collapsible: true,
157
+ }
158
+ }
@@ -0,0 +1,53 @@
1
+ import React from 'react'
2
+
3
+ import { HandSvg } from '../../icons'
4
+ import {
5
+ StyledGuardrailItem,
6
+ StyledGuardrailLabel,
7
+ StyledGuardrailValue,
8
+ } from '../../styles'
9
+ import { LABELS } from '../constants'
10
+
11
+ interface GuardrailItemProps {
12
+ guardrail: string
13
+ keyPrefix: string
14
+ $isLastItem?: boolean
15
+ }
16
+
17
+ export const GuardrailItem: React.FC<GuardrailItemProps> = ({
18
+ guardrail,
19
+ keyPrefix,
20
+ $isLastItem,
21
+ }) => (
22
+ <StyledGuardrailItem
23
+ key={`${keyPrefix}-${guardrail}`}
24
+ $isLastItem={$isLastItem}
25
+ >
26
+ <HandSvg />
27
+ <StyledGuardrailLabel>{LABELS.GUARDRAIL_TRIGGERED}</StyledGuardrailLabel>
28
+ <StyledGuardrailValue>- {guardrail}</StyledGuardrailValue>
29
+ </StyledGuardrailItem>
30
+ )
31
+
32
+ interface GuardrailListProps {
33
+ guardrails: string[]
34
+ keyPrefix: string
35
+ $isLastItem?: boolean
36
+ }
37
+
38
+ export const GuardrailList: React.FC<GuardrailListProps> = ({
39
+ guardrails,
40
+ keyPrefix,
41
+ $isLastItem,
42
+ }) => (
43
+ <>
44
+ {guardrails.map(guardrail => (
45
+ <GuardrailItem
46
+ key={`${keyPrefix}-${guardrail}`}
47
+ guardrail={guardrail}
48
+ keyPrefix={keyPrefix}
49
+ $isLastItem={$isLastItem}
50
+ />
51
+ ))}
52
+ </>
53
+ )
@@ -0,0 +1,2 @@
1
+ export * from './guardrail-item'
2
+ export * from './sources-section'
@@ -0,0 +1,66 @@
1
+ import React from 'react'
2
+
3
+ import {
4
+ StyledDebugDetail,
5
+ StyledDebugItemWithIcon,
6
+ StyledDebugLabel,
7
+ StyledFileSourceValue,
8
+ StyledSeeChunksButton,
9
+ StyledUrlSourceValue,
10
+ } from '../../styles'
11
+ import { LABELS } from '../constants'
12
+ import { HubtypeChunk, HubtypeSource } from '../knowledge-bases-types'
13
+
14
+ interface SourcesSectionProps {
15
+ sources: HubtypeSource[]
16
+ chunks: HubtypeChunk[]
17
+ getIconForSourceType: (source: HubtypeSource) => React.ReactNode
18
+ onSeeChunks: () => void
19
+ label?: string
20
+ }
21
+
22
+ export const SourcesSection = ({
23
+ sources,
24
+ chunks,
25
+ getIconForSourceType,
26
+ onSeeChunks,
27
+ label = LABELS.SOURCES,
28
+ }: SourcesSectionProps) => {
29
+ if (sources.length === 0) return null
30
+
31
+ return (
32
+ <StyledDebugDetail>
33
+ <StyledDebugLabel>{label}</StyledDebugLabel>
34
+ {sources.map(source => {
35
+ const icon = getIconForSourceType(source)
36
+ const isUrl = source.type === 'url'
37
+ const value = isUrl
38
+ ? source.activeExtractionJob?.url
39
+ : source.activeExtractionJob?.fileName
40
+
41
+ return (
42
+ <StyledDebugItemWithIcon key={source.id}>
43
+ {icon}
44
+ {isUrl ? (
45
+ <StyledUrlSourceValue
46
+ href={value ?? ''}
47
+ target='_blank'
48
+ rel='noopener noreferrer'
49
+ title={value ?? 'Not detected'}
50
+ >
51
+ {value}
52
+ </StyledUrlSourceValue>
53
+ ) : (
54
+ <StyledFileSourceValue>{value}</StyledFileSourceValue>
55
+ )}
56
+ </StyledDebugItemWithIcon>
57
+ )
58
+ })}
59
+ {chunks.length > 0 && (
60
+ <StyledSeeChunksButton onClick={onSeeChunks}>
61
+ {LABELS.SEE_CHUNKS_BUTTON}
62
+ </StyledSeeChunksButton>
63
+ )}
64
+ </StyledDebugDetail>
65
+ )
66
+ }
@@ -0,0 +1,15 @@
1
+ export const LABELS = {
2
+ GUARDRAIL_TRIGGERED: 'Guardrail triggered',
3
+ KNOWLEDGE_FOUND: 'Knowledge found',
4
+ FAITHFUL_ANSWER: 'Faithful answer',
5
+ QUERY: 'Query',
6
+ SOURCES: 'Sources',
7
+ KNOWLEDGE_GATHERED: 'Knowledge gathered',
8
+ EXECUTED_TOOLS: 'Executed tools',
9
+ NO_TOOLS_EXECUTED: 'No tools executed',
10
+ EXIT: 'Exit',
11
+ ERROR: 'Error',
12
+ QUEUE: 'Queue',
13
+ KNOWLEDGE_BASE_FAIL_REASON: 'Knowledge Base Fail Reason',
14
+ SEE_CHUNKS_BUTTON: 'See chunks',
15
+ } as const
@@ -0,0 +1,31 @@
1
+ import { EventAction } from '@botonic/core'
2
+ import React from 'react'
3
+
4
+ import { LifeRingSvg } from '../icons/life-ring'
5
+ import { DebugEventConfig } from '../types'
6
+
7
+ export interface FallbackDebugEvent {
8
+ action: EventAction.Fallback
9
+ user_input: string
10
+ fallback_out: number
11
+ fallback_message_id: string
12
+ }
13
+
14
+ export const getFallbackEventConfig = (
15
+ data: FallbackDebugEvent
16
+ ): DebugEventConfig => {
17
+ const ordinal = data.fallback_out === 1 ? '1st' : '2nd'
18
+ const title = (
19
+ <>
20
+ Fallback message triggered <span>- {ordinal} message</span>
21
+ </>
22
+ )
23
+
24
+ return {
25
+ action: EventAction.Fallback,
26
+ title,
27
+ component: null,
28
+ icon: <LifeRingSvg />,
29
+ collapsible: false,
30
+ }
31
+ }
@@ -0,0 +1,43 @@
1
+ import { EventAction } from '@botonic/core'
2
+ import React from 'react'
3
+
4
+ import { HeadSetSvg } from '../icons'
5
+ import {
6
+ StyledDebugDetail,
7
+ StyledDebugLabel,
8
+ StyledDebugValue,
9
+ } from '../styles'
10
+ import { DebugEventConfig } from '../types'
11
+ import { LABELS } from './constants'
12
+
13
+ export interface HandoffSuccessDebugEvent {
14
+ action: EventAction.HandoffSuccess
15
+ handoff_queue_name: string
16
+ handoff_is_queue_open: boolean
17
+ }
18
+
19
+ export const HandoffSuccess = (props: HandoffSuccessDebugEvent) => {
20
+ return (
21
+ <StyledDebugDetail>
22
+ <StyledDebugLabel>{LABELS.QUEUE}</StyledDebugLabel>
23
+ <StyledDebugValue>{props.handoff_queue_name}</StyledDebugValue>
24
+ </StyledDebugDetail>
25
+ )
26
+ }
27
+
28
+ export const getHandoffSuccessEventConfig = (
29
+ data: HandoffSuccessDebugEvent
30
+ ): DebugEventConfig => {
31
+ return {
32
+ action: EventAction.HandoffSuccess,
33
+ title: (
34
+ <>
35
+ Handoff to agent <span>- {data.handoff_queue_name}</span>
36
+ </>
37
+ ),
38
+ icon: <HeadSetSvg />,
39
+ // TODO: Disable component and collapsible for now because we are only showing the queue name
40
+ component: null,
41
+ collapsible: false,
42
+ }
43
+ }
@@ -0,0 +1,7 @@
1
+ export * from './ai-agent'
2
+ export * from './fallback'
3
+ export * from './handoff-success'
4
+ export * from './keyword'
5
+ export * from './knowledge-base'
6
+ export * from './knowledge-bases-types'
7
+ export * from './smart-intent'
@@ -0,0 +1,31 @@
1
+ import { EventAction } from '@botonic/core'
2
+ import React from 'react'
3
+
4
+ import { QuoteRightSvg } from '../icons/quote-right'
5
+ import { DebugEventConfig } from '../types'
6
+
7
+ export interface KeywordDebugEvent {
8
+ action: EventAction.Keyword
9
+ flow_id: string
10
+ flow_node_id: string
11
+ nlu_keyword_is_regex: boolean
12
+ nlu_keyword_name: string
13
+ }
14
+
15
+ export const getKeywordEventConfig = (
16
+ data: KeywordDebugEvent
17
+ ): DebugEventConfig => {
18
+ const title = (
19
+ <>
20
+ Keyword matched <span>- &quot;{data.nlu_keyword_name}&quot;</span>
21
+ </>
22
+ )
23
+
24
+ return {
25
+ action: EventAction.Keyword,
26
+ title,
27
+ component: null,
28
+ icon: <QuoteRightSvg />,
29
+ collapsible: false,
30
+ }
31
+ }
@@ -0,0 +1,115 @@
1
+ import { EventAction } from '@botonic/core'
2
+ import React, { useContext } from 'react'
3
+
4
+ import { WebchatContext } from '../../../webchat/context'
5
+ import { useKnowledgeBaseInfo } from '../hooks/use-knowledge-base-info'
6
+ import { CircleCheckSvg, WandSvg } from '../icons'
7
+ import {
8
+ StyledDebugDetail,
9
+ StyledDebugLabel,
10
+ StyledDebugValue,
11
+ StyledGuardrailItem,
12
+ StyledGuardrailLabel,
13
+ } from '../styles'
14
+ import { DebugEventConfig } from '../types'
15
+ import { SourcesSection } from './components'
16
+ import { LABELS } from './constants'
17
+ import { ChunkIdsGroupedBySourceData } from './knowledge-bases-types'
18
+
19
+ export interface KnowledgeBaseDebugEvent {
20
+ action: EventAction.Knowledgebase
21
+ flow_id: string
22
+ flow_node_id: string
23
+ knowledgebase_inference_id: string
24
+ knowledgebase_fail_reason: string
25
+ knowledgebase_sources_ids: string[]
26
+ knowledgebase_chunks_ids: string[]
27
+ user_input: string
28
+ knowledge_base_chunks_with_sources?: ChunkIdsGroupedBySourceData[]
29
+ messageId?: string
30
+ }
31
+
32
+ export const KnowledgeBase = (props: KnowledgeBaseDebugEvent) => {
33
+ const { previewUtils } = useContext(WebchatContext)
34
+ const {
35
+ sources,
36
+ chunks,
37
+ chunksWithSources,
38
+ getIconForSourceType,
39
+ hasKnowledge,
40
+ isFaithful,
41
+ } = useKnowledgeBaseInfo({
42
+ sourceIds: props.knowledgebase_sources_ids,
43
+ chunkIds: props.knowledgebase_chunks_ids,
44
+ messageId: props.messageId,
45
+ existingChunksWithSources: props.knowledge_base_chunks_with_sources,
46
+ failReason: props.knowledgebase_fail_reason,
47
+ })
48
+
49
+ const showFailReason = !hasKnowledge || !isFaithful
50
+
51
+ const handleSeeChunks = () => {
52
+ if (previewUtils?.onClickOpenChunks) {
53
+ previewUtils.onClickOpenChunks(chunksWithSources)
54
+ }
55
+ }
56
+
57
+ return (
58
+ <>
59
+ <StyledDebugDetail>
60
+ <StyledDebugLabel>{LABELS.QUERY}</StyledDebugLabel>
61
+ <StyledDebugValue>&quot;{props.user_input}&quot;</StyledDebugValue>
62
+ </StyledDebugDetail>
63
+
64
+ {showFailReason ? (
65
+ <StyledDebugDetail>
66
+ <StyledDebugLabel>
67
+ {LABELS.KNOWLEDGE_BASE_FAIL_REASON}
68
+ </StyledDebugLabel>
69
+ <StyledDebugValue>{props.knowledgebase_fail_reason}</StyledDebugValue>
70
+ </StyledDebugDetail>
71
+ ) : (
72
+ <>
73
+ <SourcesSection
74
+ sources={sources}
75
+ chunks={chunks}
76
+ getIconForSourceType={getIconForSourceType}
77
+ onSeeChunks={handleSeeChunks}
78
+ />
79
+
80
+ {hasKnowledge && (
81
+ <StyledGuardrailItem>
82
+ <CircleCheckSvg />
83
+ <StyledGuardrailLabel>
84
+ {LABELS.KNOWLEDGE_FOUND}
85
+ </StyledGuardrailLabel>
86
+ </StyledGuardrailItem>
87
+ )}
88
+
89
+ {isFaithful && (
90
+ <StyledGuardrailItem $isLastItem={true}>
91
+ <CircleCheckSvg />
92
+ <StyledGuardrailLabel>
93
+ {LABELS.FAITHFUL_ANSWER}
94
+ </StyledGuardrailLabel>
95
+ </StyledGuardrailItem>
96
+ )}
97
+ </>
98
+ )}
99
+ </>
100
+ )
101
+ }
102
+
103
+ export const getKnowledgeBaseEventConfig = (
104
+ _data: KnowledgeBaseDebugEvent
105
+ ): DebugEventConfig => {
106
+ const title = <>Knowledge Base triggered</>
107
+
108
+ return {
109
+ action: EventAction.Knowledgebase,
110
+ title,
111
+ component: KnowledgeBase,
112
+ icon: <WandSvg />,
113
+ collapsible: true,
114
+ }
115
+ }
@@ -0,0 +1,33 @@
1
+ interface HubtypeExtractionJob {
2
+ id: string
3
+ fileName: string
4
+ fileUrl: string
5
+ url: string | null
6
+ isActive: boolean
7
+ status: string
8
+ hash: string
9
+ createdAt: string
10
+ }
11
+
12
+ export interface HubtypeSource {
13
+ id: string
14
+ name: string
15
+ type: string
16
+ scrapingCountryCode: string | null
17
+ createdAt: string
18
+ createdBy: string
19
+ lastUpdatedAt: string
20
+ lastUpdatedBy: string
21
+ activeExtractionJob: HubtypeExtractionJob
22
+ lastExtractionJob: HubtypeExtractionJob
23
+ }
24
+
25
+ export interface HubtypeChunk {
26
+ id: string
27
+ text: string
28
+ }
29
+
30
+ export interface ChunkIdsGroupedBySourceData {
31
+ source: HubtypeSource
32
+ chunks: HubtypeChunk[]
33
+ }
@@ -0,0 +1,26 @@
1
+ import { EventAction } from '@botonic/core'
2
+ import React from 'react'
3
+
4
+ import { BrainSvg } from '../icons'
5
+ import { DebugEventConfig } from '../types'
6
+
7
+ export interface SmartIntentDebugEvent {
8
+ action: EventAction.IntentSmart
9
+ nlu_intent_smart_title: string
10
+ }
11
+
12
+ export const getSmartIntentEventConfig = (
13
+ data: SmartIntentDebugEvent
14
+ ): DebugEventConfig => {
15
+ const title = (
16
+ <>
17
+ Smart intent triggered <span>- "{data.nlu_intent_smart_title}"</span>
18
+ </>
19
+ )
20
+ return {
21
+ action: EventAction.IntentSmart,
22
+ title,
23
+ component: null,
24
+ icon: <BrainSvg />,
25
+ }
26
+ }