@memori.ai/memori-react 9.0.0-alpha.8 → 9.0.0-rc.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 (875) hide show
  1. package/CHANGELOG.md +760 -37
  2. package/dist/components/AgeVerificationModal/AgeVerificationModal.css +8 -9
  3. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +1 -3
  4. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  5. package/dist/components/Auth/Auth.css +14 -7
  6. package/dist/components/Auth/Auth.d.ts +1 -1
  7. package/dist/components/Auth/Auth.js +46 -34
  8. package/dist/components/Auth/Auth.js.map +1 -1
  9. package/dist/components/Avatar/Avatar.js +1 -1
  10. package/dist/components/Avatar/Avatar.js.map +1 -1
  11. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +1 -1
  12. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  13. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -2
  14. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +6 -6
  15. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  16. package/dist/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +3 -3
  17. package/dist/components/BlockedMemoriBadge/BlockedMemoriBadge.css +8 -7
  18. package/dist/components/ChangeMode/ChangeMode.css +1 -1
  19. package/dist/components/Chat/Chat.css +228 -45
  20. package/dist/components/Chat/Chat.d.ts +3 -0
  21. package/dist/components/Chat/Chat.js +123 -77
  22. package/dist/components/Chat/Chat.js.map +1 -1
  23. package/dist/components/ChatBubble/ChatBubble.css +399 -89
  24. package/dist/components/ChatBubble/ChatBubble.d.ts +2 -0
  25. package/dist/components/ChatBubble/ChatBubble.js +199 -97
  26. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  27. package/dist/components/ChatHistoryDrawer/ChatHistory.css +180 -706
  28. package/dist/components/ChatHistoryDrawer/ChatHistory.d.ts +3 -1
  29. package/dist/components/ChatHistoryDrawer/ChatHistory.js +229 -613
  30. package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  31. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +9 -298
  32. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +5 -2
  33. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +7 -80
  34. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  35. package/dist/components/ChatInputs/ChatInputs.css +303 -155
  36. package/dist/components/ChatInputs/ChatInputs.d.ts +2 -0
  37. package/dist/components/ChatInputs/ChatInputs.js +15 -9
  38. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  39. package/dist/components/ChatTextArea/ChatTextArea.css +54 -21
  40. package/dist/components/ChatTextArea/ChatTextArea.js +0 -17
  41. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  42. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.css +1 -1
  43. package/dist/components/ContentPreviewModal/ContentPreviewModal.css +380 -68
  44. package/dist/components/ContentPreviewModal/ContentPreviewModal.d.ts +4 -1
  45. package/dist/components/ContentPreviewModal/ContentPreviewModal.js +71 -6
  46. package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  47. package/dist/components/ContentPreviewModal/DocumentMarkdown.d.ts +7 -0
  48. package/dist/components/ContentPreviewModal/DocumentMarkdown.js +31 -0
  49. package/dist/components/ContentPreviewModal/DocumentMarkdown.js.map +1 -0
  50. package/dist/components/ContentPreviewModal/index.d.ts +2 -0
  51. package/dist/components/ContentPreviewModal/index.js +5 -1
  52. package/dist/components/ContentPreviewModal/index.js.map +1 -1
  53. package/dist/components/DateSelector/DateSelector.css +93 -7
  54. package/dist/components/DateSelector/DateSelector.js +5 -1
  55. package/dist/components/DateSelector/DateSelector.js.map +1 -1
  56. package/dist/components/DrawerFooter/DrawerFooter.css +39 -39
  57. package/dist/components/ExpertsDrawer/ExpertsDrawer.css +1 -7
  58. package/dist/components/ExpertsDrawer/ExpertsDrawer.js +1 -3
  59. package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  60. package/dist/components/ExportHistoryButton/ExportHistoryButton.css +1 -1
  61. package/dist/components/FeedbackButtons/FeedbackButtons.css +3 -3
  62. package/dist/components/FeedbackButtons/FeedbackButtons.js +2 -2
  63. package/dist/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
  64. package/dist/components/FilePreview/FilePreview.css +123 -223
  65. package/dist/components/FilePreview/FilePreview.d.ts +2 -1
  66. package/dist/components/FilePreview/FilePreview.js +37 -86
  67. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  68. package/dist/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  69. package/dist/components/Header/ChatConsumptionDropdown.js +31 -6
  70. package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
  71. package/dist/components/Header/Header.css +216 -53
  72. package/dist/components/Header/Header.d.ts +1 -0
  73. package/dist/components/Header/Header.js +201 -105
  74. package/dist/components/Header/Header.js.map +1 -1
  75. package/dist/components/IconButton/IconButton.css +135 -0
  76. package/dist/components/IconButton/IconButton.d.ts +9 -0
  77. package/dist/components/IconButton/IconButton.js +36 -0
  78. package/dist/components/IconButton/IconButton.js.map +1 -0
  79. package/dist/components/KnownFacts/KnownFacts.css +132 -35
  80. package/dist/components/KnownFacts/KnownFacts.js +184 -182
  81. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  82. package/dist/components/LoginDrawer/LoginDrawer.css +114 -74
  83. package/dist/components/LoginDrawer/LoginDrawer.js +66 -16
  84. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  85. package/dist/components/MediaWidget/MediaItemWidget.css +141 -121
  86. package/dist/components/MediaWidget/MediaItemWidget.js +15 -14
  87. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  88. package/dist/components/MediaWidget/MediaItemWidget.utils.d.ts +14 -0
  89. package/dist/components/MediaWidget/MediaItemWidget.utils.js +68 -4
  90. package/dist/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  91. package/dist/components/MediaWidget/MediaPreviewModal.js +12 -19
  92. package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  93. package/dist/components/MediaWidget/MediaWidget.css +2 -2
  94. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +9 -4
  95. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  96. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  97. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +14 -12
  98. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  99. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +43 -132
  100. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +393 -211
  101. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +48 -56
  102. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  103. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +48 -10
  104. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +20 -16
  105. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
  106. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +46 -25
  107. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +206 -62
  108. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  109. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +30 -21
  110. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +1 -1
  111. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  112. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  113. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +65 -1
  114. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  115. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  116. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +19 -14
  117. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  118. package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  119. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
  120. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  121. package/dist/components/MemoriWidget/MemoriWidget.css +8 -5
  122. package/dist/components/MemoriWidget/MemoriWidget.d.ts +3 -1
  123. package/dist/components/MemoriWidget/MemoriWidget.js +142 -81
  124. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  125. package/dist/components/MicrophoneButton/MicrophoneButton.css +4 -131
  126. package/dist/components/MicrophoneButton/MicrophoneButton.js +3 -1
  127. package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  128. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +122 -19
  129. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +3 -0
  130. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +75 -113
  131. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  132. package/dist/components/PositionPopover/PositionPopover.css +9 -10
  133. package/dist/components/PositionPopover/PositionPopover.d.ts +2 -0
  134. package/dist/components/PositionPopover/PositionPopover.js +57 -36
  135. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  136. package/dist/components/PoweredBy/PoweredBy.css +4 -3
  137. package/dist/components/ReasoningBlock/ReasoningBlock.css +156 -0
  138. package/dist/components/ReasoningBlock/ReasoningBlock.d.ts +7 -0
  139. package/dist/components/ReasoningBlock/ReasoningBlock.js +61 -0
  140. package/dist/components/ReasoningBlock/ReasoningBlock.js.map +1 -0
  141. package/dist/components/SendOnEnterMenu/SendOnEnterMenu.css +1 -1
  142. package/dist/components/SettingsDrawer/SettingsDrawer.js +2 -4
  143. package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  144. package/dist/components/ShareButton/ShareButton.css +101 -57
  145. package/dist/components/ShareButton/ShareButton.js +10 -9
  146. package/dist/components/ShareButton/ShareButton.js.map +1 -1
  147. package/dist/components/SideDrawer/SideDrawer.css +112 -0
  148. package/dist/components/SideDrawer/SideDrawer.d.ts +22 -0
  149. package/dist/components/SideDrawer/SideDrawer.js +17 -0
  150. package/dist/components/SideDrawer/SideDrawer.js.map +1 -0
  151. package/dist/components/Snippet/Snippet.css +10 -40
  152. package/dist/components/Snippet/Snippet.js +3 -1
  153. package/dist/components/Snippet/Snippet.js.map +1 -1
  154. package/dist/components/StartPanel/StartPanel.css +297 -49
  155. package/dist/components/StartPanel/StartPanel.d.ts +1 -0
  156. package/dist/components/StartPanel/StartPanel.js +45 -30
  157. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  158. package/dist/components/Typing/Typing.js +1 -1
  159. package/dist/components/Typing/Typing.js.map +1 -1
  160. package/dist/components/UploadButton/UploadButton.css +44 -62
  161. package/dist/components/UploadButton/UploadButton.d.ts +1 -0
  162. package/dist/components/UploadButton/UploadButton.js +17 -21
  163. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  164. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +1 -6
  165. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +23 -144
  166. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  167. package/dist/components/UploadButton/UploadImages/UploadImages.js +2 -8
  168. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  169. package/dist/components/VenueWidget/VenueWidget.css +6 -6
  170. package/dist/components/WhyThisAnswer/WhyThisAnswer.css +181 -107
  171. package/dist/components/WhyThisAnswer/WhyThisAnswer.d.ts +4 -1
  172. package/dist/components/WhyThisAnswer/WhyThisAnswer.js +169 -20
  173. package/dist/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  174. package/dist/components/layouts/Chat.js +66 -73
  175. package/dist/components/layouts/Chat.js.map +1 -1
  176. package/dist/components/layouts/FullPage.js +160 -39
  177. package/dist/components/layouts/FullPage.js.map +1 -1
  178. package/dist/components/layouts/HiddenChat.js +29 -19
  179. package/dist/components/layouts/HiddenChat.js.map +1 -1
  180. package/dist/components/layouts/Totem.js +10 -1
  181. package/dist/components/layouts/Totem.js.map +1 -1
  182. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +106 -6
  183. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  184. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +206 -73
  185. package/dist/components/layouts/ZoomedFullBody.js +158 -39
  186. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  187. package/dist/components/layouts/chat.css +260 -75
  188. package/dist/components/layouts/fullpage.css +295 -86
  189. package/dist/components/layouts/hidden-chat.css +211 -72
  190. package/dist/components/layouts/totem.css +194 -51
  191. package/dist/components/layouts/zoomed-full-body.css +292 -92
  192. package/dist/helpers/artifactPanel.d.ts +6 -0
  193. package/dist/helpers/artifactPanel.js +42 -0
  194. package/dist/helpers/artifactPanel.js.map +1 -0
  195. package/dist/helpers/chatScroll.d.ts +12 -0
  196. package/dist/helpers/chatScroll.js +14 -0
  197. package/dist/helpers/chatScroll.js.map +1 -0
  198. package/dist/helpers/constants.d.ts +3 -1
  199. package/dist/helpers/constants.js +25 -3
  200. package/dist/helpers/constants.js.map +1 -1
  201. package/dist/helpers/conversationHistory.d.ts +16 -0
  202. package/dist/helpers/conversationHistory.js +89 -0
  203. package/dist/helpers/conversationHistory.js.map +1 -0
  204. package/dist/helpers/conversationTitle.d.ts +8 -0
  205. package/dist/helpers/conversationTitle.js +27 -0
  206. package/dist/helpers/conversationTitle.js.map +1 -0
  207. package/dist/helpers/convertDocument.d.ts +1 -0
  208. package/dist/helpers/convertDocument.js +24 -0
  209. package/dist/helpers/convertDocument.js.map +1 -0
  210. package/dist/helpers/error.js +2 -1
  211. package/dist/helpers/error.js.map +1 -1
  212. package/dist/helpers/highlightMatches.d.ts +2 -0
  213. package/dist/helpers/highlightMatches.js +54 -0
  214. package/dist/helpers/highlightMatches.js.map +1 -0
  215. package/dist/helpers/media.js +18 -3
  216. package/dist/helpers/media.js.map +1 -1
  217. package/dist/helpers/message.js +4 -1
  218. package/dist/helpers/message.js.map +1 -1
  219. package/dist/helpers/nats/getNatsConfig.js.map +1 -1
  220. package/dist/helpers/nats/useNats.d.ts +2 -1
  221. package/dist/helpers/nats/useNats.js +87 -20
  222. package/dist/helpers/nats/useNats.js.map +1 -1
  223. package/dist/helpers/nats/useNatsSession.d.ts +6 -1
  224. package/dist/helpers/nats/useNatsSession.js +48 -7
  225. package/dist/helpers/nats/useNatsSession.js.map +1 -1
  226. package/dist/helpers/positionPopover.d.ts +3 -1
  227. package/dist/helpers/positionPopover.js +17 -2
  228. package/dist/helpers/positionPopover.js.map +1 -1
  229. package/dist/helpers/reasoning.d.ts +7 -0
  230. package/dist/helpers/reasoning.js +43 -0
  231. package/dist/helpers/reasoning.js.map +1 -0
  232. package/dist/helpers/relativeTime.d.ts +3 -0
  233. package/dist/helpers/relativeTime.js +56 -0
  234. package/dist/helpers/relativeTime.js.map +1 -0
  235. package/dist/helpers/sourcesCount.d.ts +2 -0
  236. package/dist/helpers/sourcesCount.js +22 -0
  237. package/dist/helpers/sourcesCount.js.map +1 -0
  238. package/dist/helpers/tts/muteSpeaker.d.ts +13 -0
  239. package/dist/helpers/tts/muteSpeaker.js +26 -0
  240. package/dist/helpers/tts/muteSpeaker.js.map +1 -0
  241. package/dist/helpers/tts/useTTS.js +18 -9
  242. package/dist/helpers/tts/useTTS.js.map +1 -1
  243. package/dist/helpers/usePressTooltip.d.ts +6 -1
  244. package/dist/helpers/usePressTooltip.js +16 -1
  245. package/dist/helpers/usePressTooltip.js.map +1 -1
  246. package/dist/helpers/utils.d.ts +3 -1
  247. package/dist/helpers/utils.js +20 -6
  248. package/dist/helpers/utils.js.map +1 -1
  249. package/dist/icons/MemoriIcon.js +1 -1
  250. package/dist/icons/MemoriIcon.js.map +1 -1
  251. package/dist/index.js +17 -17
  252. package/dist/index.js.map +1 -1
  253. package/dist/locales/de.json +81 -8
  254. package/dist/locales/en.json +79 -11
  255. package/dist/locales/es.json +78 -9
  256. package/dist/locales/fr.json +78 -9
  257. package/dist/locales/it.json +79 -11
  258. package/dist/styles/motion.css +25 -0
  259. package/dist/styles.css +1 -1
  260. package/dist/version.d.ts +1 -1
  261. package/dist/version.js +1 -1
  262. package/dist/version.js.map +1 -1
  263. package/esm/components/AgeVerificationModal/AgeVerificationModal.css +8 -9
  264. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +1 -3
  265. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  266. package/esm/components/Auth/Auth.css +14 -7
  267. package/esm/components/Auth/Auth.d.ts +1 -1
  268. package/esm/components/Auth/Auth.js +47 -35
  269. package/esm/components/Auth/Auth.js.map +1 -1
  270. package/esm/components/Avatar/Avatar.js +1 -1
  271. package/esm/components/Avatar/Avatar.js.map +1 -1
  272. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +2 -2
  273. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  274. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -2
  275. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +4 -5
  276. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  277. package/esm/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +3 -3
  278. package/esm/components/BlockedMemoriBadge/BlockedMemoriBadge.css +8 -7
  279. package/esm/components/ChangeMode/ChangeMode.css +1 -1
  280. package/esm/components/Chat/Chat.css +228 -45
  281. package/esm/components/Chat/Chat.d.ts +3 -0
  282. package/esm/components/Chat/Chat.js +125 -79
  283. package/esm/components/Chat/Chat.js.map +1 -1
  284. package/esm/components/ChatBubble/ChatBubble.css +399 -89
  285. package/esm/components/ChatBubble/ChatBubble.d.ts +2 -0
  286. package/esm/components/ChatBubble/ChatBubble.js +200 -98
  287. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  288. package/esm/components/ChatHistoryDrawer/ChatHistory.css +180 -706
  289. package/esm/components/ChatHistoryDrawer/ChatHistory.d.ts +3 -1
  290. package/esm/components/ChatHistoryDrawer/ChatHistory.js +233 -617
  291. package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  292. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +9 -298
  293. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +5 -2
  294. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +9 -82
  295. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  296. package/esm/components/ChatInputs/ChatInputs.css +303 -155
  297. package/esm/components/ChatInputs/ChatInputs.d.ts +2 -0
  298. package/esm/components/ChatInputs/ChatInputs.js +16 -10
  299. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  300. package/esm/components/ChatTextArea/ChatTextArea.css +54 -21
  301. package/esm/components/ChatTextArea/ChatTextArea.js +0 -17
  302. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  303. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.css +1 -1
  304. package/esm/components/ContentPreviewModal/ContentPreviewModal.css +380 -68
  305. package/esm/components/ContentPreviewModal/ContentPreviewModal.d.ts +4 -1
  306. package/esm/components/ContentPreviewModal/ContentPreviewModal.js +72 -7
  307. package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  308. package/esm/components/ContentPreviewModal/DocumentMarkdown.d.ts +7 -0
  309. package/esm/components/ContentPreviewModal/DocumentMarkdown.js +28 -0
  310. package/esm/components/ContentPreviewModal/DocumentMarkdown.js.map +1 -0
  311. package/esm/components/ContentPreviewModal/index.d.ts +2 -0
  312. package/esm/components/ContentPreviewModal/index.js +2 -0
  313. package/esm/components/ContentPreviewModal/index.js.map +1 -1
  314. package/esm/components/DateSelector/DateSelector.css +93 -7
  315. package/esm/components/DateSelector/DateSelector.js +5 -1
  316. package/esm/components/DateSelector/DateSelector.js.map +1 -1
  317. package/esm/components/DrawerFooter/DrawerFooter.css +39 -39
  318. package/esm/components/ExpertsDrawer/ExpertsDrawer.css +1 -7
  319. package/esm/components/ExpertsDrawer/ExpertsDrawer.js +1 -3
  320. package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  321. package/esm/components/ExportHistoryButton/ExportHistoryButton.css +1 -1
  322. package/esm/components/FeedbackButtons/FeedbackButtons.css +3 -3
  323. package/esm/components/FeedbackButtons/FeedbackButtons.js +2 -2
  324. package/esm/components/FeedbackButtons/FeedbackButtons.js.map +1 -1
  325. package/esm/components/FilePreview/FilePreview.css +123 -223
  326. package/esm/components/FilePreview/FilePreview.d.ts +2 -1
  327. package/esm/components/FilePreview/FilePreview.js +39 -88
  328. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  329. package/esm/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  330. package/esm/components/Header/ChatConsumptionDropdown.js +33 -8
  331. package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
  332. package/esm/components/Header/Header.css +216 -53
  333. package/esm/components/Header/Header.d.ts +1 -0
  334. package/esm/components/Header/Header.js +202 -106
  335. package/esm/components/Header/Header.js.map +1 -1
  336. package/esm/components/IconButton/IconButton.css +135 -0
  337. package/esm/components/IconButton/IconButton.d.ts +9 -0
  338. package/esm/components/IconButton/IconButton.js +33 -0
  339. package/esm/components/IconButton/IconButton.js.map +1 -0
  340. package/esm/components/KnownFacts/KnownFacts.css +132 -35
  341. package/esm/components/KnownFacts/KnownFacts.js +185 -184
  342. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  343. package/esm/components/LoginDrawer/LoginDrawer.css +114 -74
  344. package/esm/components/LoginDrawer/LoginDrawer.js +67 -17
  345. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  346. package/esm/components/MediaWidget/MediaItemWidget.css +141 -121
  347. package/esm/components/MediaWidget/MediaItemWidget.js +16 -15
  348. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  349. package/esm/components/MediaWidget/MediaItemWidget.utils.d.ts +14 -0
  350. package/esm/components/MediaWidget/MediaItemWidget.utils.js +65 -4
  351. package/esm/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  352. package/esm/components/MediaWidget/MediaPreviewModal.js +13 -20
  353. package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  354. package/esm/components/MediaWidget/MediaWidget.css +2 -2
  355. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +9 -4
  356. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  357. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  358. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +15 -13
  359. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  360. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +43 -132
  361. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +393 -211
  362. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +50 -58
  363. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  364. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +48 -10
  365. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js +21 -18
  366. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.js.map +1 -1
  367. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +46 -25
  368. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +208 -64
  369. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  370. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +30 -21
  371. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +2 -2
  372. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  373. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  374. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +66 -2
  375. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  376. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  377. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +19 -14
  378. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  379. package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  380. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
  381. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  382. package/esm/components/MemoriWidget/MemoriWidget.css +8 -5
  383. package/esm/components/MemoriWidget/MemoriWidget.d.ts +3 -1
  384. package/esm/components/MemoriWidget/MemoriWidget.js +144 -84
  385. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  386. package/esm/components/MicrophoneButton/MicrophoneButton.css +4 -131
  387. package/esm/components/MicrophoneButton/MicrophoneButton.js +3 -2
  388. package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  389. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +122 -19
  390. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +3 -0
  391. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +76 -114
  392. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  393. package/esm/components/PositionPopover/PositionPopover.css +9 -10
  394. package/esm/components/PositionPopover/PositionPopover.d.ts +2 -0
  395. package/esm/components/PositionPopover/PositionPopover.js +58 -37
  396. package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
  397. package/esm/components/PoweredBy/PoweredBy.css +4 -3
  398. package/esm/components/ReasoningBlock/ReasoningBlock.css +156 -0
  399. package/esm/components/ReasoningBlock/ReasoningBlock.d.ts +7 -0
  400. package/esm/components/ReasoningBlock/ReasoningBlock.js +58 -0
  401. package/esm/components/ReasoningBlock/ReasoningBlock.js.map +1 -0
  402. package/esm/components/SendOnEnterMenu/SendOnEnterMenu.css +1 -1
  403. package/esm/components/SettingsDrawer/SettingsDrawer.js +2 -4
  404. package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  405. package/esm/components/ShareButton/ShareButton.css +101 -57
  406. package/esm/components/ShareButton/ShareButton.js +11 -10
  407. package/esm/components/ShareButton/ShareButton.js.map +1 -1
  408. package/esm/components/SideDrawer/SideDrawer.css +112 -0
  409. package/esm/components/SideDrawer/SideDrawer.d.ts +22 -0
  410. package/esm/components/SideDrawer/SideDrawer.js +12 -0
  411. package/esm/components/SideDrawer/SideDrawer.js.map +1 -0
  412. package/esm/components/Snippet/Snippet.css +10 -40
  413. package/esm/components/Snippet/Snippet.js +4 -2
  414. package/esm/components/Snippet/Snippet.js.map +1 -1
  415. package/esm/components/StartPanel/StartPanel.css +297 -49
  416. package/esm/components/StartPanel/StartPanel.d.ts +1 -0
  417. package/esm/components/StartPanel/StartPanel.js +46 -31
  418. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  419. package/esm/components/Typing/Typing.js +1 -1
  420. package/esm/components/Typing/Typing.js.map +1 -1
  421. package/esm/components/UploadButton/UploadButton.css +44 -62
  422. package/esm/components/UploadButton/UploadButton.d.ts +1 -0
  423. package/esm/components/UploadButton/UploadButton.js +18 -22
  424. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  425. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +1 -6
  426. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +25 -146
  427. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  428. package/esm/components/UploadButton/UploadImages/UploadImages.js +2 -8
  429. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  430. package/esm/components/VenueWidget/VenueWidget.css +6 -6
  431. package/esm/components/WhyThisAnswer/WhyThisAnswer.css +181 -107
  432. package/esm/components/WhyThisAnswer/WhyThisAnswer.d.ts +4 -1
  433. package/esm/components/WhyThisAnswer/WhyThisAnswer.js +172 -23
  434. package/esm/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  435. package/esm/components/layouts/Chat.js +69 -76
  436. package/esm/components/layouts/Chat.js.map +1 -1
  437. package/esm/components/layouts/FullPage.js +162 -41
  438. package/esm/components/layouts/FullPage.js.map +1 -1
  439. package/esm/components/layouts/HiddenChat.js +29 -19
  440. package/esm/components/layouts/HiddenChat.js.map +1 -1
  441. package/esm/components/layouts/Totem.js +10 -1
  442. package/esm/components/layouts/Totem.js.map +1 -1
  443. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +107 -7
  444. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  445. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +206 -73
  446. package/esm/components/layouts/ZoomedFullBody.js +160 -41
  447. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  448. package/esm/components/layouts/chat.css +260 -75
  449. package/esm/components/layouts/fullpage.css +295 -86
  450. package/esm/components/layouts/hidden-chat.css +211 -72
  451. package/esm/components/layouts/totem.css +194 -51
  452. package/esm/components/layouts/zoomed-full-body.css +292 -92
  453. package/esm/helpers/artifactPanel.d.ts +6 -0
  454. package/esm/helpers/artifactPanel.js +37 -0
  455. package/esm/helpers/artifactPanel.js.map +1 -0
  456. package/esm/helpers/chatScroll.d.ts +12 -0
  457. package/esm/helpers/chatScroll.js +9 -0
  458. package/esm/helpers/chatScroll.js.map +1 -0
  459. package/esm/helpers/constants.d.ts +3 -1
  460. package/esm/helpers/constants.js +24 -2
  461. package/esm/helpers/constants.js.map +1 -1
  462. package/esm/helpers/conversationHistory.d.ts +16 -0
  463. package/esm/helpers/conversationHistory.js +82 -0
  464. package/esm/helpers/conversationHistory.js.map +1 -0
  465. package/esm/helpers/conversationTitle.d.ts +8 -0
  466. package/esm/helpers/conversationTitle.js +23 -0
  467. package/esm/helpers/conversationTitle.js.map +1 -0
  468. package/esm/helpers/convertDocument.d.ts +1 -0
  469. package/esm/helpers/convertDocument.js +20 -0
  470. package/esm/helpers/convertDocument.js.map +1 -0
  471. package/esm/helpers/error.js +2 -1
  472. package/esm/helpers/error.js.map +1 -1
  473. package/esm/helpers/highlightMatches.d.ts +2 -0
  474. package/esm/helpers/highlightMatches.js +49 -0
  475. package/esm/helpers/highlightMatches.js.map +1 -0
  476. package/esm/helpers/media.js +18 -3
  477. package/esm/helpers/media.js.map +1 -1
  478. package/esm/helpers/message.js +5 -2
  479. package/esm/helpers/message.js.map +1 -1
  480. package/esm/helpers/nats/getNatsConfig.js.map +1 -1
  481. package/esm/helpers/nats/useNats.d.ts +2 -1
  482. package/esm/helpers/nats/useNats.js +87 -20
  483. package/esm/helpers/nats/useNats.js.map +1 -1
  484. package/esm/helpers/nats/useNatsSession.d.ts +6 -1
  485. package/esm/helpers/nats/useNatsSession.js +48 -8
  486. package/esm/helpers/nats/useNatsSession.js.map +1 -1
  487. package/esm/helpers/positionPopover.d.ts +3 -1
  488. package/esm/helpers/positionPopover.js +15 -2
  489. package/esm/helpers/positionPopover.js.map +1 -1
  490. package/esm/helpers/reasoning.d.ts +7 -0
  491. package/esm/helpers/reasoning.js +39 -0
  492. package/esm/helpers/reasoning.js.map +1 -0
  493. package/esm/helpers/relativeTime.d.ts +3 -0
  494. package/esm/helpers/relativeTime.js +50 -0
  495. package/esm/helpers/relativeTime.js.map +1 -0
  496. package/esm/helpers/sourcesCount.d.ts +2 -0
  497. package/esm/helpers/sourcesCount.js +18 -0
  498. package/esm/helpers/sourcesCount.js.map +1 -0
  499. package/esm/helpers/tts/muteSpeaker.d.ts +13 -0
  500. package/esm/helpers/tts/muteSpeaker.js +21 -0
  501. package/esm/helpers/tts/muteSpeaker.js.map +1 -0
  502. package/esm/helpers/tts/useTTS.js +18 -9
  503. package/esm/helpers/tts/useTTS.js.map +1 -1
  504. package/esm/helpers/usePressTooltip.d.ts +6 -1
  505. package/esm/helpers/usePressTooltip.js +17 -2
  506. package/esm/helpers/usePressTooltip.js.map +1 -1
  507. package/esm/helpers/utils.d.ts +3 -1
  508. package/esm/helpers/utils.js +18 -6
  509. package/esm/helpers/utils.js.map +1 -1
  510. package/esm/icons/MemoriIcon.js +1 -1
  511. package/esm/icons/MemoriIcon.js.map +1 -1
  512. package/esm/index.js +18 -18
  513. package/esm/index.js.map +1 -1
  514. package/esm/locales/de.json +81 -8
  515. package/esm/locales/en.json +79 -11
  516. package/esm/locales/es.json +78 -9
  517. package/esm/locales/fr.json +78 -9
  518. package/esm/locales/it.json +79 -11
  519. package/esm/styles/motion.css +25 -0
  520. package/esm/styles.css +1 -1
  521. package/esm/version.d.ts +1 -1
  522. package/esm/version.js +1 -1
  523. package/esm/version.js.map +1 -1
  524. package/package.json +15 -55
  525. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  526. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -64
  527. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  528. package/dist/context/widgetSurfaceContext.d.ts +0 -3
  529. package/dist/context/widgetSurfaceContext.js +0 -11
  530. package/dist/context/widgetSurfaceContext.js.map +0 -1
  531. package/dist/testUtils.d.ts +0 -5
  532. package/dist/testUtils.js +0 -18
  533. package/dist/testUtils.js.map +0 -1
  534. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  535. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -62
  536. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  537. package/esm/context/widgetSurfaceContext.d.ts +0 -3
  538. package/esm/context/widgetSurfaceContext.js +0 -7
  539. package/esm/context/widgetSurfaceContext.js.map +0 -1
  540. package/esm/testUtils.d.ts +0 -5
  541. package/esm/testUtils.js +0 -15
  542. package/esm/testUtils.js.map +0 -1
  543. package/src/I18nWrapper.tsx +0 -13
  544. package/src/Showcase.stories.tsx +0 -641
  545. package/src/__snapshots__/index.test.tsx.snap +0 -126
  546. package/src/components/AgeVerificationModal/AgeVerificationModal.css +0 -118
  547. package/src/components/AgeVerificationModal/AgeVerificationModal.stories.tsx +0 -49
  548. package/src/components/AgeVerificationModal/AgeVerificationModal.test.tsx +0 -34
  549. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +0 -125
  550. package/src/components/AgeVerificationModal/__snapshots__/AgeVerificationModal.test.tsx.snap +0 -43
  551. package/src/components/Auth/Auth.css +0 -61
  552. package/src/components/Auth/Auth.stories.tsx +0 -90
  553. package/src/components/Auth/Auth.test.tsx +0 -63
  554. package/src/components/Auth/Auth.tsx +0 -216
  555. package/src/components/Auth/__snapshots__/Auth.test.tsx.snap +0 -199
  556. package/src/components/Avatar/Avatar.css +0 -151
  557. package/src/components/Avatar/Avatar.stories.tsx +0 -160
  558. package/src/components/Avatar/Avatar.test.tsx +0 -158
  559. package/src/components/Avatar/Avatar.tsx +0 -248
  560. package/src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx +0 -103
  561. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +0 -105
  562. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +0 -338
  563. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.ts +0 -44
  564. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.ts +0 -1091
  565. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.ts +0 -83
  566. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts +0 -301
  567. package/src/components/Avatar/AvatarView/AvatarComponent/components/controls.tsx +0 -100
  568. package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +0 -152
  569. package/src/components/Avatar/AvatarView/AvatarComponent/components/loader.tsx +0 -31
  570. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +0 -141
  571. package/src/components/Avatar/AvatarView/AvatarComponent/lights/Lights.tsx +0 -145
  572. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +0 -111
  573. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.tsx +0 -199
  574. package/src/components/Avatar/AvatarView/AvatarView.stories.tsx +0 -254
  575. package/src/components/Avatar/AvatarView/index.tsx +0 -194
  576. package/src/components/Avatar/AvatarView/utils/hideHands.ts +0 -11
  577. package/src/components/Avatar/AvatarView/utils/useEyeBlink.ts +0 -100
  578. package/src/components/Avatar/AvatarView/utils/useHeadMovement.ts +0 -72
  579. package/src/components/Avatar/AvatarView/utils/useLoadingMorphAnim.ts +0 -38
  580. package/src/components/Avatar/AvatarView/utils/useMouthAnimation.ts +0 -93
  581. package/src/components/Avatar/AvatarView/utils/useSmile.ts +0 -39
  582. package/src/components/Avatar/AvatarView/utils/utils.ts +0 -55
  583. package/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap +0 -284
  584. package/src/components/Blob/Blob.css +0 -288
  585. package/src/components/Blob/Blob.stories.tsx +0 -53
  586. package/src/components/Blob/Blob.test.tsx +0 -18
  587. package/src/components/Blob/Blob.tsx +0 -26
  588. package/src/components/Blob/__snapshots__/Blob.test.tsx.snap +0 -80
  589. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.css +0 -40
  590. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.stories.tsx +0 -58
  591. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.test.tsx +0 -53
  592. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.tsx +0 -74
  593. package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +0 -226
  594. package/src/components/ChangeMode/ChangeMode.css +0 -24
  595. package/src/components/ChangeMode/ChangeMode.stories.tsx +0 -50
  596. package/src/components/ChangeMode/ChangeMode.test.tsx +0 -24
  597. package/src/components/ChangeMode/ChangeMode.tsx +0 -52
  598. package/src/components/ChangeMode/__snapshots__/ChangeMode.test.tsx.snap +0 -77
  599. package/src/components/Chat/Chat.css +0 -361
  600. package/src/components/Chat/Chat.stories.tsx +0 -1687
  601. package/src/components/Chat/Chat.test.tsx +0 -381
  602. package/src/components/Chat/Chat.tsx +0 -768
  603. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +0 -10134
  604. package/src/components/ChatBubble/ChatBubble.css +0 -568
  605. package/src/components/ChatBubble/ChatBubble.stories.tsx +0 -1185
  606. package/src/components/ChatBubble/ChatBubble.test.tsx +0 -486
  607. package/src/components/ChatBubble/ChatBubble.tsx +0 -887
  608. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +0 -9849
  609. package/src/components/ChatHistoryDrawer/ChatHistory.css +0 -848
  610. package/src/components/ChatHistoryDrawer/ChatHistory.stories.tsx +0 -449
  611. package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +0 -116
  612. package/src/components/ChatHistoryDrawer/ChatHistory.tsx +0 -1295
  613. package/src/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
  614. package/src/components/ChatHistoryDrawer/ChatResumeDrawer.tsx +0 -295
  615. package/src/components/ChatHistoryDrawer/__snapshots__/ChatHistory.test.tsx.snap +0 -24
  616. package/src/components/ChatInputs/ChatInputs.css +0 -357
  617. package/src/components/ChatInputs/ChatInputs.stories.tsx +0 -254
  618. package/src/components/ChatInputs/ChatInputs.tsx +0 -510
  619. package/src/components/ChatTextArea/ChatTextArea.css +0 -211
  620. package/src/components/ChatTextArea/ChatTextArea.stories.tsx +0 -55
  621. package/src/components/ChatTextArea/ChatTextArea.test.tsx +0 -28
  622. package/src/components/ChatTextArea/ChatTextArea.tsx +0 -175
  623. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +0 -74
  624. package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +0 -36
  625. package/src/components/CompletionProviderStatus/CompletionProviderStatus.stories.tsx +0 -296
  626. package/src/components/CompletionProviderStatus/CompletionProviderStatus.test.tsx +0 -31
  627. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +0 -230
  628. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +0 -111
  629. package/src/components/ContentPreviewModal/ContentPreviewModal.css +0 -173
  630. package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +0 -71
  631. package/src/components/ContentPreviewModal/index.ts +0 -2
  632. package/src/components/CustomGLBModelViewer/ModelViewer.css +0 -11
  633. package/src/components/CustomGLBModelViewer/ModelViewer.stories.tsx +0 -58
  634. package/src/components/CustomGLBModelViewer/ModelViewer.test.tsx +0 -13
  635. package/src/components/CustomGLBModelViewer/ModelViewer.tsx +0 -37
  636. package/src/components/CustomGLBModelViewer/__snapshots__/ModelViewer.test.tsx.snap +0 -20
  637. package/src/components/DateSelector/DateSelector.css +0 -156
  638. package/src/components/DateSelector/DateSelector.stories.tsx +0 -47
  639. package/src/components/DateSelector/DateSelector.test.tsx +0 -149
  640. package/src/components/DateSelector/DateSelector.tsx +0 -258
  641. package/src/components/DateSelector/__snapshots__/DateSelector.test.tsx.snap +0 -1954
  642. package/src/components/DrawerFooter/DrawerFooter.css +0 -62
  643. package/src/components/DrawerFooter/DrawerFooter.tsx +0 -58
  644. package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -54
  645. package/src/components/ExpertsDrawer/ExpertsDrawer.css +0 -64
  646. package/src/components/ExpertsDrawer/ExpertsDrawer.stories.tsx +0 -54
  647. package/src/components/ExpertsDrawer/ExpertsDrawer.test.tsx +0 -53
  648. package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +0 -72
  649. package/src/components/ExpertsDrawer/__snapshots__/ExpertsDrawer.test.tsx.snap +0 -10
  650. package/src/components/ExportHistoryButton/ExportHistoryButton.css +0 -22
  651. package/src/components/FeedbackButtons/FeedbackButtons.css +0 -109
  652. package/src/components/FeedbackButtons/FeedbackButtons.stories.tsx +0 -55
  653. package/src/components/FeedbackButtons/FeedbackButtons.test.tsx +0 -11
  654. package/src/components/FeedbackButtons/FeedbackButtons.tsx +0 -179
  655. package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +0 -55
  656. package/src/components/FilePreview/FilePreview.css +0 -374
  657. package/src/components/FilePreview/FilePreview.stories.tsx +0 -66
  658. package/src/components/FilePreview/FilePreview.test.tsx +0 -26
  659. package/src/components/FilePreview/FilePreview.tsx +0 -286
  660. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +0 -254
  661. package/src/components/Header/ChatConsumptionDropdown.test.tsx +0 -154
  662. package/src/components/Header/ChatConsumptionDropdown.tsx +0 -353
  663. package/src/components/Header/Header.css +0 -746
  664. package/src/components/Header/Header.stories.tsx +0 -404
  665. package/src/components/Header/Header.test.tsx +0 -399
  666. package/src/components/Header/Header.tsx +0 -1235
  667. package/src/components/Header/__snapshots__/Header.test.tsx.snap +0 -2016
  668. package/src/components/KnownFacts/KnownFacts.css +0 -58
  669. package/src/components/KnownFacts/KnownFacts.stories.tsx +0 -83
  670. package/src/components/KnownFacts/KnownFacts.test.tsx +0 -57
  671. package/src/components/KnownFacts/KnownFacts.tsx +0 -392
  672. package/src/components/KnownFacts/__snapshots__/KnownFacts.test.tsx.snap +0 -43
  673. package/src/components/LoginDrawer/LoginDrawer.css +0 -1741
  674. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +0 -105
  675. package/src/components/LoginDrawer/LoginDrawer.test.tsx +0 -199
  676. package/src/components/LoginDrawer/LoginDrawer.tsx +0 -781
  677. package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +0 -169
  678. package/src/components/MediaWidget/DocumentCard.test.tsx +0 -45
  679. package/src/components/MediaWidget/DocumentCard.tsx +0 -19
  680. package/src/components/MediaWidget/MediaItemWidget.css +0 -1444
  681. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +0 -423
  682. package/src/components/MediaWidget/MediaItemWidget.test.tsx +0 -248
  683. package/src/components/MediaWidget/MediaItemWidget.tsx +0 -983
  684. package/src/components/MediaWidget/MediaItemWidget.types.ts +0 -65
  685. package/src/components/MediaWidget/MediaItemWidget.utils.test.ts +0 -367
  686. package/src/components/MediaWidget/MediaItemWidget.utils.ts +0 -227
  687. package/src/components/MediaWidget/MediaPreviewModal.test.tsx +0 -271
  688. package/src/components/MediaWidget/MediaPreviewModal.tsx +0 -425
  689. package/src/components/MediaWidget/MediaWidget.css +0 -131
  690. package/src/components/MediaWidget/MediaWidget.stories.tsx +0 -319
  691. package/src/components/MediaWidget/MediaWidget.test.tsx +0 -41
  692. package/src/components/MediaWidget/MediaWidget.tsx +0 -97
  693. package/src/components/MediaWidget/__snapshots__/DocumentCard.test.tsx.snap +0 -24
  694. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +0 -608
  695. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +0 -140
  696. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +0 -265
  697. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -159
  698. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +0 -240
  699. package/src/components/MemoriArtifactSystem/components/ArtifactActions/CopyButton.stories.tsx +0 -30
  700. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +0 -464
  701. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +0 -91
  702. package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +0 -620
  703. package/src/components/MemoriArtifactSystem/components/ArtifactActions/index.ts +0 -9
  704. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +0 -500
  705. package/src/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.tsx +0 -90
  706. package/src/components/MemoriArtifactSystem/components/ArtifactActions/types.ts +0 -73
  707. package/src/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.ts +0 -454
  708. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +0 -1100
  709. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +0 -440
  710. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +0 -20
  711. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +0 -63
  712. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +0 -283
  713. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +0 -397
  714. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +0 -354
  715. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +0 -159
  716. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +0 -80
  717. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +0 -18
  718. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +0 -308
  719. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +0 -384
  720. package/src/components/MemoriWidget/MemoriWidget.css +0 -167
  721. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +0 -295
  722. package/src/components/MemoriWidget/MemoriWidget.tsx +0 -4054
  723. package/src/components/MicrophoneButton/MicrophoneButton.css +0 -162
  724. package/src/components/MicrophoneButton/MicrophoneButton.stories.tsx +0 -52
  725. package/src/components/MicrophoneButton/MicrophoneButton.tsx +0 -135
  726. package/src/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
  727. package/src/components/MobileSessionPanel/MobileSessionPanel.tsx +0 -808
  728. package/src/components/PositionPopover/PositionPopover.css +0 -219
  729. package/src/components/PositionPopover/PositionPopover.stories.tsx +0 -37
  730. package/src/components/PositionPopover/PositionPopover.tsx +0 -367
  731. package/src/components/PoweredBy/PoweredBy.css +0 -49
  732. package/src/components/PoweredBy/PoweredBy.stories.tsx +0 -75
  733. package/src/components/PoweredBy/PoweredBy.test.tsx +0 -15
  734. package/src/components/PoweredBy/PoweredBy.tsx +0 -36
  735. package/src/components/PoweredBy/__snapshots__/PoweredBy.test.tsx.snap +0 -287
  736. package/src/components/SendOnEnterMenu/SendOnEnterMenu.css +0 -47
  737. package/src/components/SendOnEnterMenu/SendOnEnterMenu.stories.tsx +0 -58
  738. package/src/components/SendOnEnterMenu/SendOnEnterMenu.test.tsx +0 -17
  739. package/src/components/SendOnEnterMenu/SendOnEnterMenu.tsx +0 -48
  740. package/src/components/SendOnEnterMenu/__snapshots__/SendOnEnterMenu.test.tsx.snap +0 -105
  741. package/src/components/SettingsDrawer/SettingsDrawer.css +0 -24
  742. package/src/components/SettingsDrawer/SettingsDrawer.stories.tsx +0 -94
  743. package/src/components/SettingsDrawer/SettingsDrawer.test.tsx +0 -202
  744. package/src/components/SettingsDrawer/SettingsDrawer.tsx +0 -247
  745. package/src/components/SettingsDrawer/__snapshots__/SettingsDrawer.test.tsx.snap +0 -52
  746. package/src/components/ShareButton/ShareButton.css +0 -319
  747. package/src/components/ShareButton/ShareButton.stories.tsx +0 -103
  748. package/src/components/ShareButton/ShareButton.test.tsx +0 -53
  749. package/src/components/ShareButton/ShareButton.tsx +0 -749
  750. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +0 -739
  751. package/src/components/Snippet/Snippet.css +0 -178
  752. package/src/components/Snippet/Snippet.stories.tsx +0 -286
  753. package/src/components/Snippet/Snippet.test.tsx +0 -176
  754. package/src/components/Snippet/Snippet.tsx +0 -148
  755. package/src/components/Snippet/__snapshots__/Snippet.test.tsx.snap +0 -619
  756. package/src/components/StartPanel/StartPanel.css +0 -896
  757. package/src/components/StartPanel/StartPanel.stories.tsx +0 -394
  758. package/src/components/StartPanel/StartPanel.test.tsx +0 -371
  759. package/src/components/StartPanel/StartPanel.tsx +0 -745
  760. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +0 -3347
  761. package/src/components/Typing/Typing.stories.tsx +0 -130
  762. package/src/components/Typing/Typing.test.tsx +0 -62
  763. package/src/components/Typing/Typing.tsx +0 -232
  764. package/src/components/Typing/__snapshots__/Typing.test.tsx.snap +0 -173
  765. package/src/components/UploadButton/UploadButton.css +0 -573
  766. package/src/components/UploadButton/UploadButton.stories.tsx +0 -510
  767. package/src/components/UploadButton/UploadButton.test.tsx +0 -14
  768. package/src/components/UploadButton/UploadButton.tsx +0 -705
  769. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +0 -585
  770. package/src/components/UploadButton/UploadImages/UploadImages.tsx +0 -554
  771. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +0 -160
  772. package/src/components/VenueWidget/VenueWidget.css +0 -223
  773. package/src/components/VenueWidget/VenueWidget.stories.tsx +0 -69
  774. package/src/components/VenueWidget/VenueWidget.test.tsx +0 -49
  775. package/src/components/VenueWidget/VenueWidget.tsx +0 -578
  776. package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +0 -776
  777. package/src/components/WhyThisAnswer/WhyThisAnswer.css +0 -171
  778. package/src/components/WhyThisAnswer/WhyThisAnswer.stories.tsx +0 -288
  779. package/src/components/WhyThisAnswer/WhyThisAnswer.test.tsx +0 -245
  780. package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +0 -245
  781. package/src/components/WhyThisAnswer/__snapshots__/WhyThisAnswer.test.tsx.snap +0 -57
  782. package/src/components/icons/GasStation.tsx +0 -36
  783. package/src/components/layouts/Chat.test.tsx +0 -41
  784. package/src/components/layouts/Chat.tsx +0 -430
  785. package/src/components/layouts/FullBody/FullBody.stories.tsx +0 -110
  786. package/src/components/layouts/FullPage.test.tsx +0 -66
  787. package/src/components/layouts/FullPage.tsx +0 -382
  788. package/src/components/layouts/HiddenChat.test.tsx +0 -41
  789. package/src/components/layouts/HiddenChat.tsx +0 -377
  790. package/src/components/layouts/Totem/Totem.stories.tsx +0 -131
  791. package/src/components/layouts/Totem.test.tsx +0 -41
  792. package/src/components/layouts/Totem.tsx +0 -53
  793. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.stories.tsx +0 -115
  794. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.test.tsx +0 -43
  795. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +0 -150
  796. package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +0 -80
  797. package/src/components/layouts/WebsiteAssistant/website-assistant.css +0 -710
  798. package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +0 -131
  799. package/src/components/layouts/ZoomedFullBody.test.tsx +0 -41
  800. package/src/components/layouts/ZoomedFullBody.tsx +0 -379
  801. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +0 -762
  802. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +0 -1497
  803. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +0 -562
  804. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +0 -802
  805. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +0 -749
  806. package/src/components/layouts/chat.css +0 -645
  807. package/src/components/layouts/fullpage.css +0 -419
  808. package/src/components/layouts/hidden-chat.css +0 -516
  809. package/src/components/layouts/layouts.stories.tsx +0 -231
  810. package/src/components/layouts/totem.css +0 -230
  811. package/src/components/layouts/zoomed-full-body.css +0 -373
  812. package/src/context/visemeContext.tsx +0 -384
  813. package/src/context/widgetSurfaceContext.tsx +0 -14
  814. package/src/helpers/chatPdfExport.ts +0 -547
  815. package/src/helpers/configuration.ts +0 -42
  816. package/src/helpers/constants.ts +0 -244
  817. package/src/helpers/credits.ts +0 -54
  818. package/src/helpers/error.test.ts +0 -29
  819. package/src/helpers/error.ts +0 -278
  820. package/src/helpers/imageCompression.ts +0 -230
  821. package/src/helpers/llmUsage.ts +0 -328
  822. package/src/helpers/markedExtendedTables.js +0 -217
  823. package/src/helpers/media.test.ts +0 -133
  824. package/src/helpers/media.ts +0 -54
  825. package/src/helpers/message.test.ts +0 -126
  826. package/src/helpers/message.ts +0 -204
  827. package/src/helpers/nats/getNatsConfig.ts +0 -145
  828. package/src/helpers/nats/isSessionExpiredError.test.ts +0 -38
  829. package/src/helpers/nats/isSessionExpiredError.ts +0 -51
  830. package/src/helpers/nats/useNats.ts +0 -124
  831. package/src/helpers/nats/useNatsSession.ts +0 -394
  832. package/src/helpers/piiDetection.test.ts +0 -186
  833. package/src/helpers/piiDetection.ts +0 -91
  834. package/src/helpers/positionPopover.test.ts +0 -33
  835. package/src/helpers/positionPopover.ts +0 -13
  836. package/src/helpers/sanitizer.ts +0 -17
  837. package/src/helpers/statistics.ts +0 -58
  838. package/src/helpers/stt/useSTT.ts +0 -515
  839. package/src/helpers/translations.ts +0 -39
  840. package/src/helpers/tts/ttsVoiceUtility.ts +0 -275
  841. package/src/helpers/tts/useTTS.ts +0 -621
  842. package/src/helpers/usePressTooltip.ts +0 -29
  843. package/src/helpers/utils.test.ts +0 -321
  844. package/src/helpers/utils.ts +0 -588
  845. package/src/helpers/venue.ts +0 -36
  846. package/src/i18n.ts +0 -41
  847. package/src/icons/FacebookIcon.tsx +0 -23
  848. package/src/icons/LinkedinIcon.tsx +0 -23
  849. package/src/icons/MemoriIcon.tsx +0 -80
  850. package/src/icons/TelegramIcon.tsx +0 -19
  851. package/src/icons/TwitterIcon.tsx +0 -8
  852. package/src/icons/WhatsappIcon.tsx +0 -23
  853. package/src/icons/artifacts/DocumentIcon.tsx +0 -19
  854. package/src/icons/artifacts/HtmlIcon.tsx +0 -38
  855. package/src/icons/artifacts/JavascriptIcon.tsx +0 -19
  856. package/src/icons/artifacts/MarkdownIcon.tsx +0 -19
  857. package/src/icons/artifacts/PythonIcon.tsx +0 -17
  858. package/src/icons/artifacts/SvgIcon.tsx +0 -34
  859. package/src/icons/artifacts/XmlIcon.tsx +0 -34
  860. package/src/icons/artifacts/cssIcon.tsx +0 -34
  861. package/src/index.stories.tsx +0 -226
  862. package/src/index.test.tsx +0 -156
  863. package/src/index.tsx +0 -595
  864. package/src/locales/de.json +0 -738
  865. package/src/locales/en.json +0 -812
  866. package/src/locales/es.json +0 -739
  867. package/src/locales/fr.json +0 -740
  868. package/src/locales/it.json +0 -808
  869. package/src/mocks/data.ts +0 -790
  870. package/src/styles.css +0 -223
  871. package/src/testUtils.tsx +0 -42
  872. package/src/types/integration.test.ts +0 -32
  873. package/src/types/integration.ts +0 -31
  874. package/src/types/layout.ts +0 -50
  875. package/src/version.ts +0 -2
