@clikvn/agent-widget-embedded 1.1.11 → 1.1.12-dev-01

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 (390) hide show
  1. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.d.ts +67 -0
  2. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.d.ts.map +1 -0
  3. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.js +78 -0
  4. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/bookMeeting.js.map +1 -0
  5. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.d.ts +3 -0
  6. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.d.ts.map +1 -0
  7. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.js +3 -0
  8. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/index.js.map +1 -0
  9. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.d.ts +11 -0
  10. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.d.ts.map +1 -0
  11. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.js +26 -0
  12. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/commons/constants/variables.js.map +1 -0
  13. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.d.ts +3 -0
  14. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.d.ts.map +1 -0
  15. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.js +16 -0
  16. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Agent/index.js.map +1 -0
  17. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.d.ts +9 -0
  18. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.d.ts.map +1 -0
  19. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.js +152 -0
  20. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AgentThinking.js.map +1 -0
  21. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.d.ts +8 -0
  22. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.d.ts.map +1 -0
  23. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.js +228 -0
  24. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/AudioPlayer.js.map +1 -0
  25. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.d.ts +12 -0
  26. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.d.ts.map +1 -0
  27. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.js +35 -0
  28. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingDetail.js.map +1 -0
  29. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.d.ts +9 -0
  30. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.d.ts.map +1 -0
  31. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.js +173 -0
  32. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingForm.js.map +1 -0
  33. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.d.ts +9 -0
  34. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.d.ts.map +1 -0
  35. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.js +61 -0
  36. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/BookMeetingList.js.map +1 -0
  37. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.d.ts +10 -0
  38. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.d.ts.map +1 -0
  39. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.js +46 -0
  40. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Chat.js.map +1 -0
  41. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.d.ts +10 -0
  42. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.d.ts.map +1 -0
  43. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.js +36 -0
  44. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Header.js.map +1 -0
  45. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.d.ts +7 -0
  46. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.d.ts.map +1 -0
  47. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.js +45 -0
  48. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/HtmlContent.js.map +1 -0
  49. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.d.ts +204 -0
  50. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.d.ts.map +1 -0
  51. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.js +252 -0
  52. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Icons.js.map +1 -0
  53. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.d.ts +4 -0
  54. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.d.ts.map +1 -0
  55. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.js +6 -0
  56. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LoadingComponent.js.map +1 -0
  57. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.d.ts +38 -0
  58. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.d.ts.map +1 -0
  59. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.js +23 -0
  60. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/LocationCard.js.map +1 -0
  61. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.d.ts +7 -0
  62. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.d.ts.map +1 -0
  63. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.js +97 -0
  64. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Markdown.js.map +1 -0
  65. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.d.ts +16 -0
  66. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.d.ts.map +1 -0
  67. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.js +84 -0
  68. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Message.js.map +1 -0
  69. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.d.ts +28 -0
  70. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.d.ts.map +1 -0
  71. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.js +350 -0
  72. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput copy.js.map +1 -0
  73. package/{dist/components/Chat/MultimodalInputSimple.d.ts → .rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.d.ts} +9 -3
  74. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.d.ts.map +1 -0
  75. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.js +405 -0
  76. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/MultimodalInput.js.map +1 -0
  77. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.d.ts +8 -0
  78. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.d.ts.map +1 -0
  79. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.js +9 -0
  80. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Overview.js.map +1 -0
  81. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.d.ts +6 -0
  82. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.d.ts.map +1 -0
  83. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.js +7 -0
  84. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewAttachment.js.map +1 -0
  85. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.d.ts +7 -0
  86. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.d.ts.map +1 -0
  87. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.js +21 -0
  88. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/PreviewFileAttachment.js.map +1 -0
  89. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.d.ts +10 -0
  90. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.d.ts.map +1 -0
  91. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.js +157 -0
  92. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductDetail.js.map +1 -0
  93. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.d.ts +10 -0
  94. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.d.ts.map +1 -0
  95. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.js +152 -0
  96. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ProductList.js.map +1 -0
  97. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.d.ts +11 -0
  98. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.d.ts.map +1 -0
  99. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.js +73 -0
  100. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ScenariosList.js.map +1 -0
  101. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.d.ts +9 -0
  102. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.d.ts.map +1 -0
  103. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.js +268 -0
  104. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/AudioPlayerSimplified.js.map +1 -0
  105. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.d.ts +22 -0
  106. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.d.ts.map +1 -0
  107. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.js +283 -0
  108. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplified.js.map +1 -0
  109. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts +22 -0
  110. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts.map +1 -0
  111. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.js +301 -0
  112. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.js.map +1 -0
  113. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.d.ts +10 -0
  114. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.d.ts.map +1 -0
  115. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.js +30 -0
  116. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Simplified/index.js.map +1 -0
  117. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.d.ts +12 -0
  118. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.d.ts.map +1 -0
  119. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.js +31 -0
  120. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/SuggestedActions.js.map +1 -0
  121. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.d.ts +7 -0
  122. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.d.ts.map +1 -0
  123. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.js +147 -0
  124. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/UserContactForm.js.map +1 -0
  125. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.d.ts +17 -0
  126. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.d.ts.map +1 -0
  127. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.js +71 -0
  128. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/VoiceRecordingUI.js.map +1 -0
  129. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.d.ts +42 -0
  130. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.d.ts.map +1 -0
  131. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.js +198 -0
  132. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/Weather.js.map +1 -0
  133. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.d.ts +12 -0
  134. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.d.ts.map +1 -0
  135. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.js +34 -0
  136. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Button.js.map +1 -0
  137. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.d.ts +9 -0
  138. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.d.ts.map +1 -0
  139. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.js +32 -0
  140. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DataPickerCustom.js.map +1 -0
  141. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.d.ts +28 -0
  142. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.d.ts.map +1 -0
  143. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.js +37 -0
  144. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/DropdownMenu.js.map +1 -0
  145. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.d.ts +12 -0
  146. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.d.ts.map +1 -0
  147. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.js +10 -0
  148. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/PhoneNumberInput.js.map +1 -0
  149. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.d.ts +19 -0
  150. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.d.ts.map +1 -0
  151. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.js +33 -0
  152. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBox.js.map +1 -0
  153. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.d.ts +20 -0
  154. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.d.ts.map +1 -0
  155. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.js +71 -0
  156. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/SelectBoxWithIcon.js.map +1 -0
  157. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.d.ts +7 -0
  158. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.d.ts.map +1 -0
  159. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.js +4 -0
  160. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Spinner.js.map +1 -0
  161. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.d.ts +6 -0
  162. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.d.ts.map +1 -0
  163. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.js +9 -0
  164. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/Textarea.js.map +1 -0
  165. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.d.ts +10 -0
  166. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.d.ts.map +1 -0
  167. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.js +22 -0
  168. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/badge.js.map +1 -0
  169. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.d.ts +12 -0
  170. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.d.ts.map +1 -0
  171. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.js +44 -0
  172. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/ui/collapsible.js.map +1 -0
  173. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.d.ts +14 -0
  174. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.d.ts.map +1 -0
  175. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.js +53 -0
  176. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidget.js.map +1 -0
  177. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.d.ts +22 -0
  178. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.d.ts.map +1 -0
  179. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.js +29 -0
  180. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/components/Chat/voice/VoiceWidgetChat.js.map +1 -0
  181. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.d.ts +13 -0
  182. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.d.ts.map +1 -0
  183. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.js +2 -0
  184. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/form.js.map +1 -0
  185. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.d.ts +94 -0
  186. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.d.ts.map +1 -0
  187. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.js +93 -0
  188. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants/toolNames.js.map +1 -0
  189. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.d.ts +2 -0
  190. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.d.ts.map +1 -0
  191. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.js +2 -0
  192. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/constants.js.map +1 -0
  193. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.d.ts +49 -0
  194. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.d.ts.map +1 -0
  195. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.js +25 -0
  196. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/features/AgentWidget/index.js.map +1 -0
  197. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.d.ts +11 -0
  198. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.d.ts.map +1 -0
  199. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.js +135 -0
  200. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioAnalyzer.js.map +1 -0
  201. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.d.ts +13 -0
  202. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.d.ts.map +1 -0
  203. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.js +39 -0
  204. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioMesseagePlayer.js.map +1 -0
  205. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.d.ts +13 -0
  206. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.d.ts.map +1 -0
  207. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.js +59 -0
  208. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useAudioRecording.js.map +1 -0
  209. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.d.ts +29 -0
  210. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.d.ts.map +1 -0
  211. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.js +225 -0
  212. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChat.js.map +1 -0
  213. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.d.ts +20 -0
  214. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.d.ts.map +1 -0
  215. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.js +66 -0
  216. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useChatData.js.map +1 -0
  217. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.d.ts +101 -0
  218. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.d.ts.map +1 -0
  219. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.js +23 -0
  220. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useConfiguration.js.map +1 -0
  221. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.d.ts +9 -0
  222. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.d.ts.map +1 -0
  223. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.js +64 -0
  224. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollContainer.js.map +1 -0
  225. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.d.ts +7 -0
  226. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.d.ts.map +1 -0
  227. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.js +29 -0
  228. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/hooks/useScrollToBottom.js.map +1 -0
  229. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.d.ts +2 -0
  230. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.d.ts.map +1 -0
  231. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.js +2 -0
  232. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/index.js.map +1 -0
  233. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.d.ts +20 -0
  234. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.d.ts.map +1 -0
  235. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.js +76 -0
  236. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models/FlowiseClient.js.map +1 -0
  237. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.d.ts +2 -0
  238. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.d.ts.map +1 -0
  239. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.js +2 -0
  240. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/models.js.map +1 -0
  241. package/{dist/simplifiedRegister.d.ts → .rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.d.ts} +39 -6
  242. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.d.ts.map +1 -0
  243. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.js +36 -0
  244. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/register.js.map +1 -0
  245. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.d.ts +10 -0
  246. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.d.ts.map +1 -0
  247. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.js +10 -0
  248. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/apis.js.map +1 -0
  249. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.d.ts +7 -0
  250. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.d.ts.map +1 -0
  251. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.js +26 -0
  252. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bookMeeting.service.js.map +1 -0
  253. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.d.ts +3 -0
  254. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.d.ts.map +1 -0
  255. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.js +13 -0
  256. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/bot.service.js.map +1 -0
  257. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.d.ts +53 -0
  258. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.d.ts.map +1 -0
  259. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.js +163 -0
  260. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/chat.service.js.map +1 -0
  261. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.d.ts +8 -0
  262. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.d.ts.map +1 -0
  263. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.js +27 -0
  264. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/userContact.service.js.map +1 -0
  265. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.d.ts +14 -0
  266. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.d.ts.map +1 -0
  267. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.js +181 -0
  268. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/services/vt360.service.js.map +1 -0
  269. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.d.ts +13 -0
  270. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.d.ts.map +1 -0
  271. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.js +2 -0
  272. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bookMeeting.type.js.map +1 -0
  273. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.d.ts +11 -0
  274. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.d.ts.map +1 -0
  275. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.js +2 -0
  276. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/bot.type.js.map +1 -0
  277. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.d.ts +10 -0
  278. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.d.ts.map +1 -0
  279. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.js +2 -0
  280. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/chat.type.js.map +1 -0
  281. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.d.ts +27 -0
  282. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.d.ts.map +1 -0
  283. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.js +2 -0
  284. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/common.type.js.map +1 -0
  285. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.d.ts +160 -0
  286. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.d.ts.map +1 -0
  287. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.js +2 -0
  288. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/flowise.type.js.map +1 -0
  289. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.d.ts +48 -0
  290. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.d.ts.map +1 -0
  291. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.js +2 -0
  292. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/product.type.js.map +1 -0
  293. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.d.ts +14 -0
  294. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.d.ts.map +1 -0
  295. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.js +2 -0
  296. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/user.type.js.map +1 -0
  297. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.d.ts +15 -0
  298. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.d.ts.map +1 -0
  299. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.js +2 -0
  300. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types/userContact.type.js.map +1 -0
  301. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.d.ts +1 -0
  302. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.d.ts.map +1 -0
  303. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.js +2 -0
  304. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/types.js.map +1 -0
  305. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.d.ts +20 -0
  306. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.d.ts.map +1 -0
  307. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.js +492 -0
  308. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/agentTraceUtils.js.map +1 -0
  309. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.d.ts +21 -0
  310. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.d.ts.map +1 -0
  311. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.js +296 -0
  312. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/audioRecording.js.map +1 -0
  313. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.d.ts +7 -0
  314. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.d.ts.map +1 -0
  315. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.js +40 -0
  316. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/commonUtils.js.map +1 -0
  317. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.d.ts +3 -0
  318. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.d.ts.map +1 -0
  319. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.js +18 -0
  320. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/currency.js.map +1 -0
  321. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.d.ts +3 -0
  322. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.d.ts.map +1 -0
  323. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.js +46 -0
  324. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/fileUtils.js.map +1 -0
  325. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.d.ts +5 -0
  326. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.d.ts.map +1 -0
  327. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.js +21 -0
  328. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/functionUtils.js.map +1 -0
  329. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.d.ts +37 -0
  330. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.d.ts.map +1 -0
  331. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.js +55 -0
  332. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/messageUtils.js.map +1 -0
  333. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.d.ts +16 -0
  334. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.d.ts.map +1 -0
  335. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.js +79 -0
  336. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/requestUtils.js.map +1 -0
  337. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.d.ts +5 -0
  338. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.d.ts.map +1 -0
  339. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.js +12 -0
  340. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/streamUtils.js.map +1 -0
  341. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.d.ts +111 -0
  342. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.d.ts.map +1 -0
  343. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.js +197 -0
  344. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/utils/toolUtils.js.map +1 -0
  345. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.d.ts +2 -0
  346. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.d.ts.map +1 -0
  347. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.js +15 -0
  348. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/wdyr.js.map +1 -0
  349. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.d.ts +8 -0
  350. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.d.ts.map +1 -0
  351. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.js +5 -0
  352. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/web.js.map +1 -0
  353. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.d.ts +18 -0
  354. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.d.ts.map +1 -0
  355. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.js +31 -0
  356. package/.rollup.cache/Users/tungthai/Desktop/Develop/clik-ai-chatbot-embedded/dist/window.js.map +1 -0
  357. package/README.md +20 -20
  358. package/dist/components/Chat/MultimodalInput copy.d.ts +28 -0
  359. package/dist/components/Chat/MultimodalInput copy.d.ts.map +1 -0
  360. package/dist/components/Chat/ProductDetail.d.ts.map +1 -1
  361. package/dist/components/Chat/ProductList.d.ts +3 -3
  362. package/dist/components/Chat/ProductList.d.ts.map +1 -1
  363. package/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts +22 -0
  364. package/dist/components/Chat/Simplified/MultimodalInputSimplifiedOld.d.ts.map +1 -0
  365. package/dist/index-old.html +108 -0
  366. package/dist/index.html +47 -49
  367. package/dist/services/vt360.service.d.ts.map +1 -1
  368. package/dist/wdyr.d.ts +2 -0
  369. package/dist/wdyr.d.ts.map +1 -0
  370. package/dist/web.d.ts.map +1 -1
  371. package/dist/web.js +1 -1
  372. package/dist/web.js.map +1 -0
  373. package/package.json +101 -101
  374. package/public/index.html +54 -54
  375. package/.idea/clik-ai-chatbot-embedded.iml +0 -9
  376. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  377. package/.idea/inspectionProfiles/Project_Default.xml +0 -36
  378. package/.idea/jsLinters/eslint.xml +0 -7
  379. package/.idea/misc.xml +0 -9
  380. package/.idea/modules.xml +0 -8
  381. package/.idea/prettier.xml +0 -8
  382. package/.idea/vcs.xml +0 -6
  383. package/dist/components/Chat/AudioPlayerSimple.d.ts +0 -9
  384. package/dist/components/Chat/AudioPlayerSimple.d.ts.map +0 -1
  385. package/dist/components/Chat/MultimodalInputSimple.d.ts.map +0 -1
  386. package/dist/components/Chat/Sidebar.d.ts +0 -8
  387. package/dist/components/Chat/Sidebar.d.ts.map +0 -1
  388. package/dist/serve.json +0 -11
  389. package/dist/simplifiedRegister.d.ts.map +0 -1
  390. package/dist/web.css +0 -3680
@@ -0,0 +1,135 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ let lastUpdateTime = 0;
3
+ const updateInterval = 100;
4
+ const DEFAULT_MAX_HISTORY_LENGTH = 65;
5
+ export const useAudioAnalyzer = (maxHistoryLength = DEFAULT_MAX_HISTORY_LENGTH) => {
6
+ const [audioData, setAudioData] = useState({
7
+ volume: 0,
8
+ frequencies: Array(maxHistoryLength).fill(1), // Dynamic array size
9
+ });
10
+ const [isAnalyzing, setIsAnalyzing] = useState(false);
11
+ const audioContextRef = useRef(null);
12
+ const analyzerRef = useRef(null);
13
+ const sourceRef = useRef(null);
14
+ const animationFrameRef = useRef(null);
15
+ // Update frequencies array when maxHistoryLength changes
16
+ useEffect(() => {
17
+ setAudioData((prevData) => {
18
+ const newFrequencies = [...prevData.frequencies];
19
+ if (newFrequencies.length > maxHistoryLength) {
20
+ // Trim from beginning if too long
21
+ return {
22
+ ...prevData,
23
+ frequencies: newFrequencies.slice(-maxHistoryLength),
24
+ };
25
+ }
26
+ else if (newFrequencies.length < maxHistoryLength) {
27
+ // Pad with zeros if too short
28
+ const padding = Array(maxHistoryLength - newFrequencies.length).fill(0);
29
+ return {
30
+ ...prevData,
31
+ frequencies: [...padding, ...newFrequencies],
32
+ };
33
+ }
34
+ return prevData;
35
+ });
36
+ }, [maxHistoryLength]);
37
+ const startAnalyzing = useCallback((stream) => {
38
+ try {
39
+ // Create audio context
40
+ audioContextRef.current = new (window.AudioContext ||
41
+ window
42
+ .webkitAudioContext)();
43
+ // Create analyzer
44
+ analyzerRef.current = audioContextRef.current.createAnalyser();
45
+ analyzerRef.current.fftSize = 256;
46
+ analyzerRef.current.smoothingTimeConstant = 0.8;
47
+ // Create source from stream
48
+ sourceRef.current =
49
+ audioContextRef.current.createMediaStreamSource(stream);
50
+ sourceRef.current.connect(analyzerRef.current);
51
+ setIsAnalyzing(true);
52
+ // Add throttling variables
53
+ // Start analyzing
54
+ const analyze = () => {
55
+ if (!analyzerRef.current)
56
+ return;
57
+ const bufferLength = analyzerRef.current.frequencyBinCount;
58
+ const dataArray = new Uint8Array(bufferLength);
59
+ analyzerRef.current.getByteFrequencyData(dataArray);
60
+ // Calculate volume (0-100)
61
+ const sum = dataArray.reduce((acc, value) => acc + value, 0);
62
+ const average = sum / bufferLength;
63
+ const volume = Math.min(100, (average / 255) * 100);
64
+ // Throttle updates - only update every 150ms
65
+ const currentTime = Date.now();
66
+ if (currentTime - lastUpdateTime >= updateInterval) {
67
+ lastUpdateTime = currentTime;
68
+ // Use frequencies array to store volume history
69
+ setAudioData((prevData) => {
70
+ const newFrequencies = [...prevData.frequencies];
71
+ // Add current volume to the end of the array
72
+ newFrequencies.push(volume);
73
+ // Keep only the last DEFAULT_MAX_HISTORY_LENGTH volume values for waveform display
74
+ if (newFrequencies.length > maxHistoryLength) {
75
+ newFrequencies.shift(); // Remove oldest value
76
+ }
77
+ return {
78
+ volume, // Always update current volume for real-time display
79
+ frequencies: newFrequencies,
80
+ };
81
+ });
82
+ }
83
+ else {
84
+ // Still update current volume for real-time feedback
85
+ setAudioData((prevData) => ({
86
+ ...prevData,
87
+ volume, // Update volume but keep same frequencies array
88
+ }));
89
+ }
90
+ animationFrameRef.current = requestAnimationFrame(analyze);
91
+ };
92
+ analyze();
93
+ }
94
+ catch (error) {
95
+ console.error('Error starting audio analysis:', error);
96
+ }
97
+ }, [maxHistoryLength]);
98
+ const stopAnalyzing = useCallback(() => {
99
+ setIsAnalyzing(false);
100
+ if (animationFrameRef.current) {
101
+ cancelAnimationFrame(animationFrameRef.current);
102
+ animationFrameRef.current = null;
103
+ }
104
+ if (sourceRef.current) {
105
+ sourceRef.current.disconnect();
106
+ sourceRef.current = null;
107
+ }
108
+ if (analyzerRef.current) {
109
+ analyzerRef.current.disconnect();
110
+ analyzerRef.current = null;
111
+ }
112
+ if (audioContextRef.current) {
113
+ audioContextRef.current.close();
114
+ audioContextRef.current = null;
115
+ }
116
+ // Smooth reset: gradually fade out frequencies instead of instant reset
117
+ setAudioData((prevData) => ({
118
+ volume: 0,
119
+ frequencies: prevData.frequencies.map(() => 0), // Fade to 0 instead of defaultFrequencies
120
+ }));
121
+ }, []);
122
+ // Cleanup on unmount
123
+ useEffect(() => {
124
+ return () => {
125
+ stopAnalyzing();
126
+ };
127
+ }, [stopAnalyzing]);
128
+ return {
129
+ audioData,
130
+ isAnalyzing,
131
+ startAnalyzing,
132
+ stopAnalyzing,
133
+ };
134
+ };
135
+ //# sourceMappingURL=useAudioAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAudioAnalyzer.js","sourceRoot":"","sources":["../../src/hooks/useAudioAnalyzer.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nexport interface AudioAnalyzerData {\n volume: number; // 0-100\n frequencies: number[]; // Array of frequency data\n}\n\nlet lastUpdateTime = 0;\nconst updateInterval = 100;\nconst DEFAULT_MAX_HISTORY_LENGTH = 65;\n\nexport const useAudioAnalyzer = (\n maxHistoryLength: number = DEFAULT_MAX_HISTORY_LENGTH\n) => {\n const [audioData, setAudioData] = useState<AudioAnalyzerData>({\n volume: 0,\n frequencies: Array(maxHistoryLength).fill(1), // Dynamic array size\n });\n const [isAnalyzing, setIsAnalyzing] = useState(false);\n\n const audioContextRef = useRef<AudioContext | null>(null);\n const analyzerRef = useRef<AnalyserNode | null>(null);\n const sourceRef = useRef<MediaStreamAudioSourceNode | null>(null);\n const animationFrameRef = useRef<number | null>(null);\n\n // Update frequencies array when maxHistoryLength changes\n useEffect(() => {\n setAudioData((prevData) => {\n const newFrequencies = [...prevData.frequencies];\n\n if (newFrequencies.length > maxHistoryLength) {\n // Trim from beginning if too long\n return {\n ...prevData,\n frequencies: newFrequencies.slice(-maxHistoryLength),\n };\n } else if (newFrequencies.length < maxHistoryLength) {\n // Pad with zeros if too short\n const padding = Array(maxHistoryLength - newFrequencies.length).fill(0);\n return {\n ...prevData,\n frequencies: [...padding, ...newFrequencies],\n };\n }\n\n return prevData;\n });\n }, [maxHistoryLength]);\n\n const startAnalyzing = useCallback(\n (stream: MediaStream) => {\n try {\n // Create audio context\n audioContextRef.current = new (window.AudioContext ||\n (window as unknown as { webkitAudioContext: typeof AudioContext })\n .webkitAudioContext)();\n\n // Create analyzer\n analyzerRef.current = audioContextRef.current.createAnalyser();\n analyzerRef.current.fftSize = 256;\n analyzerRef.current.smoothingTimeConstant = 0.8;\n\n // Create source from stream\n sourceRef.current =\n audioContextRef.current.createMediaStreamSource(stream);\n sourceRef.current.connect(analyzerRef.current);\n\n setIsAnalyzing(true);\n\n // Add throttling variables\n\n // Start analyzing\n const analyze = () => {\n if (!analyzerRef.current) return;\n\n const bufferLength = analyzerRef.current.frequencyBinCount;\n const dataArray = new Uint8Array(bufferLength);\n analyzerRef.current.getByteFrequencyData(dataArray);\n\n // Calculate volume (0-100)\n const sum = dataArray.reduce((acc, value) => acc + value, 0);\n const average = sum / bufferLength;\n const volume = Math.min(100, (average / 255) * 100);\n\n // Throttle updates - only update every 150ms\n const currentTime = Date.now();\n if (currentTime - lastUpdateTime >= updateInterval) {\n lastUpdateTime = currentTime;\n\n // Use frequencies array to store volume history\n setAudioData((prevData) => {\n const newFrequencies = [...prevData.frequencies];\n\n // Add current volume to the end of the array\n newFrequencies.push(volume);\n\n // Keep only the last DEFAULT_MAX_HISTORY_LENGTH volume values for waveform display\n\n if (newFrequencies.length > maxHistoryLength) {\n newFrequencies.shift(); // Remove oldest value\n }\n\n return {\n volume, // Always update current volume for real-time display\n frequencies: newFrequencies,\n };\n });\n } else {\n // Still update current volume for real-time feedback\n setAudioData((prevData) => ({\n ...prevData,\n volume, // Update volume but keep same frequencies array\n }));\n }\n\n animationFrameRef.current = requestAnimationFrame(analyze);\n };\n\n analyze();\n } catch (error) {\n console.error('Error starting audio analysis:', error);\n }\n },\n [maxHistoryLength]\n );\n\n const stopAnalyzing = useCallback(() => {\n setIsAnalyzing(false);\n\n if (animationFrameRef.current) {\n cancelAnimationFrame(animationFrameRef.current);\n animationFrameRef.current = null;\n }\n\n if (sourceRef.current) {\n sourceRef.current.disconnect();\n sourceRef.current = null;\n }\n\n if (analyzerRef.current) {\n analyzerRef.current.disconnect();\n analyzerRef.current = null;\n }\n\n if (audioContextRef.current) {\n audioContextRef.current.close();\n audioContextRef.current = null;\n }\n\n // Smooth reset: gradually fade out frequencies instead of instant reset\n setAudioData((prevData) => ({\n volume: 0,\n frequencies: prevData.frequencies.map(() => 0), // Fade to 0 instead of defaultFrequencies\n }));\n }, []);\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n stopAnalyzing();\n };\n }, [stopAnalyzing]);\n\n return {\n audioData,\n isAnalyzing,\n startAnalyzing,\n stopAnalyzing,\n };\n};\n"]}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ type AudioMessagePlayerData = {
3
+ playingId: string | null;
4
+ disable: boolean;
5
+ onPlay: (messageId: string | null, stopping?: boolean) => void;
6
+ setDisabled: (value: boolean) => void;
7
+ };
8
+ export declare const AudioMessagePlayerProvider: ({ children, }: {
9
+ children: React.ReactNode;
10
+ }) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const useAudioMessage: () => AudioMessagePlayerData;
12
+ export {};
13
+ //# sourceMappingURL=useAudioMesseagePlayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAudioMesseagePlayer.d.ts","sourceRoot":"","sources":["../../src/hooks/useAudioMesseagePlayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAG1E,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/D,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC,CAAC;AAMF,eAAO,MAAM,0BAA0B,kBAEpC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,4CAqCA,CAAC;AAEF,eAAO,MAAM,eAAe,8BAQ3B,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React, { createContext, useEffect, useRef, useState } from 'react';
3
+ import { useScrollContainer } from './useScrollContainer';
4
+ const AudioMessagePlayerContext = createContext(undefined);
5
+ export const AudioMessagePlayerProvider = ({ children, }) => {
6
+ const [playingId, setPlayingId] = useState(null);
7
+ const [disable, setDisabled] = useState(false);
8
+ const timeoutRef = useRef(null);
9
+ const scroll = useScrollContainer();
10
+ const onPlay = (messageId, stopping = false) => {
11
+ if (!timeoutRef.current) {
12
+ scroll[2](false);
13
+ timeoutRef.current = setTimeout(() => {
14
+ scroll[2](true);
15
+ timeoutRef.current = null;
16
+ }, 300);
17
+ }
18
+ if (stopping && messageId !== playingId) {
19
+ return;
20
+ }
21
+ const msgId = stopping && messageId === playingId ? null : messageId;
22
+ setPlayingId(msgId);
23
+ };
24
+ useEffect(() => { }, []);
25
+ return (_jsx(AudioMessagePlayerContext.Provider, { value: {
26
+ playingId,
27
+ onPlay,
28
+ disable,
29
+ setDisabled,
30
+ }, children: children }));
31
+ };
32
+ export const useAudioMessage = () => {
33
+ const context = React.useContext(AudioMessagePlayerContext);
34
+ if (context === undefined) {
35
+ throw new Error('useAudioMessage must be used within a AudioMessagePlayerContext');
36
+ }
37
+ return context;
38
+ };
39
+ //# sourceMappingURL=useAudioMesseagePlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAudioMesseagePlayer.js","sourceRoot":"","sources":["../../src/hooks/useAudioMesseagePlayer.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAS1D,MAAM,yBAAyB,GAAG,aAAa,CAE7C,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EACzC,QAAQ,GAGT,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,kBAAkB,EAAkB,CAAC;IAEpD,MAAM,MAAM,GAAG,CAAC,SAAwB,EAAE,WAAoB,KAAK,EAAE,EAAE;QACrE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACjB,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACnC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;YAC5B,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC;QAED,IAAI,QAAQ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAExB,OAAO,CACL,KAAC,yBAAyB,CAAC,QAAQ,IACjC,KAAK,EAAE;YACL,SAAS;YACT,MAAM;YACN,OAAO;YACP,WAAW;SACZ,YAEA,QAAQ,GAC0B,CACtC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC","sourcesContent":["import React, { createContext, useEffect, useRef, useState } from 'react';\nimport { useScrollContainer } from './useScrollContainer';\n\ntype AudioMessagePlayerData = {\n playingId: string | null;\n disable: boolean;\n onPlay: (messageId: string | null, stopping?: boolean) => void;\n setDisabled: (value: boolean) => void;\n};\n\nconst AudioMessagePlayerContext = createContext<\n AudioMessagePlayerData | undefined\n>(undefined);\n\nexport const AudioMessagePlayerProvider = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const [playingId, setPlayingId] = useState<string | null>(null);\n const [disable, setDisabled] = useState<boolean>(false);\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n const scroll = useScrollContainer<HTMLDivElement>();\n\n const onPlay = (messageId: string | null, stopping: boolean = false) => {\n if (!timeoutRef.current) {\n scroll[2](false);\n timeoutRef.current = setTimeout(() => {\n scroll[2](true);\n timeoutRef.current = null;\n }, 300);\n }\n\n if (stopping && messageId !== playingId) {\n return;\n }\n\n const msgId = stopping && messageId === playingId ? null : messageId;\n setPlayingId(msgId);\n };\n\n useEffect(() => {}, []);\n\n return (\n <AudioMessagePlayerContext.Provider\n value={{\n playingId,\n onPlay,\n disable,\n setDisabled,\n }}\n >\n {children}\n </AudioMessagePlayerContext.Provider>\n );\n};\n\nexport const useAudioMessage = () => {\n const context = React.useContext(AudioMessagePlayerContext);\n if (context === undefined) {\n throw new Error(\n 'useAudioMessage must be used within a AudioMessagePlayerContext'\n );\n }\n return context;\n};\n"]}
@@ -0,0 +1,13 @@
1
+ export declare const useAudioRecording: (maxHistoryLength?: number) => {
2
+ elapsedTime: string;
3
+ recordingNotSupported: boolean;
4
+ isLoadingRecording: boolean;
5
+ isRecording: boolean;
6
+ setIsRecording: import("react").Dispatch<import("react").SetStateAction<boolean>>;
7
+ onRecordingCancelled: () => void;
8
+ onRecordingStopped: (onStop: null | ((blob: Blob) => void)) => void;
9
+ onRecordingStarted: () => void;
10
+ audioData: import("./useAudioAnalyzer").AudioAnalyzerData;
11
+ updateMaxHistoryLength: (newLength: number) => void;
12
+ };
13
+ //# sourceMappingURL=useAudioRecording.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAudioRecording.d.ts","sourceRoot":"","sources":["../../src/hooks/useAudioRecording.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,iBAAiB,sBAAuB,MAAM;;;;;;;iCAoCrB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;;;wCAYtB,MAAM;CAkBlD,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { useState } from 'react';
2
+ import { cancelAudioRecording, startAudioRecording, stopAudioRecording, audioRecorder, } from '../utils/audioRecording';
3
+ import { useAudioAnalyzer } from './useAudioAnalyzer';
4
+ export const useAudioRecording = (maxHistoryLength) => {
5
+ const [elapsedTime, setElapsedTime] = useState('00:00');
6
+ const [recordingNotSupported, setRecordingNotSupported] = useState(false);
7
+ const [isLoadingRecording, setIsLoadingRecording] = useState(false);
8
+ const [isRecording, setIsRecording] = useState(false);
9
+ const [dynamicMaxLength, setDynamicMaxLength] = useState(maxHistoryLength || 65);
10
+ // Add audio analyzer with dynamic maxHistoryLength
11
+ const { audioData, startAnalyzing, stopAnalyzing } = useAudioAnalyzer(dynamicMaxLength);
12
+ const onRecordingStarted = () => {
13
+ setIsRecording(true);
14
+ setIsLoadingRecording(false);
15
+ startAudioRecording((recordingStarted) => {
16
+ setIsRecording(recordingStarted);
17
+ // Start analyzing audio when recording starts
18
+ if (recordingStarted && audioRecorder.streamBeingCaptured) {
19
+ startAnalyzing(audioRecorder.streamBeingCaptured);
20
+ }
21
+ }, setRecordingNotSupported, setElapsedTime);
22
+ };
23
+ const onRecordingCancelled = () => {
24
+ if (!recordingNotSupported)
25
+ cancelAudioRecording();
26
+ setIsRecording(false);
27
+ setRecordingNotSupported(false);
28
+ stopAnalyzing();
29
+ };
30
+ const onRecordingStopped = (onStop) => {
31
+ setIsLoadingRecording(true);
32
+ stopAnalyzing();
33
+ stopAudioRecording((blob) => {
34
+ setIsLoadingRecording(false);
35
+ setIsRecording(false);
36
+ if (onStop) {
37
+ onStop(blob);
38
+ }
39
+ });
40
+ };
41
+ const updateMaxHistoryLength = (newLength) => {
42
+ setDynamicMaxLength(newLength);
43
+ };
44
+ return {
45
+ elapsedTime,
46
+ recordingNotSupported,
47
+ isLoadingRecording,
48
+ isRecording,
49
+ setIsRecording,
50
+ onRecordingCancelled,
51
+ onRecordingStopped,
52
+ onRecordingStarted,
53
+ // Add audio data for visualization
54
+ audioData,
55
+ // Add function to update maxHistoryLength
56
+ updateMaxHistoryLength,
57
+ };
58
+ };
59
+ //# sourceMappingURL=useAudioRecording.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAudioRecording.js","sourceRoot":"","sources":["../../src/hooks/useAudioRecording.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,gBAAyB,EAAE,EAAE;IAC7D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,gBAAgB,IAAI,EAAE,CACvB,CAAC;IAEF,mDAAmD;IACnD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,GAChD,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAErC,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,mBAAmB,CACjB,CAAC,gBAAyB,EAAE,EAAE;YAC5B,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACjC,8CAA8C;YAC9C,IAAI,gBAAgB,IAAI,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBAC1D,cAAc,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,EACD,wBAAwB,EACxB,cAAc,CACf,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,IAAI,CAAC,qBAAqB;YAAE,oBAAoB,EAAE,CAAC;QACnD,cAAc,CAAC,KAAK,CAAC,CAAC;QACtB,wBAAwB,CAAC,KAAK,CAAC,CAAC;QAChC,aAAa,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,MAAqC,EAAE,EAAE;QACnE,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5B,aAAa,EAAE,CAAC;QAChB,kBAAkB,CAAC,CAAC,IAAU,EAAE,EAAE;YAChC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7B,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,CAAC,SAAiB,EAAE,EAAE;QACnD,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO;QACL,WAAW;QACX,qBAAqB;QACrB,kBAAkB;QAClB,WAAW;QACX,cAAc;QACd,oBAAoB;QACpB,kBAAkB;QAClB,kBAAkB;QAClB,mCAAmC;QACnC,SAAS;QACT,0CAA0C;QAC1C,sBAAsB;KACvB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { useState } from 'react';\nimport {\n cancelAudioRecording,\n startAudioRecording,\n stopAudioRecording,\n audioRecorder,\n} from '../utils/audioRecording';\nimport { useAudioAnalyzer } from './useAudioAnalyzer';\n\nexport const useAudioRecording = (maxHistoryLength?: number) => {\n const [elapsedTime, setElapsedTime] = useState('00:00');\n const [recordingNotSupported, setRecordingNotSupported] = useState(false);\n const [isLoadingRecording, setIsLoadingRecording] = useState(false);\n const [isRecording, setIsRecording] = useState(false);\n const [dynamicMaxLength, setDynamicMaxLength] = useState(\n maxHistoryLength || 65\n );\n\n // Add audio analyzer with dynamic maxHistoryLength\n const { audioData, startAnalyzing, stopAnalyzing } =\n useAudioAnalyzer(dynamicMaxLength);\n\n const onRecordingStarted = () => {\n setIsRecording(true);\n setIsLoadingRecording(false);\n startAudioRecording(\n (recordingStarted: boolean) => {\n setIsRecording(recordingStarted);\n // Start analyzing audio when recording starts\n if (recordingStarted && audioRecorder.streamBeingCaptured) {\n startAnalyzing(audioRecorder.streamBeingCaptured);\n }\n },\n setRecordingNotSupported,\n setElapsedTime\n );\n };\n\n const onRecordingCancelled = () => {\n if (!recordingNotSupported) cancelAudioRecording();\n setIsRecording(false);\n setRecordingNotSupported(false);\n stopAnalyzing();\n };\n\n const onRecordingStopped = (onStop: null | ((blob: Blob) => void)) => {\n setIsLoadingRecording(true);\n stopAnalyzing();\n stopAudioRecording((blob: Blob) => {\n setIsLoadingRecording(false);\n setIsRecording(false);\n if (onStop) {\n onStop(blob);\n }\n });\n };\n\n const updateMaxHistoryLength = (newLength: number) => {\n setDynamicMaxLength(newLength);\n };\n\n return {\n elapsedTime,\n recordingNotSupported,\n isLoadingRecording,\n isRecording,\n setIsRecording,\n onRecordingCancelled,\n onRecordingStopped,\n onRecordingStarted,\n // Add audio data for visualization\n audioData,\n // Add function to update maxHistoryLength\n updateMaxHistoryLength,\n };\n};\n"]}
@@ -0,0 +1,29 @@
1
+ import { SuggestionType } from 'types/common.type';
2
+ import { BotType } from '../types/bot.type';
3
+ import { ChatMessageType } from '../types/flowise.type';
4
+ type PropsType = {
5
+ id?: string;
6
+ agentId?: string;
7
+ initialMessages: ChatMessageType[];
8
+ initialInput?: string;
9
+ };
10
+ type ReturnType = {
11
+ messages?: ChatMessageType[];
12
+ setMessages: (messages: ChatMessageType[]) => void;
13
+ handleSubmit: (event?: {
14
+ preventDefault?: () => void;
15
+ }) => void;
16
+ input?: string;
17
+ setInput: (input: string) => void;
18
+ isLoading: boolean;
19
+ stop: () => void;
20
+ chatId: string;
21
+ append: (message: ChatMessageType) => Promise<void>;
22
+ bot: BotType | null;
23
+ enableTTS: boolean;
24
+ setEnableTTS: (value: boolean) => void;
25
+ suggestions: SuggestionType[];
26
+ };
27
+ export declare const useChat: (props: PropsType) => ReturnType;
28
+ export {};
29
+ //# sourceMappingURL=useChat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../src/hooks/useChat.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAEL,eAAe,EAKhB,MAAM,uBAAuB,CAAC;AAS/B,KAAK,SAAS,GAAG;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,WAAW,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACnD,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,UAiR1C,CAAC"}
@@ -0,0 +1,225 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import useSWR from 'swr';
3
+ import { getBot } from '../services/bot.service';
4
+ import { getSuggestions, predict } from '../services/chat.service';
5
+ import { generateUUID } from '../utils/commonUtils';
6
+ import { useConfiguration } from './useConfiguration';
7
+ import { parseTraceEventMessage, groupChatflowSteps as groupChatFlowSteps, groupAgentFlowSteps, } from 'utils/agentTraceUtils';
8
+ export const useChat = (props) => {
9
+ const { id, initialMessages, initialInput, agentId } = props;
10
+ const { apiHost, overrideConfig, theme, skipSuggestion = false, } = useConfiguration();
11
+ const idKey = id ?? generateUUID();
12
+ const chatIdRef = useRef(idKey);
13
+ const [chatId, setChatId] = useState(idKey);
14
+ const [bot, setBot] = useState(null);
15
+ const [enableTTS, setEnableTTS] = useState(false);
16
+ const [suggestions, setSuggestions] = useState([]);
17
+ const updateChatId = (uuid) => {
18
+ chatIdRef.current = uuid;
19
+ setChatId(uuid);
20
+ };
21
+ useEffect(() => {
22
+ if (id) {
23
+ updateChatId(id);
24
+ }
25
+ }, [id]);
26
+ useEffect(() => {
27
+ getBot(agentId || 'default', apiHost).then((res) => setBot(res));
28
+ }, [agentId, apiHost]);
29
+ useEffect(() => {
30
+ if (bot?.id && chatId) {
31
+ updateSuggestions(`Agent name: ${bot.name}, Title: ${theme?.overview?.title}`);
32
+ }
33
+ }, [bot?.id, chatId, skipSuggestion]);
34
+ const updateSuggestions = useCallback(async (question) => {
35
+ if (skipSuggestion) {
36
+ setSuggestions([]);
37
+ return;
38
+ }
39
+ const resSuggestions = await getSuggestions({
40
+ id: chatId,
41
+ question,
42
+ apiHost,
43
+ botId: bot?.id,
44
+ });
45
+ setSuggestions(resSuggestions);
46
+ }, [setSuggestions, chatId, bot?.id, skipSuggestion]);
47
+ const processResponseStream = async (msgs, req) => {
48
+ // Do an optimistic update to the chat state to show the updated messages immediately:
49
+ mutateMessages(msgs, false);
50
+ const newMessage = {
51
+ id: generateUUID(),
52
+ chatId: chatIdRef.current,
53
+ role: 'apiMessage',
54
+ content: '',
55
+ createdDate: new Date().toISOString(),
56
+ tts: enableTTS,
57
+ new: true,
58
+ agentSteps: [],
59
+ };
60
+ const onUpdate = (chunk) => {
61
+ if (chunk?.event === 'token') {
62
+ newMessage.content = newMessage.content + chunk.data;
63
+ mutateMessages([...msgs, { ...newMessage }]);
64
+ }
65
+ else if (chunk.event == 'usedTools') {
66
+ newMessage.usedTools = chunk.data;
67
+ mutateMessages([...msgs, { ...newMessage }]);
68
+ }
69
+ else if (chunk.event == 'sourceDocuments') {
70
+ newMessage.sourceDocuments = chunk.data;
71
+ mutateMessages([...msgs, { ...newMessage }]);
72
+ }
73
+ else if (chunk.event == 'metadata') {
74
+ newMessage.metaData = chunk.data;
75
+ const lastMsg = msgs[msgs.length - 1];
76
+ if (lastMsg) {
77
+ lastMsg.content = newMessage.metaData.question;
78
+ }
79
+ mutateMessages([...msgs, { ...newMessage }]);
80
+ updateSuggestions(`Agent name: ${bot?.name}, Title: ${theme?.overview?.title}`);
81
+ }
82
+ else if (chunk.event == 'audio') {
83
+ newMessage.ttsUrl = chunk.data;
84
+ mutateMessages([...msgs, { ...newMessage }]);
85
+ }
86
+ else if (chunk.event == 'agent_trace') {
87
+ // Handle agent trace events for chatflow thinking display
88
+ const agentStep = parseTraceEventMessage(chunk);
89
+ if (agentStep) {
90
+ if (!newMessage.agentSteps) {
91
+ newMessage.agentSteps = [];
92
+ }
93
+ newMessage.agentSteps.push(agentStep);
94
+ newMessage.agentSteps = groupChatFlowSteps(newMessage.agentSteps);
95
+ mutateMessages([...msgs, { ...newMessage }]);
96
+ }
97
+ }
98
+ else if (chunk.event == 'agentFlowEvent' ||
99
+ chunk.event == 'nextAgentFlow' ||
100
+ chunk.event == 'agentFlowExecutedData') {
101
+ // Handle AgentFlow events for multi-agent workflow display
102
+ const agentStep = parseTraceEventMessage(chunk);
103
+ if (agentStep) {
104
+ if (!newMessage.agentSteps) {
105
+ newMessage.agentSteps = [];
106
+ }
107
+ newMessage.agentSteps.push(agentStep);
108
+ // Combine both grouped step types
109
+ newMessage.agentSteps = groupAgentFlowSteps(newMessage.agentSteps);
110
+ mutateMessages([...msgs, { ...newMessage }]);
111
+ }
112
+ }
113
+ };
114
+ return predict({
115
+ req,
116
+ apiHost,
117
+ onUpdate,
118
+ });
119
+ };
120
+ // Store a empty array as the initial messages
121
+ // (instead of using a default parameter value that gets re-created each time)
122
+ // to avoid re-renders:
123
+ const [initialMessagesFallback] = useState([]);
124
+ // Store the chat state in SWR, using the chatId as the key to share states.
125
+ const { data: messages, mutate: mutateMessages } = useSWR([chatId, 'messages'], null, { fallbackData: initialMessages ?? initialMessagesFallback });
126
+ // Keep the latest messages in a ref.
127
+ const messagesRef = useRef(messages || []);
128
+ useEffect(() => {
129
+ messagesRef.current = messages || [];
130
+ }, [messages]);
131
+ // We store loading state in another hook to sync loading states across hook invocations
132
+ const { data: isLoading = false, mutate: mutateLoading } = useSWR([chatId, 'loading'], null);
133
+ // Abort controller to cancel the current API call.
134
+ const abortControllerRef = useRef(null);
135
+ const triggerRequest = useCallback(async (msgs, req) => {
136
+ try {
137
+ mutateLoading(true);
138
+ const abortController = new AbortController();
139
+ abortControllerRef.current = abortController;
140
+ await processResponseStream(msgs, req);
141
+ abortControllerRef.current = null;
142
+ }
143
+ catch (err) {
144
+ // Ignore abort errors as they are expected.
145
+ if (err.name === 'AbortError') {
146
+ abortControllerRef.current = null;
147
+ return null;
148
+ }
149
+ console.error(err);
150
+ }
151
+ finally {
152
+ mutateLoading(false);
153
+ }
154
+ }, [mutateMessages, mutateLoading, enableTTS]);
155
+ const append = async (message) => {
156
+ if (!message.content) {
157
+ return;
158
+ }
159
+ const msgs = messagesRef.current.concat({
160
+ id: generateUUID(),
161
+ chatId: chatIdRef.current,
162
+ role: 'userMessage',
163
+ content: message.content,
164
+ createdDate: new Date().toISOString(),
165
+ });
166
+ triggerRequest(msgs, {
167
+ chatId: chatIdRef.current,
168
+ question: message.content,
169
+ chatflowId: bot?.id,
170
+ overrideConfig: overrideConfig,
171
+ tts: enableTTS,
172
+ });
173
+ setInput('');
174
+ };
175
+ const stop = useCallback(() => {
176
+ if (abortControllerRef.current) {
177
+ abortControllerRef.current?.abort();
178
+ abortControllerRef.current = null;
179
+ }
180
+ }, []);
181
+ const setMessages = useCallback((msgs) => {
182
+ mutateMessages(msgs, false);
183
+ messagesRef.current = msgs;
184
+ }, [mutateMessages]);
185
+ // Input state and handlers.
186
+ const [input, setInput] = useState(initialInput);
187
+ const handleSubmit = useCallback(async (event, files) => {
188
+ event?.preventDefault?.();
189
+ if (!input && !files)
190
+ return;
191
+ const msgs = messagesRef.current.concat({
192
+ id: generateUUID(),
193
+ chatId: chatIdRef.current,
194
+ role: 'userMessage',
195
+ content: input || '',
196
+ createdDate: new Date().toISOString(),
197
+ fileUploads: files || [],
198
+ });
199
+ triggerRequest(msgs, {
200
+ chatId: chatIdRef.current,
201
+ question: input || '',
202
+ uploads: files || [],
203
+ chatflowId: bot?.id,
204
+ overrideConfig: overrideConfig,
205
+ tts: enableTTS,
206
+ });
207
+ setInput('');
208
+ }, [input, triggerRequest, bot]);
209
+ return {
210
+ messages,
211
+ setMessages,
212
+ input,
213
+ setInput,
214
+ isLoading,
215
+ handleSubmit,
216
+ stop,
217
+ chatId,
218
+ append,
219
+ bot,
220
+ enableTTS,
221
+ setEnableTTS,
222
+ suggestions,
223
+ };
224
+ };
225
+ //# sourceMappingURL=useChat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../src/hooks/useChat.ts"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport useSWR from 'swr';\nimport { SuggestionType } from 'types/common.type';\nimport { StreamResponse } from '../models/FlowiseClient';\nimport { getBot } from '../services/bot.service';\nimport { getSuggestions, predict } from '../services/chat.service';\nimport { BotType } from '../types/bot.type';\nimport {\n ChatMessageMetadataType,\n ChatMessageType,\n IFileUpload,\n PredictionData,\n SourceDocument,\n ToolUsage,\n} from '../types/flowise.type';\nimport { generateUUID } from '../utils/commonUtils';\nimport { useConfiguration } from './useConfiguration';\nimport {\n parseTraceEventMessage,\n groupChatflowSteps as groupChatFlowSteps,\n groupAgentFlowSteps,\n} from 'utils/agentTraceUtils';\n\ntype PropsType = {\n id?: string;\n agentId?: string;\n initialMessages: ChatMessageType[];\n initialInput?: string;\n};\n\ntype ReturnType = {\n messages?: ChatMessageType[];\n setMessages: (messages: ChatMessageType[]) => void;\n handleSubmit: (event?: { preventDefault?: () => void }) => void;\n input?: string;\n setInput: (input: string) => void;\n isLoading: boolean;\n stop: () => void;\n chatId: string;\n append: (message: ChatMessageType) => Promise<void>;\n bot: BotType | null;\n enableTTS: boolean;\n setEnableTTS: (value: boolean) => void;\n suggestions: SuggestionType[];\n};\n\nexport const useChat = (props: PropsType): ReturnType => {\n const { id, initialMessages, initialInput, agentId } = props;\n const {\n apiHost,\n overrideConfig,\n theme,\n skipSuggestion = false,\n } = useConfiguration();\n\n const idKey = id ?? generateUUID();\n const chatIdRef = useRef<string>(idKey);\n const [chatId, setChatId] = useState(idKey);\n const [bot, setBot] = useState<BotType | null>(null);\n const [enableTTS, setEnableTTS] = useState(false);\n const [suggestions, setSuggestions] = useState<SuggestionType[]>([]);\n\n const updateChatId = (uuid: string) => {\n chatIdRef.current = uuid;\n setChatId(uuid);\n };\n\n useEffect(() => {\n if (id) {\n updateChatId(id);\n }\n }, [id]);\n\n useEffect(() => {\n getBot(agentId || 'default', apiHost).then((res) => setBot(res));\n }, [agentId, apiHost]);\n\n useEffect(() => {\n if (bot?.id && chatId) {\n updateSuggestions(\n `Agent name: ${bot.name}, Title: ${theme?.overview?.title}`\n );\n }\n }, [bot?.id, chatId, skipSuggestion]);\n\n const updateSuggestions = useCallback(\n async (question?: string) => {\n if (skipSuggestion) {\n setSuggestions([]);\n return;\n }\n\n const resSuggestions = await getSuggestions({\n id: chatId,\n question,\n apiHost,\n botId: bot?.id,\n });\n setSuggestions(resSuggestions);\n },\n [setSuggestions, chatId, bot?.id, skipSuggestion]\n );\n\n const processResponseStream = async (\n msgs: ChatMessageType[],\n req: PredictionData\n ) => {\n // Do an optimistic update to the chat state to show the updated messages immediately:\n mutateMessages(msgs, false);\n\n const newMessage: ChatMessageType = {\n id: generateUUID(),\n chatId: chatIdRef.current,\n role: 'apiMessage',\n content: '',\n createdDate: new Date().toISOString(),\n tts: enableTTS,\n new: true,\n agentSteps: [],\n };\n\n const onUpdate = (chunk: StreamResponse) => {\n if (chunk?.event === 'token') {\n newMessage.content = newMessage.content + (chunk.data as string);\n mutateMessages([...msgs, { ...newMessage }]);\n } else if (chunk.event == 'usedTools') {\n newMessage.usedTools = chunk.data as ToolUsage[];\n mutateMessages([...msgs, { ...newMessage }]);\n } else if (chunk.event == 'sourceDocuments') {\n newMessage.sourceDocuments = chunk.data as SourceDocument[];\n mutateMessages([...msgs, { ...newMessage }]);\n } else if (chunk.event == 'metadata') {\n newMessage.metaData = chunk.data as ChatMessageMetadataType;\n const lastMsg = msgs[msgs.length - 1];\n if (lastMsg) {\n lastMsg.content = newMessage.metaData.question;\n }\n mutateMessages([...msgs, { ...newMessage }]);\n updateSuggestions(\n `Agent name: ${bot?.name}, Title: ${theme?.overview?.title}`\n );\n } else if (chunk.event == 'audio') {\n newMessage.ttsUrl = chunk.data as string;\n mutateMessages([...msgs, { ...newMessage }]);\n } else if (chunk.event == 'agent_trace') {\n // Handle agent trace events for chatflow thinking display\n const agentStep = parseTraceEventMessage(chunk as any);\n if (agentStep) {\n if (!newMessage.agentSteps) {\n newMessage.agentSteps = [];\n }\n newMessage.agentSteps.push(agentStep);\n\n newMessage.agentSteps = groupChatFlowSteps(newMessage.agentSteps);\n mutateMessages([...msgs, { ...newMessage }]);\n }\n } else if (\n chunk.event == 'agentFlowEvent' ||\n chunk.event == 'nextAgentFlow' ||\n chunk.event == 'agentFlowExecutedData'\n ) {\n // Handle AgentFlow events for multi-agent workflow display\n const agentStep = parseTraceEventMessage(chunk as any);\n if (agentStep) {\n if (!newMessage.agentSteps) {\n newMessage.agentSteps = [];\n }\n newMessage.agentSteps.push(agentStep);\n\n // Combine both grouped step types\n newMessage.agentSteps = groupAgentFlowSteps(newMessage.agentSteps);\n mutateMessages([...msgs, { ...newMessage }]);\n }\n }\n };\n\n return predict({\n req,\n apiHost,\n onUpdate,\n });\n };\n\n // Store a empty array as the initial messages\n // (instead of using a default parameter value that gets re-created each time)\n // to avoid re-renders:\n const [initialMessagesFallback] = useState([]);\n\n // Store the chat state in SWR, using the chatId as the key to share states.\n const { data: messages, mutate: mutateMessages } = useSWR<ChatMessageType[]>(\n [chatId, 'messages'],\n null,\n { fallbackData: initialMessages ?? initialMessagesFallback }\n );\n\n // Keep the latest messages in a ref.\n const messagesRef = useRef<ChatMessageType[]>(messages || []);\n useEffect(() => {\n messagesRef.current = messages || [];\n }, [messages]);\n\n // We store loading state in another hook to sync loading states across hook invocations\n const { data: isLoading = false, mutate: mutateLoading } = useSWR<boolean>(\n [chatId, 'loading'],\n null\n );\n\n // Abort controller to cancel the current API call.\n const abortControllerRef = useRef<AbortController | null>(null);\n\n const triggerRequest = useCallback(\n async (msgs: ChatMessageType[], req: PredictionData) => {\n try {\n mutateLoading(true);\n\n const abortController = new AbortController();\n abortControllerRef.current = abortController;\n\n await processResponseStream(msgs, req);\n\n abortControllerRef.current = null;\n } catch (err) {\n // Ignore abort errors as they are expected.\n if ((err as any).name === 'AbortError') {\n abortControllerRef.current = null;\n return null;\n }\n\n console.error(err);\n } finally {\n mutateLoading(false);\n }\n },\n [mutateMessages, mutateLoading, enableTTS]\n );\n\n const append = async (message: ChatMessageType) => {\n if (!message.content) {\n return;\n }\n const msgs = messagesRef.current.concat({\n id: generateUUID(),\n chatId: chatIdRef.current,\n role: 'userMessage',\n content: message.content,\n createdDate: new Date().toISOString(),\n });\n\n triggerRequest(msgs, {\n chatId: chatIdRef.current,\n question: message.content,\n chatflowId: bot?.id,\n overrideConfig: overrideConfig,\n tts: enableTTS,\n });\n setInput('');\n };\n\n const stop = useCallback(() => {\n if (abortControllerRef.current) {\n abortControllerRef.current?.abort();\n abortControllerRef.current = null;\n }\n }, []);\n\n const setMessages = useCallback(\n (msgs: ChatMessageType[]) => {\n mutateMessages(msgs, false);\n messagesRef.current = msgs;\n },\n [mutateMessages]\n );\n\n // Input state and handlers.\n const [input, setInput] = useState(initialInput);\n\n const handleSubmit = useCallback(\n async (event?: { preventDefault?: () => void }, files?: IFileUpload[]) => {\n event?.preventDefault?.();\n\n if (!input && !files) return;\n\n const msgs = messagesRef.current.concat({\n id: generateUUID(),\n chatId: chatIdRef.current,\n role: 'userMessage',\n content: input || '',\n createdDate: new Date().toISOString(),\n fileUploads: files || [],\n });\n\n triggerRequest(msgs, {\n chatId: chatIdRef.current,\n question: input || '',\n uploads: files || [],\n chatflowId: bot?.id,\n overrideConfig: overrideConfig,\n tts: enableTTS,\n });\n setInput('');\n },\n [input, triggerRequest, bot]\n );\n\n return {\n messages,\n setMessages,\n input,\n setInput,\n isLoading,\n handleSubmit,\n stop,\n chatId,\n append,\n bot,\n enableTTS,\n setEnableTTS,\n suggestions,\n };\n};\n"]}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { EVENT_TYPE } from '../models';
3
+ import { SuggestionType } from '../types/common.type';
4
+ import { ChatMessageType } from '../types/flowise.type';
5
+ type ChatData = {
6
+ chatId?: string | undefined;
7
+ listeners?: Record<EVENT_TYPE, (props?: any) => void>;
8
+ initialMessages?: ChatMessageType[];
9
+ suggestedActions?: SuggestionType[];
10
+ };
11
+ type Actions = {
12
+ createNew?: () => string;
13
+ };
14
+ export declare const ChatDataProvider: ({ children, data, }: {
15
+ children: React.ReactNode;
16
+ data: ChatData;
17
+ }) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const useChatData: () => ChatData & Actions;
19
+ export {};
20
+ //# sourceMappingURL=useChatData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChatData.d.ts","sourceRoot":"","sources":["../../src/hooks/useChatData.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,KAAK,QAAQ,GAAG;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;IACtD,eAAe,CAAC,EAAE,eAAe,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;CACrC,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;CAC1B,CAAC;AAMF,eAAO,MAAM,gBAAgB,wBAG1B;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;CAChB,4CAqEA,CAAC;AAEF,eAAO,MAAM,WAAW,0BAMvB,CAAC"}