@@ -5,284 +5,72 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const ui_1 = require("@memori.ai/ui");
6
6
  const react_i18next_1 = require("react-i18next");
7
7
  const react_1 = require("react");
8
- const ui_2 = require("@memori.ai/ui");
9
8
  const lucide_react_1 = require("lucide-react");
10
9
  const utils_1 = require("../../helpers/utils");
11
10
  const message_1 = require("../../helpers/message");
12
- const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
13
- const ui_3 = require("@memori.ai/ui");
14
- const ui_4 = require("@memori.ai/ui");
15
- const widgetSurfaceContext_1 = require("../../context/widgetSurfaceContext");
11
+ const MediaItemWidget_utils_1 = require("../MediaWidget/MediaItemWidget.utils");
16
12
  const translations_1 = require("../../helpers/translations");
13
+ const conversationTitle_1 = require("../../helpers/conversationTitle");
14
+ const conversationHistory_1 = require("../../helpers/conversationHistory");
15
+ const SideDrawer_1 = tslib_1.__importStar(require("../SideDrawer/SideDrawer"));
16
+ const IconButton_1 = tslib_1.__importDefault(require("../IconButton/IconButton"));
17
+ const DrawerFooter_1 = tslib_1.__importDefault(require("../DrawerFooter/DrawerFooter"));
17
18
  const ChatResumeDrawer_1 = tslib_1.__importDefault(require("./ChatResumeDrawer"));
18
- const ITEMS_PER_PAGE = 8;
19
- const DEBOUNCE_DELAY = 300;
20
- const ICON_BACKGROUND_COLORS = [
21
- 'var(--chat-history-icon-purple, #EEEDFE)',
22
- 'var(--chat-history-icon-teal, #E1F5EE)',
23
- 'var(--chat-history-icon-amber, #FAEEDA)',
24
- 'var(--chat-history-icon-coral, #FAECE7)',
25
- ];
26
- const isImageMimeType = (mimeType) => { var _a; return (_a = mimeType === null || mimeType === void 0 ? void 0 : mimeType.startsWith('image/')) !== null && _a !== void 0 ? _a : false; };
27
- const isFileMimeType = (mimeType) => !isImageMimeType(mimeType);
28
- const calculateTitle = (lines) => {
29
- const userMessages = lines.filter(line => line.inbound);
30
- if (userMessages.length === 0)
31
- return '';
32
- const insignificantPhrases = [
33
- 'hello',
34
- 'hi',
35
- 'hey',
36
- 'good morning',
37
- 'good afternoon',
38
- 'good evening',
39
- 'thanks',
40
- 'thank you',
41
- 'thx',
42
- 'tnx',
43
- 'ty',
44
- 'thanks!',
45
- 'thank you!',
46
- 'ok',
47
- 'okay',
48
- 'k',
49
- 'yes',
50
- 'no',
51
- 'yep',
52
- 'nope',
53
- 'yeah',
54
- 'nah',
55
- 'good',
56
- 'great',
57
- 'nice',
58
- 'cool',
59
- 'awesome',
60
- 'perfect',
61
- 'excellent',
62
- 'bye',
63
- 'goodbye',
64
- 'see you',
65
- 'see ya',
66
- 'later',
67
- 'good night',
68
- 'how are you',
69
- 'how are you doing',
70
- "what's up",
71
- 'sup',
72
- 'please',
73
- 'pls',
74
- 'sorry',
75
- 'excuse me',
76
- 'pardon',
77
- 'i see',
78
- 'i understand',
79
- 'got it',
80
- 'gotcha',
81
- 'understood',
82
- 'continue',
83
- 'go on',
84
- 'tell me more',
85
- 'more',
86
- 'next',
87
- 'start',
88
- 'begin',
89
- "let's start",
90
- "let's begin",
91
- 'help',
92
- 'can you help',
93
- 'i need help',
94
- 'test',
95
- 'testing',
96
- 'test message',
97
- '?',
98
- '??',
99
- '???',
100
- '!',
101
- '!!',
102
- '!!!',
103
- '...',
104
- '..',
105
- '.',
106
- 'a',
107
- 'an',
108
- 'the',
109
- 'and',
110
- 'or',
111
- 'but',
112
- 'in',
113
- 'on',
114
- 'at',
115
- 'to',
116
- 'for',
117
- 'of',
118
- 'with',
119
- 'by',
120
- 'ciao',
121
- 'salve',
122
- 'buongiorno',
123
- 'buonasera',
124
- 'buonanotte',
125
- 'grazie',
126
- 'grazie mille',
127
- 'grazie!',
128
- 'grazie mille!',
129
- 'thx',
130
- 'tnx',
131
- 'ok',
132
- 'va bene',
133
- 'va bene così',
134
- 'perfetto',
135
- 'ottimo',
136
- 'bene',
137
- 'sì',
138
- 'si',
139
- 'no',
140
- 'certo',
141
- 'certamente',
142
- 'assolutamente',
143
- 'arrivederci',
144
- 'a presto',
145
- 'a dopo',
146
- 'ci vediamo',
147
- 'addio',
148
- 'come stai',
149
- 'come va',
150
- 'tutto bene',
151
- 'che succede',
152
- 'per favore',
153
- 'per piacere',
154
- 'scusa',
155
- 'scusami',
156
- 'mi dispiace',
157
- 'capisco',
158
- 'ho capito',
159
- 'capito',
160
- 'perfetto',
161
- 'continua',
162
- 'vai avanti',
163
- 'dimmi di più',
164
- 'altro',
165
- 'altro ancora',
166
- 'inizia',
167
- 'iniziamo',
168
- 'comincia',
169
- 'cominciamo',
170
- 'aiuto',
171
- 'puoi aiutarmi',
172
- 'ho bisogno di aiuto',
173
- 'test',
174
- 'prova',
175
- 'messaggio di prova',
176
- '?',
177
- '??',
178
- '???',
179
- '!',
180
- '!!',
181
- '!!!',
182
- '...',
183
- '..',
184
- '.',
185
- 'un',
186
- 'una',
187
- 'il',
188
- 'la',
189
- 'gli',
190
- 'le',
191
- 'e',
192
- 'o',
193
- 'ma',
194
- 'in',
195
- 'su',
196
- 'a',
197
- 'per',
198
- 'di',
199
- 'con',
200
- 'da',
201
- ];
202
- const calculateSignificanceScore = (message) => {
203
- const cleanMessage = message.toLowerCase().trim();
204
- if (insignificantPhrases.includes(cleanMessage)) {
205
- return 0;
206
- }
207
- const wordCount = cleanMessage
208
- .split(/\s+/)
209
- .filter(word => word.length > 0).length;
210
- if (wordCount < 3) {
211
- return 0.1;
212
- }
213
- if (cleanMessage.length < 5) {
214
- return 0.1;
215
- }
216
- const isQuestion = /\?$/.test(cleanMessage) ||
217
- /^(what|how|why|when|where|who|which|can|could|would|will|do|does|did|is|are|was|were)/.test(cleanMessage) ||
218
- /^(cosa|come|perché|perche|quando|dove|chi|quale|quali|può|puo|potrebbe|vorrebbe|sarà|sara|fa|fai|fanno|è|e|sono|era|erano)/.test(cleanMessage);
219
- let score = 0.5;
220
- if (isQuestion)
221
- score += 0.3;
222
- if (wordCount > 5)
223
- score += 0.2;
224
- if (wordCount > 10)
225
- score += 0.2;
226
- if (wordCount > 20)
227
- score -= 0.1;
228
- if (/\d/.test(cleanMessage))
229
- score += 0.1;
230
- if (/[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞŸ][a-zàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ]+/.test(message))
231
- score += 0.1;
232
- return Math.min(score, 1.0);
233
- };
234
- const scoredMessages = userMessages.map((msg, index) => {
235
- const cleanText = (0, utils_1.stripHTML)((0, message_1.stripAllInternalTags)(msg.text || ''));
236
- const score = calculateSignificanceScore(cleanText);
19
+ const classnames_1 = tslib_1.__importDefault(require("classnames"));
20
+ const PAGE_SIZE = 8;
21
+ const DEFAULT_MINIMUM_MESSAGES = 3;
22
+ const formatDateForAPI = (date) => {
23
+ const year = date.getFullYear();
24
+ const month = String(date.getMonth() + 1).padStart(2, '0');
25
+ const day = String(date.getDate()).padStart(2, '0');
26
+ const hours = String(date.getHours()).padStart(2, '0');
27
+ const minutes = String(date.getMinutes()).padStart(2, '0');
28
+ const seconds = String(date.getSeconds()).padStart(2, '0');
29
+ const milliseconds = String(date.getMilliseconds()).padStart(3, '0');
30
+ return `${year}${month}${day}${hours}${minutes}${seconds}${milliseconds}`;
31
+ };
32
+ const formatDateRangeForAPI = (dateRange) => {
33
+ const now = new Date();
34
+ if (dateRange === 'today') {
35
+ const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1);
237
36
  return {
238
- text: cleanText,
239
- score,
240
- index,
241
- originalIndex: index,
37
+ dateFrom: formatDateForAPI(yesterday),
38
+ dateTo: formatDateForAPI(now),
242
39
  };
243
- });
244
- scoredMessages.sort((a, b) => {
245
- if (Math.abs(a.score - b.score) < 0.1) {
246
- return a.index - b.index;
247
- }
248
- return b.score - a.score;
249
- });
250
- let bestMessage = scoredMessages[0];
251
- if (bestMessage.score < 0.3) {
252
- const betterMessage = scoredMessages.find(msg => msg.score > 0.1);
253
- if (betterMessage) {
254
- bestMessage = betterMessage;
255
- }
256
40
  }
257
- if (bestMessage.score < 0.2) {
258
- const meaningfulMessages = scoredMessages
259
- .filter(msg => msg.score > 0.1)
260
- .slice(0, 3)
261
- .sort((a, b) => a.index - b.index);
262
- if (meaningfulMessages.length > 1) {
263
- const combinedText = meaningfulMessages
264
- .map(msg => msg.text)
265
- .join(' - ')
266
- .substring(0, 80);
267
- return combinedText.length > 80 ? `${combinedText}...` : combinedText;
268
- }
41
+ if (dateRange === 'yesterday') {
42
+ const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1);
43
+ const dayBeforeYesterday = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate() - 2);
44
+ return {
45
+ dateFrom: formatDateForAPI(dayBeforeYesterday),
46
+ dateTo: formatDateForAPI(yesterday),
47
+ };
269
48
  }
270
- const title = bestMessage.text;
271
- const maxLength = 100;
272
- if (title.length > maxLength) {
273
- const truncated = title.substring(0, maxLength);
274
- const lastSpace = truncated.lastIndexOf(' ');
275
- if (lastSpace > maxLength * 0.7) {
276
- return `${truncated.substring(0, lastSpace)}...`;
277
- }
278
- return `${truncated}...`;
49
+ if (dateRange === 'last_7_days') {
50
+ const sevenDaysAgo = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 7);
51
+ return {
52
+ dateFrom: formatDateForAPI(sevenDaysAgo),
53
+ dateTo: formatDateForAPI(now),
54
+ };
279
55
  }
280
- return title;
56
+ const thirtyDaysAgo = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 30);
57
+ return {
58
+ dateFrom: formatDateForAPI(thirtyDaysAgo),
59
+ dateTo: formatDateForAPI(now),
60
+ };
61
+ };
62
+ const isImageMimeType = (mimeType) => { var _a; return (_a = mimeType === null || mimeType === void 0 ? void 0 : mimeType.startsWith('image/')) !== null && _a !== void 0 ? _a : false; };
63
+ const isFunctionCallMedium = (medium) => {
64
+ var _a, _b;
65
+ return Boolean((_a = medium.properties) === null || _a === void 0 ? void 0 : _a.functionSignature) ||
66
+ Boolean((_b = medium.properties) === null || _b === void 0 ? void 0 : _b.functionCache);
281
67
  };
68
+ const isFileMedium = (medium) => !isFunctionCallMedium(medium) && !isImageMimeType(medium.mimeType);
282
69
  const translateChatLogs = async (chatLogs, fromLanguage, toLanguage, baseUrl) => {
283
70
  try {
284
- const translatedChatLogs = await Promise.all(chatLogs.map(async (chatLog) => {
285
- const translatedLines = await Promise.all(chatLog.lines.map(async (line) => {
71
+ return await Promise.all(chatLogs.map(async (chatLog) => ({
72
+ ...chatLog,
73
+ lines: await Promise.all(chatLog.lines.map(async (line) => {
286
74
  if (!line.text)
287
75
  return line;
288
76
  try {
@@ -297,13 +85,8 @@ const translateChatLogs = async (chatLogs, fromLanguage, toLanguage, baseUrl) =>
297
85
  console.error('Error translating line:', e);
298
86
  return line;
299
87
  }
300
- }));
301
- return {
302
- ...chatLog,
303
- lines: translatedLines,
304
- };
305
- }));
306
- return translatedChatLogs;
88
+ })),
89
+ })));
307
90
  }
308
91
  catch (e) {
309
92
  console.error('Error translating chat logs:', e);
@@ -320,156 +103,59 @@ const downloadFile = (text, filename) => {
320
103
  document.body.appendChild(element);
321
104
  element.click();
322
105
  document.body.removeChild(element);
106
+ URL.revokeObjectURL(url);
323
107
  };
324
- const ChatHistoryDrawer = ({ open, onClose, apiClient, sessionId, memori, resumeSession, baseUrl, apiUrl, history, loginToken, language, userLang, isMultilanguageEnabled = false, }) => {
325
- var _a;
326
- const surfaceEl = (0, widgetSurfaceContext_1.useWidgetSurfaceEl)();
327
- const { t } = (0, react_i18next_1.useTranslation)();
108
+ const conversationTitleOf = (chatLog) => (0, conversationTitle_1.getConversationTitle)({ title: chatLog.title, lines: chatLog.lines });
109
+ const ChatHistoryDrawer = ({ open, onClose, apiClient, sessionId, memori, resumeSession, baseUrl, language, userLang, isMultilanguageEnabled = false, showFunctionCache = false, showMessageConsumption = false, loginToken, }) => {
110
+ const { t, i18n } = (0, react_i18next_1.useTranslation)();
328
111
  const { add } = (0, ui_1.useAlertManager)();
329
112
  const { getUserChatLogsByTokenPaged } = apiClient.chatLogs;
330
- const textCurrentChat = `${t('write_and_speak.conversationStartedLabel')} ${new Intl.DateTimeFormat('it', {
331
- dateStyle: 'short',
332
- timeStyle: 'short',
333
- }).format(new Date())}\n\n`.concat(history
334
- .map(m => `${m.fromUser ? 'YOU' : memori.name}: ${(0, message_1.stripAllInternalTags)(m.text)}`)
335
- .join('\n'));
336
113
  const [chatLogs, setChatLogs] = (0, react_1.useState)([]);
337
114
  const [selectedChatLog, setSelectedChatLog] = (0, react_1.useState)(null);
338
- const [currentPage, setCurrentPage] = (0, react_1.useState)(1);
339
- const [indexPage, setIndexPage] = (0, react_1.useState)(0);
340
- const [searchText, setSearchText] = (0, react_1.useState)('');
115
+ const [searchInput, setSearchInput] = (0, react_1.useState)('');
116
+ const searchQuery = (0, utils_1.useDebounce)(searchInput, 300);
117
+ const [filtersOpen, setFiltersOpen] = (0, react_1.useState)(false);
118
+ const [dateRange, setDateRange] = (0, react_1.useState)('all');
119
+ const [minimumMessagesPerChat, setMinimumMessagesPerChat] = (0, react_1.useState)(DEFAULT_MINIMUM_MESSAGES);
120
+ const [customMinimumMessages, setCustomMinimumMessages] = (0, react_1.useState)(1);
341
121
  const [isLoading, setIsLoading] = (0, react_1.useState)(false);
122
+ const [loadingMore, setLoadingMore] = (0, react_1.useState)(false);
342
123
  const [error, setError] = (0, react_1.useState)(null);
343
- const [sortOrder, setSortOrder] = (0, react_1.useState)('desc');
344
- const [dateRange, setDateRange] = (0, react_1.useState)('all');
345
124
  const [totalItems, setTotalItems] = (0, react_1.useState)(0);
346
- const [totalPages, setTotalPages] = (0, react_1.useState)(0);
347
- const [isMobile, setIsMobile] = (0, react_1.useState)(false);
348
- const [isViewingChatDetail, setIsViewingChatDetail] = (0, react_1.useState)(false);
349
- const [minimumMessagesPerChat, setMinimumMessagesPerChat] = (0, react_1.useState)(3);
350
- const [customMinimumMessages, setCustomMinimumMessages] = (0, react_1.useState)(1);
351
- const [contentTypeFilter, setContentTypeFilter] = (0, react_1.useState)('all');
352
- const isSameDay = (dateA, dateB) => dateA.getFullYear() === dateB.getFullYear() &&
353
- dateA.getMonth() === dateB.getMonth() &&
354
- dateA.getDate() === dateB.getDate();
355
- const getChatLogStats = (chatLog) => {
356
- const imageCount = chatLog.lines.reduce((total, line) => {
357
- var _a;
358
- const imagesInLine = ((_a = line.media) === null || _a === void 0 ? void 0 : _a.filter(medium => isImageMimeType(medium.mimeType)).length) || 0;
359
- return total + imagesInLine;
360
- }, 0);
361
- const fileCount = chatLog.lines.reduce((total, line) => {
362
- var _a;
363
- const filesInLine = ((_a = line.media) === null || _a === void 0 ? void 0 : _a.filter(medium => isFileMimeType(medium.mimeType)).length) || 0;
364
- return total + filesInLine;
365
- }, 0);
366
- const assistantReplies = chatLog.lines.filter(line => { var _a; return !line.inbound && ((_a = line.text) === null || _a === void 0 ? void 0 : _a.trim()); });
367
- const previewSource = assistantReplies[1] || assistantReplies[0];
368
- const preview = (0, utils_1.stripHTML)((previewSource === null || previewSource === void 0 ? void 0 : previewSource.text) || '')
369
- .replace(/\s+/g, ' ')
370
- .trim();
371
- const allText = chatLog.lines
372
- .map(line => line.text || '')
373
- .join(' ')
374
- .toLowerCase();
375
- const isTestConversation = /\b(test|testing|experiment|esperimento|prova)\b/.test(allText);
376
- return {
377
- imageCount,
378
- fileCount,
379
- preview,
380
- isTestConversation,
381
- messageCount: chatLog.lines.length,
382
- };
383
- };
384
- const formatDateForAPI = (date) => {
385
- const year = date.getFullYear();
386
- const month = String(date.getMonth() + 1).padStart(2, '0');
387
- const day = String(date.getDate()).padStart(2, '0');
388
- const hours = String(date.getHours()).padStart(2, '0');
389
- const minutes = String(date.getMinutes()).padStart(2, '0');
390
- const seconds = String(date.getSeconds()).padStart(2, '0');
391
- const milliseconds = String(date.getMilliseconds()).padStart(3, '0');
392
- return `${year}${month}${day}${hours}${minutes}${seconds}${milliseconds}`;
393
- };
394
- const formatDateRangeForAPI = (dateRange) => {
395
- if (dateRange === 'today') {
396
- const now = new Date();
397
- const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1);
398
- const dateFrom = formatDateForAPI(yesterday);
399
- const dateTo = formatDateForAPI(now);
400
- return { dateFrom, dateTo };
401
- }
402
- if (dateRange === 'yesterday') {
403
- const now = new Date();
404
- const yesterday = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1);
405
- const dayBeforeYesterday = new Date(yesterday.getFullYear(), yesterday.getMonth(), yesterday.getDate() - 2);
406
- const dateFrom = formatDateForAPI(dayBeforeYesterday);
407
- const dateTo = formatDateForAPI(yesterday);
408
- return { dateFrom, dateTo };
409
- }
410
- if (dateRange === 'last_7_days') {
411
- const now = new Date();
412
- const sevenDaysAgo = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 7);
413
- const dateFrom = formatDateForAPI(sevenDaysAgo);
414
- const dateTo = formatDateForAPI(now);
415
- return { dateFrom, dateTo };
416
- }
417
- if (dateRange === 'last_30_days') {
418
- const now = new Date();
419
- const thirtyDaysAgo = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 30);
420
- const dateFrom = formatDateForAPI(thirtyDaysAgo);
421
- const dateTo = formatDateForAPI(now);
422
- return { dateFrom, dateTo };
423
- }
424
- };
425
- const fetchChatLogs = (0, react_1.useCallback)(async (dateRangeValue = 'all') => {
426
- var _a;
125
+ const fetchChatLogs = (0, react_1.useCallback)(async ({ from = 0, append = false, } = {}) => {
126
+ var _a, _b;
427
127
  if (!loginToken) {
428
128
  setError(t('errorFetchingSession') ||
429
129
  'Login token required to fetch chat history');
430
130
  return;
431
131
  }
432
- const calculatedIndex = ITEMS_PER_PAGE * (currentPage - 1);
433
- setIndexPage(calculatedIndex);
434
- setIsLoading(true);
132
+ if (append)
133
+ setLoadingMore(true);
134
+ else
135
+ setIsLoading(true);
435
136
  setError(null);
436
- let response;
437
- let filters = {
438
- loginToken: loginToken,
439
- memoriID: memori.engineMemoriID,
440
- dateFrom: undefined,
441
- dateTo: undefined,
442
- from: calculatedIndex,
443
- howMany: ITEMS_PER_PAGE,
444
- minimumMessagesPerChat: minimumMessagesPerChat === 0
445
- ? customMinimumMessages
446
- : minimumMessagesPerChat,
447
- };
448
137
  try {
449
- if (dateRangeValue === 'all') {
450
- response = await getUserChatLogsByTokenPaged(filters);
451
- }
452
- else {
453
- const { dateFrom, dateTo } = (_a = formatDateRangeForAPI(dateRangeValue)) !== null && _a !== void 0 ? _a : {};
454
- response = await getUserChatLogsByTokenPaged({
455
- ...filters,
456
- dateFrom: dateFrom !== null && dateFrom !== void 0 ? dateFrom : undefined,
457
- dateTo: dateTo !== null && dateTo !== void 0 ? dateTo : undefined,
458
- });
459
- }
460
- const res = response;
461
- let sortedChatLogs = res.chatLogs.sort((a, b) => {
462
- const dateA = Math.max(...a.lines.map((l) => new Date(l.timestamp).getTime()));
463
- const dateB = Math.max(...b.lines.map((l) => new Date(l.timestamp).getTime()));
464
- return sortOrder === 'desc' ? dateB - dateA : dateA - dateB;
138
+ const range = dateRange === 'all' ? undefined : formatDateRangeForAPI(dateRange);
139
+ const response = await getUserChatLogsByTokenPaged({
140
+ loginToken,
141
+ memoriID: memori.engineMemoriID,
142
+ from,
143
+ howMany: PAGE_SIZE,
144
+ filter: searchQuery,
145
+ dateFrom: range === null || range === void 0 ? void 0 : range.dateFrom,
146
+ dateTo: range === null || range === void 0 ? void 0 : range.dateTo,
147
+ minimumMessagesPerChat: minimumMessagesPerChat === 0
148
+ ? customMinimumMessages
149
+ : minimumMessagesPerChat,
465
150
  });
151
+ let nextLogs = response.chatLogs || [];
466
152
  if (language.toUpperCase() !== userLang.toUpperCase() &&
467
153
  isMultilanguageEnabled) {
468
- sortedChatLogs = await translateChatLogs(sortedChatLogs, language, userLang, baseUrl);
154
+ nextLogs = await translateChatLogs(nextLogs, language, userLang, baseUrl);
469
155
  }
470
- setChatLogs(sortedChatLogs);
471
- setTotalItems(res.count || sortedChatLogs.length);
472
- setTotalPages(Math.ceil((res.count || sortedChatLogs.length) / ITEMS_PER_PAGE));
156
+ const total = (_b = (_a = response.count) !== null && _a !== void 0 ? _a : response.totalItems) !== null && _b !== void 0 ? _b : nextLogs.length;
157
+ setTotalItems(total);
158
+ setChatLogs(current => (append ? [...current, ...nextLogs] : nextLogs));
473
159
  }
474
160
  catch (err) {
475
161
  setError(t('errorFetchingSession') || 'Error loading chat history');
@@ -477,126 +163,85 @@ const ChatHistoryDrawer = ({ open, onClose, apiClient, sessionId, memori, resume
477
163
  }
478
164
  finally {
479
165
  setIsLoading(false);
166
+ setLoadingMore(false);
480
167
  }
481
168
  }, [
482
169
  loginToken,
483
170
  memori.engineMemoriID,
484
- currentPage,
485
- sortOrder,
486
- apiUrl,
171
+ searchQuery,
172
+ dateRange,
487
173
  minimumMessagesPerChat,
488
174
  customMinimumMessages,
175
+ language,
176
+ userLang,
177
+ isMultilanguageEnabled,
178
+ baseUrl,
179
+ getUserChatLogsByTokenPaged,
489
180
  ]);
490
181
  (0, react_1.useEffect)(() => {
491
- const checkMobile = () => {
492
- setIsMobile(window.innerWidth <= 768);
493
- };
494
- checkMobile();
495
- window.addEventListener('resize', checkMobile);
496
- return () => window.removeEventListener('resize', checkMobile);
497
- }, []);
498
- (0, react_1.useEffect)(() => {
499
- if (open) {
500
- setCurrentPage(1);
501
- setIndexPage(0);
502
- setIsViewingChatDetail(false);
503
- setSelectedChatLog(null);
504
- }
182
+ if (open)
183
+ return;
184
+ setSelectedChatLog(null);
185
+ setSearchInput('');
186
+ setFiltersOpen(false);
187
+ setDateRange('all');
188
+ setMinimumMessagesPerChat(DEFAULT_MINIMUM_MESSAGES);
189
+ setCustomMinimumMessages(1);
505
190
  }, [open]);
506
191
  (0, react_1.useEffect)(() => {
507
192
  if (open) {
508
- setCurrentPage(1);
509
- setIndexPage(0);
510
- }
511
- }, [
512
- sortOrder,
513
- dateRange,
514
- minimumMessagesPerChat,
515
- customMinimumMessages,
516
- open,
517
- ]);
518
- (0, react_1.useEffect)(() => {
519
- if (open && currentPage > 0) {
520
- fetchChatLogs(dateRange);
521
- }
522
- }, [
523
- currentPage,
524
- dateRange,
525
- minimumMessagesPerChat,
526
- customMinimumMessages,
527
- fetchChatLogs,
528
- open,
529
- ]);
530
- const debouncedSearch = (0, react_1.useMemo)(() => (0, debounce_1.default)((value) => setSearchText(value), DEBOUNCE_DELAY), []);
531
- const paginatedChatLogs = (0, react_1.useMemo)(() => {
532
- if (contentTypeFilter === 'all') {
533
- return chatLogs;
193
+ void fetchChatLogs({ from: 0 });
534
194
  }
535
- return chatLogs.filter(chatLog => {
536
- const stats = getChatLogStats(chatLog);
537
- if (contentTypeFilter === 'with_images') {
538
- return stats.imageCount > 0;
539
- }
540
- return stats.fileCount > 0;
541
- });
542
- }, [chatLogs, contentTypeFilter]);
543
- const handleResumeChat = async (_prompt) => {
544
- if (selectedChatLog) {
545
- resumeSession(selectedChatLog);
546
- add((0, ui_1.createAlertOptions)({
547
- description: t('write_and_speak.chatResumed') || 'Conversation resumed.',
548
- severity: 'success',
549
- }));
550
- onClose();
551
- }
552
- };
553
- const handleCloseResumeDrawer = () => {
554
- setIsViewingChatDetail(false);
555
- setSelectedChatLog(null);
556
- };
557
- const handleExportChat = (chatLog, e) => {
558
- e.stopPropagation();
559
- const text = `${t('write_and_speak.conversationStartedLabel')} ${new Intl.DateTimeFormat(navigator.language, {
195
+ }, [open, fetchChatLogs]);
196
+ const exportChatLog = (chatLog) => {
197
+ const text = `${t('write_and_speak.conversationStartedLabel')} ${new Intl.DateTimeFormat(i18n.language, {
560
198
  dateStyle: 'short',
561
199
  timeStyle: 'short',
562
200
  }).format(new Date())}\n\n`.concat(chatLog.lines
563
- .map(line => `${line.inbound ? 'YOU' : memori.name}: ${(0, message_1.stripAllInternalTags)(line.text)}`)
201
+ .map((line) => `${line.inbound ? 'YOU' : memori.name}: ${(0, message_1.stripAllInternalTags)((0, utils_1.stripHTML)(line.text || ''))}`)
564
202
  .join('\n'));
565
203
  downloadFile(text, `${memori.name.replace(/\W+/g, '-')}-chat-${chatLog.chatLogID.substring(0, 4)}.txt`);
566
204
  };
567
- const handleExportSelectedChat = () => {
205
+ const handleResumeChat = () => {
568
206
  if (!selectedChatLog)
569
207
  return;
570
- const text = `${t('write_and_speak.conversationStartedLabel')} ${new Intl.DateTimeFormat(navigator.language, {
571
- dateStyle: 'short',
572
- timeStyle: 'short',
573
- }).format(new Date())}\n\n`.concat(selectedChatLog.lines
574
- .map(line => `${line.inbound ? 'YOU' : memori.name}: ${line.text}`)
575
- .join('\n'));
576
- downloadFile(text, `${memori.name.replace(/\W+/g, '-')}-chat-${selectedChatLog.chatLogID.substring(0, 4)}.txt`);
208
+ resumeSession(selectedChatLog);
209
+ add((0, ui_1.createAlertOptions)({
210
+ description: t('write_and_speak.chatResumed') || 'Conversation resumed.',
211
+ severity: 'success',
212
+ }));
213
+ onClose();
577
214
  };
578
- const formatDate = (timestamp) => {
579
- return new Intl.DateTimeFormat(navigator.language, {
580
- dateStyle: 'medium',
581
- timeStyle: 'short',
582
- }).format(new Date(timestamp));
215
+ const formatCountLabel = (count) => `${count} ${count === 1
216
+ ? t('write_and_speak.message') || 'message'
217
+ : t('write_and_speak.messages') || 'messages'}`;
218
+ const metaFor = (chatLog) => {
219
+ const lastDate = (0, conversationHistory_1.getLastMessageDate)(chatLog.lines);
220
+ const dateLabel = lastDate
221
+ ? (0, conversationHistory_1.formatConversationListDate)(lastDate, i18n.language)
222
+ : '';
223
+ return [dateLabel, formatCountLabel(chatLog.lines.length)]
224
+ .filter(Boolean)
225
+ .join(' · ');
583
226
  };
584
- const formatCountLabel = (count, singular, plural) => `${count} ${count === 1 ? singular : plural}`;
227
+ const selectedTitle = selectedChatLog
228
+ ? conversationTitleOf(selectedChatLog) ||
229
+ `Chat-${selectedChatLog.chatLogID.substring(0, 4)}`
230
+ : '';
585
231
  const selectedChatSession = (0, react_1.useMemo)(() => {
586
232
  if (!selectedChatLog)
587
233
  return null;
588
- const title = calculateTitle(selectedChatLog.lines) ||
589
- 'Chat-' + selectedChatLog.chatLogID.substring(0, 4);
590
234
  const hasInterruptedLine = selectedChatLog.lines.some(line => { var _a; return !line.inbound && !((_a = line.text) === null || _a === void 0 ? void 0 : _a.trim()); });
591
- const lastMessageDate = Math.max(...selectedChatLog.lines.map(line => new Date(line.timestamp).getTime()));
592
235
  return {
593
- title,
594
- subtitle: `${formatDate(new Date(lastMessageDate).toISOString())} · ${selectedChatLog.lines.length} ${t('write_and_speak.messages') || 'messages'}`,
595
- summary: t('write_and_speak.sessionSummaryDescription') ||
596
- 'Hai caricato un file Markdown con la presentazione del gruppo. L’AI stava elaborando una risposta.',
236
+ title: selectedTitle,
237
+ subtitle: metaFor(selectedChatLog),
238
+ summary: '',
597
239
  messages: selectedChatLog.lines.map((line, index) => {
598
- var _a, _b;
599
- return ({
240
+ var _a;
241
+ const attachmentMedium = line.inbound
242
+ ? (line.media || []).find(isFileMedium)
243
+ : undefined;
244
+ return {
600
245
  id: `${selectedChatLog.chatLogID}-${index}`,
601
246
  role: line.inbound ? 'user' : 'assistant',
602
247
  content: line.text || '',
@@ -609,106 +254,80 @@ const ChatHistoryDrawer = ({ open, onClose, apiClient, sessionId, memori, resume
609
254
  status: !line.inbound && !((_a = line.text) === null || _a === void 0 ? void 0 : _a.trim()) && hasInterruptedLine
610
255
  ? 'interrupted'
611
256
  : 'completed',
612
- attachment: line.inbound && Array.isArray(line.media) && line.media.length > 0
613
- ? {
614
- name: ((_b = line.media[0].url) === null || _b === void 0 ? void 0 : _b.split('/').pop()) ||
615
- line.media[0].url ||
616
- 'Attachment file',
617
- type: 'Markdown',
618
- size: '2.4 KB',
619
- ext: 'MD',
620
- }
257
+ attachment: attachmentMedium
258
+ ? (() => {
259
+ var _a;
260
+ const name = attachmentMedium.title ||
261
+ ((_a = attachmentMedium.url) === null || _a === void 0 ? void 0 : _a.split('/').pop()) ||
262
+ 'Attachment file';
263
+ const mimeType = (0, MediaItemWidget_utils_1.getOriginalMimeType)(name, attachmentMedium.mimeType);
264
+ return {
265
+ name,
266
+ type: mimeType,
267
+ size: '2.4 KB',
268
+ ext: (0, MediaItemWidget_utils_1.getDocumentBadgeLabel)(mimeType, name, attachmentMedium.url),
269
+ };
270
+ })()
621
271
  : undefined,
622
- });
272
+ };
623
273
  }),
624
- quickActions: [
625
- {
626
- label: t('write_and_speak.summarizeSession') || 'Riassumi la sessione',
627
- prompt: 'Riassumi la sessione',
628
- },
629
- {
630
- label: t('write_and_speak.retryRequest') || 'Riprova la richiesta',
631
- prompt: 'Riprova la richiesta',
632
- },
633
- ],
274
+ quickActions: [],
634
275
  };
635
- }, [selectedChatLog, t]);
636
- const escapeUnderScore = (value) => {
637
- return value.replace(/_/g, ' ');
638
- };
639
- const renderContent = () => {
640
- if (isLoading) {
641
- return ((0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--loading", children: [(0, jsx_runtime_1.jsx)(ui_3.Spin, { spinning: true, primary: true, className: "memori-chat-history-drawer--loading--spinner" }), (0, jsx_runtime_1.jsx)("p", { className: "memori-chat-history-drawer--loading--text", children: t('write_and_speak.loadingChatHistory') ||
642
- 'Loading chat history...' })] }));
643
- }
644
- if (error) {
645
- return ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-history-drawer--error", children: (0, jsx_runtime_1.jsx)("p", { children: error }) }));
646
- }
647
- if (!chatLogs.length) {
648
- return ((0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--empty", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.MessageCircle, { className: "memori-chat-history-drawer--empty--icon" }), (0, jsx_runtime_1.jsx)("p", { className: "memori-chat-history-drawer--empty--text", children: t('write_and_speak.noChatHistoryAvailable') ||
649
- 'No chat history available' })] }));
650
- }
651
- if (paginatedChatLogs.length === 0) {
652
- return ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-history-drawer--no-results", children: (0, jsx_runtime_1.jsx)("p", { children: t('write_and_speak.noResultsFound', {
653
- searchText: searchText || '',
654
- }) || 'No results found' }) }));
276
+ }, [selectedChatLog, selectedTitle, i18n.language, t]);
277
+ const groupedLogs = (0, react_1.useMemo)(() => (0, conversationHistory_1.groupConversations)(chatLogs, chatLog => (0, conversationHistory_1.getLastMessageDate)(chatLog.lines)), [chatLogs]);
278
+ const formatGroupLabel = (key) => {
279
+ if (key.type === 'thisWeek') {
280
+ return t('write_and_speak.thisWeek') || 'This week';
655
281
  }
656
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("ul", { className: "memori-chat-history-drawer--list", "aria-label": t('write_and_speak.chatHistory') || 'Chat history', children: paginatedChatLogs.map((chatLog, index) => {
657
- const lastMessageDate = Math.max(...chatLog.lines.map(line => new Date(line.timestamp).getTime()));
658
- const stats = getChatLogStats(chatLog);
659
- const iconSymbol = stats.fileCount > 0
660
- ? '📄'
661
- : stats.isTestConversation
662
- ? '🧪'
663
- : '💬';
664
- const iconBackgroundColor = ICON_BACKGROUND_COLORS[index % ICON_BACKGROUND_COLORS.length];
665
- const isUpdatedToday = isSameDay(new Date(lastMessageDate), new Date());
666
- const title = calculateTitle(chatLog.lines) ||
667
- 'Chat-' + chatLog.chatLogID.substring(0, 4);
668
- const isCurrentSession = (chatLog === null || chatLog === void 0 ? void 0 : chatLog.sessionID) === sessionId;
669
- return ((0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsx)("button", { type: "button", "aria-disabled": isCurrentSession || undefined, "aria-label": title, className: `memori-chat-history-drawer--list-item ${(selectedChatLog === null || selectedChatLog === void 0 ? void 0 : selectedChatLog.chatLogID) === chatLog.chatLogID
670
- ? 'memori-chat-history-drawer--list-item--selected'
671
- : ''} ${!isCurrentSession
672
- ? 'memori-chat-history-drawer--list-item--hoverable'
673
- : ''} ${isCurrentSession
674
- ? 'memori-chat-history-drawer--list-item--disabled'
675
- : ''}`, onKeyDown: event => {
676
- if (isCurrentSession &&
677
- (event.key === 'Enter' || event.key === ' ')) {
678
- event.preventDefault();
679
- }
680
- }, onClick: async () => {
681
- if (isCurrentSession) {
682
- return;
683
- }
684
- if ((selectedChatLog === null || selectedChatLog === void 0 ? void 0 : selectedChatLog.chatLogID) === chatLog.chatLogID) {
685
- setSelectedChatLog(null);
686
- if (isMobile) {
687
- setIsViewingChatDetail(false);
688
- }
689
- return;
690
- }
691
- setSelectedChatLog(chatLog);
692
- setIsViewingChatDetail(true);
693
- }, children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--list-item--content", children: [(0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--list-item--title-wrapper", children: [(0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--list-item--title", children: title }), isUpdatedToday && ((0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--list-item--today-pill", children: t('today') || 'Today' }))] }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--list-item--meta", children: [(0, jsx_runtime_1.jsx)("time", { className: "memori-chat-history-drawer--list-item--meta--time", dateTime: new Date(lastMessageDate).toISOString(), children: formatDate(new Date(lastMessageDate).toISOString()) }), (0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--list-item--meta-badge memori-chat-history-drawer--list-item--meta-badge-messages", children: formatCountLabel(stats.messageCount, t('write_and_speak.message') || 'message', t('write_and_speak.messages') || 'messages') }), stats.imageCount > 0 && ((0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--list-item--meta-badge memori-chat-history-drawer--list-item--meta-badge-images", children: formatCountLabel(stats.imageCount, t('write_and_speak.image') || 'image', t('write_and_speak.images') || 'images') })), stats.fileCount > 0 && ((0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--list-item--meta-badge memori-chat-history-drawer--list-item--meta-badge-files", children: formatCountLabel(stats.fileCount, t('write_and_speak.file') || 'file', t('write_and_speak.files') || 'files') })), chatLog.boardOfExperts && ((0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--list-item--meta-badge memori-chat-history-drawer--list-item--meta-badge-boe", children: "boe" }))] })] }) }) }, chatLog.chatLogID));
694
- }) }) }));
282
+ const label = new Intl.DateTimeFormat(i18n.language, {
283
+ month: 'long',
284
+ ...(key.year === new Date().getFullYear() ? {} : { year: 'numeric' }),
285
+ }).format(new Date(key.year, key.month, 1));
286
+ return label.charAt(0).toUpperCase() + label.slice(1);
695
287
  };
696
- const renderListPagination = () => {
697
- if (totalPages <= 1)
698
- return null;
699
- return ((0, jsx_runtime_1.jsxs)("nav", { className: "memori-chat-history-drawer--pagination", "aria-label": t('write_and_speak.chatHistory') || 'Chat history pagination', children: [(0, jsx_runtime_1.jsx)(ui_2.Button, { variant: "outline", onClick: () => setCurrentPage(p => Math.max(1, p - 1)), disabled: currentPage === 1, className: "memori-chat-history-drawer--pagination--button memori-chat-history-drawer--pagination--prev", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronLeft, {}), title: t('previous') || 'Previous' }), (0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--pagination--info", children: t('write_and_speak.page', {
700
- current: currentPage,
701
- total: totalPages,
702
- }) }), (0, jsx_runtime_1.jsx)(ui_2.Button, { variant: "outline", onClick: () => setCurrentPage(p => Math.min(totalPages, p + 1)), disabled: currentPage === totalPages, className: "memori-chat-history-drawer--pagination--button memori-chat-history-drawer--pagination--next", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, {}), title: t('next') || 'Next' })] }));
703
- };
704
- return ((0, jsx_runtime_1.jsx)(ui_1.Drawer, { container: surfaceEl !== null && surfaceEl !== void 0 ? surfaceEl : undefined, className: "memori-chat-history-drawer", open: open, onClose: onClose, title: t('write_and_speak.chatHistory') || 'Chat History', closable: true, anchor: "left", size: "md", description: t('write_and_speak.chatHistoryDescription'), children: selectedChatSession && isViewingChatDetail ? ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-history-drawer--content memori-chat-history-drawer--content-with-footer", children: (0, jsx_runtime_1.jsx)(ChatResumeDrawer_1.default, { embedded: true, isOpen: true, session: selectedChatSession, onResume: handleResumeChat, onBack: handleCloseResumeDrawer, onClose: handleCloseResumeDrawer, onExportChat: handleExportSelectedChat }) })) : ((0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--content memori-chat-history-drawer--content-with-footer", children: [(0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--scrollable", children: [(0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--toolbar", children: [(0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--toolbar--min-messages-filter", children: [(0, jsx_runtime_1.jsx)(ui_4.SelectBox, { placeholder: (_a = (t('chatLogs.customMinimumMessages') ||
705
- 'Customize the number of messages')) !== null && _a !== void 0 ? _a : 'Customize the number of messages', value: String(minimumMessagesPerChat), onChange: value => {
706
- setMinimumMessagesPerChat(value ? Number(value) : 0);
707
- }, displayValue: minimumMessagesPerChat === 0
288
+ const isEmpty = !isLoading && !error && totalItems === 0 && !searchQuery;
289
+ const noSearchResults = !isLoading && !error && !isEmpty && chatLogs.length === 0;
290
+ const hasMore = chatLogs.length < totalItems;
291
+ const isDetail = Boolean(selectedChatLog && selectedChatSession);
292
+ const listFooter = !isDetail && !isEmpty && !isLoading ? ((0, jsx_runtime_1.jsx)(DrawerFooter_1.default, { start: (0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--count", children: t('write_and_speak.shownOfTotal', {
293
+ shown: chatLogs.length,
294
+ total: totalItems,
295
+ }) }), end: hasMore ? ((0, jsx_runtime_1.jsx)(ui_1.Button, { variant: "outline", loading: loadingMore, disabled: loadingMore, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { "aria-hidden": true }), iconPosition: "right", onClick: () => void fetchChatLogs({ from: chatLogs.length, append: true }), children: t('write_and_speak.loadMore') || t('knownFacts.loadMore') })) : undefined })) : undefined;
296
+ const detailFooter = isDetail ? ((0, jsx_runtime_1.jsx)(DrawerFooter_1.default, { children: (0, jsx_runtime_1.jsx)(ui_1.Button, { className: "memori-chat-history-drawer--resume-cta", variant: "primary", onClick: handleResumeChat, children: t('chatResume.resume', { defaultValue: 'Resume conversation' }) }) })) : undefined;
297
+ const drawerTitle = isDetail ? ((0, jsx_runtime_1.jsxs)("span", { className: "memori-chat-history-drawer--heading", children: [(0, jsx_runtime_1.jsx)(ui_1.Button, { variant: "ghost", shape: "circle", size: "sm", type: "button", className: "memori-chat-history-drawer--heading-button", "aria-label": t('write_and_speak.backToConversationList') || 'Back to the list', title: t('write_and_speak.backToConversationList') || 'Back to the list', icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronLeft, { "aria-hidden": true }), onClick: () => setSelectedChatLog(null) }), (0, jsx_runtime_1.jsxs)("span", { className: "memori-chat-history-drawer--heading-text", children: [(0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--heading-title", title: selectedTitle, children: selectedTitle }), (0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--heading-meta", children: selectedChatSession === null || selectedChatSession === void 0 ? void 0 : selectedChatSession.subtitle })] }), (0, jsx_runtime_1.jsx)(IconButton_1.default, { type: "button", className: "memori-chat-history-drawer--heading-button", "aria-label": t('write_and_speak.downloadThisConversation') ||
298
+ 'Download this conversation', title: t('write_and_speak.downloadThisConversation') ||
299
+ 'Download this conversation', icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Download, { "aria-hidden": true }), onClick: () => selectedChatLog && exportChatLog(selectedChatLog) })] })) : (t('write_and_speak.chatHistory') || 'Chat history');
300
+ return ((0, jsx_runtime_1.jsx)(SideDrawer_1.default, { open: open, size: "md", className: (0, classnames_1.default)('memori-chat-history-drawer', {
301
+ 'memori-chat-history-drawer--detail': isDetail,
302
+ }), title: drawerTitle, closeLabel: t('close') || 'Close', footer: isDetail ? detailFooter : listFooter, onClose: onClose, children: isDetail && selectedChatSession ? ((0, jsx_runtime_1.jsx)(ChatResumeDrawer_1.default, { embedded: true, isOpen: true, session: selectedChatSession, memori: memori, onResume: handleResumeChat, onClose: () => setSelectedChatLog(null), onExportChat: () => selectedChatLog && exportChatLog(selectedChatLog), showFunctionCache: showFunctionCache, showMessageConsumption: showMessageConsumption })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--toolbar", children: [(0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--toolbar-row", children: [(0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--search", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Search, { "aria-hidden": true, className: "memori-chat-history-drawer--search-icon" }), (0, jsx_runtime_1.jsx)("label", { className: "sr-only", htmlFor: "memori-chat-history-search", children: t('write_and_speak.searchInChatHistory') }), (0, jsx_runtime_1.jsx)(ui_1.Input, { id: "memori-chat-history-search", fullWidth: true, value: searchInput, placeholder: t('write_and_speak.searchInChatHistory') || '', onValueChange: setSearchInput })] }), totalItems > 0 && ((0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--total", children: t('write_and_speak.conversationsCount', {
303
+ count: totalItems,
304
+ }) }))] }), (0, jsx_runtime_1.jsx)(ui_1.Button, { variant: "ghost", type: "button", className: "memori-chat-history-drawer--filters-toggle", "aria-expanded": filtersOpen, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDown, { "aria-hidden": true, className: (0, classnames_1.default)('memori-chat-history-drawer--filters-chevron', filtersOpen &&
305
+ 'memori-chat-history-drawer--filters-chevron--open') }), iconPosition: "right", onClick: () => setFiltersOpen(openFilters => !openFilters), children: t('write_and_speak.filters') }), filtersOpen && ((0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--filters", children: [(0, jsx_runtime_1.jsx)(ui_1.SelectBox, { className: "memori-chat-history-drawer--filters-select", value: dateRange, displayValue: dateRange === 'all' ? t('all') || 'All' : t(dateRange), onChange: value => {
306
+ if (!value)
307
+ return;
308
+ setDateRange(value);
309
+ }, options: [
310
+ { label: t('all') || 'All', value: 'all' },
311
+ { label: t('today') || 'Today', value: 'today' },
312
+ {
313
+ label: t('yesterday') || 'Yesterday',
314
+ value: 'yesterday',
315
+ },
316
+ {
317
+ label: t('last_7_days') || 'Last 7 days',
318
+ value: 'last_7_days',
319
+ },
320
+ {
321
+ label: t('last_30_days') || 'Last 30 days',
322
+ value: 'last_30_days',
323
+ },
324
+ ] }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--filters-messages", children: [(0, jsx_runtime_1.jsx)(ui_1.SelectBox, { className: "memori-chat-history-drawer--filters-select", value: String(minimumMessagesPerChat), displayValue: minimumMessagesPerChat === 0
708
325
  ? t('chatLogs.customMinimumMessages') ||
709
326
  'Customize the number of messages'
710
327
  : t('chatLogs.atLeast' + minimumMessagesPerChat) ||
711
- 'At least ' + minimumMessagesPerChat + ' messages', className: "memori-chat-history-drawer--toolbar--min-messages-filter--select", options: [
328
+ `At least ${minimumMessagesPerChat} messages`, onChange: value => {
329
+ setMinimumMessagesPerChat(value ? Number(value) : 0);
330
+ }, options: [
712
331
  {
713
332
  value: '1',
714
333
  label: t('chatLogs.anyMessage') || 'Any message',
@@ -742,32 +361,29 @@ const ChatHistoryDrawer = ({ open, onClose, apiClient, sessionId, memori, resume
742
361
  label: t('chatLogs.customMinimumMessages') ||
743
362
  'Customize the number of messages',
744
363
  },
745
- ] }), minimumMessagesPerChat === 0 && ((0, jsx_runtime_1.jsx)("input", { type: "number", min: 1, value: customMinimumMessages, onChange: (e) => {
746
- const value = parseInt(e.target.value, 10);
747
- setCustomMinimumMessages(value);
748
- }, style: { minWidth: 50 }, className: "memori-chat-history-drawer--toolbar--min-messages-filter--input-number" }))] }), (0, jsx_runtime_1.jsx)("div", { className: "memori-chat-history-drawer--toolbar--actions", children: (0, jsx_runtime_1.jsx)(ui_4.SelectBox, { options: [
749
- { label: t('all') || 'All', value: 'all' },
750
- { label: t('today') || 'Today', value: 'today' },
751
- {
752
- label: t('yesterday') || 'Yesterday',
753
- value: 'yesterday',
754
- },
755
- {
756
- label: t('last_7_days') || 'Last 7 days',
757
- value: 'last_7_days',
758
- },
759
- {
760
- label: t('last_30_days') || 'Last 30 days',
761
- value: 'last_30_days',
762
- },
763
- ], value: dateRange, displayValue: dateRange === 'all'
764
- ? t('all') || 'All'
765
- : t(dateRange) || dateRange, className: "memori-chat-history-drawer--toolbar--actions--select", onChange: value => {
766
- if (value) {
767
- setDateRange(value);
768
- setCurrentPage(1);
769
- }
770
- } }) })] }), renderContent()] }), totalPages > 1 && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-history-drawer--pagination-footer", children: renderListPagination() }))] })) }));
364
+ ] }), minimumMessagesPerChat === 0 && ((0, jsx_runtime_1.jsx)("input", { type: "number", min: 1, value: customMinimumMessages, onChange: (event) => {
365
+ setCustomMinimumMessages(parseInt(event.target.value, 10) || 1);
366
+ }, className: "memori-chat-history-drawer--filters-custom", "aria-label": t('chatLogs.customMinimumMessages') ||
367
+ 'Customize the number of messages' }))] })] }))] }), isLoading && ((0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-history-drawer--loading", children: [(0, jsx_runtime_1.jsx)(ui_1.Spin, { spinning: true, primary: true }), (0, jsx_runtime_1.jsx)("p", { children: t('write_and_speak.loadingChatHistory') ||
368
+ 'Loading chat history...' })] })), error && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-history-drawer--error", role: "alert", children: (0, jsx_runtime_1.jsx)("p", { children: error }) })), isEmpty && ((0, jsx_runtime_1.jsx)(SideDrawer_1.SideDrawerEmpty, { icon: (0, jsx_runtime_1.jsx)(lucide_react_1.MessageCircle, {}), title: t('write_and_speak.noChatHistoryAvailable') ||
369
+ 'No chat history available' })), noSearchResults && ((0, jsx_runtime_1.jsx)(SideDrawer_1.SideDrawerEmpty, { icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Search, {}), title: t('write_and_speak.noResultsFound', {
370
+ searchText: searchQuery,
371
+ }) })), !isLoading && !error && groupedLogs.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-history-drawer--groups", children: groupedLogs.map(group => ((0, jsx_runtime_1.jsxs)("section", { className: "memori-chat-history-drawer--group", children: [(0, jsx_runtime_1.jsx)("h3", { className: "memori-chat-history-drawer--group-label", children: formatGroupLabel(group.key) }), (0, jsx_runtime_1.jsx)("ul", { className: "memori-chat-history-drawer--list", "aria-label": t('write_and_speak.chatHistory') || 'Chat history', children: group.items.map(chatLog => {
372
+ const title = conversationTitleOf(chatLog) ||
373
+ `Chat-${chatLog.chatLogID.substring(0, 4)}`;
374
+ const isCurrentSession = chatLog.sessionID === sessionId;
375
+ const meta = metaFor(chatLog);
376
+ const lastDate = (0, conversationHistory_1.getLastMessageDate)(chatLog.lines);
377
+ return ((0, jsx_runtime_1.jsx)("li", { children: (0, jsx_runtime_1.jsxs)("div", { className: (0, classnames_1.default)('memori-chat-history-drawer--list-item', {
378
+ 'memori-chat-history-drawer--list-item--disabled': isCurrentSession,
379
+ }), children: [(0, jsx_runtime_1.jsx)("button", { type: "button", className: "memori-chat-history-drawer--list-item-main", "aria-disabled": isCurrentSession || undefined, "aria-label": title, disabled: isCurrentSession, onClick: () => {
380
+ if (isCurrentSession)
381
+ return;
382
+ setSelectedChatLog(chatLog);
383
+ }, children: (0, jsx_runtime_1.jsxs)("span", { className: "memori-chat-history-drawer--list-item--content", children: [(0, jsx_runtime_1.jsx)("span", { className: "memori-chat-history-drawer--list-item--title", title: title, children: title }), (0, jsx_runtime_1.jsxs)("span", { className: "memori-chat-history-drawer--list-item--meta", children: [lastDate && ((0, jsx_runtime_1.jsx)("time", { dateTime: lastDate.toISOString(), children: meta })), !lastDate && meta] })] }) }), (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { "aria-hidden": true, className: "memori-chat-history-drawer--list-item-chevron" })] }) }, chatLog.chatLogID));
384
+ }) })] }, group.key.type === 'thisWeek'
385
+ ? 'thisWeek'
386
+ : `${group.key.year}-${group.key.month}`))) }))] })) }));
771
387
  };
772
388
  exports.default = ChatHistoryDrawer;
773
389
  //# sourceMappingURL=ChatHistory.js.map