@memori.ai/memori-react 9.0.0-alpha.2 → 9.0.0-alpha.21

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 (1094) hide show
  1. package/CHANGELOG.md +1103 -0
  2. package/dist/components/AgeVerificationModal/AgeVerificationModal.css +9 -4
  3. package/dist/components/AgeVerificationModal/AgeVerificationModal.js +8 -3
  4. package/dist/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  5. package/dist/components/Auth/Auth.js +3 -1
  6. package/dist/components/Auth/Auth.js.map +1 -1
  7. package/dist/components/Avatar/Avatar.js +5 -10
  8. package/dist/components/Avatar/Avatar.js.map +1 -1
  9. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +8 -1
  10. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  11. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js +1 -1
  12. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
  13. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -0
  14. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js +14 -5
  15. package/dist/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  16. package/dist/components/Chat/Chat.css +137 -34
  17. package/dist/components/Chat/Chat.d.ts +3 -0
  18. package/dist/components/Chat/Chat.js +68 -58
  19. package/dist/components/Chat/Chat.js.map +1 -1
  20. package/dist/components/ChatBubble/ChatBubble.css +150 -32
  21. package/dist/components/ChatBubble/ChatBubble.d.ts +1 -0
  22. package/dist/components/ChatBubble/ChatBubble.js +122 -95
  23. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  24. package/dist/components/ChatHistoryDrawer/ChatHistory.css +5 -0
  25. package/dist/components/ChatHistoryDrawer/ChatHistory.js +27 -10
  26. package/dist/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  27. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +6 -1
  28. package/dist/components/ChatInputs/ChatInputs.css +332 -149
  29. package/dist/components/ChatInputs/ChatInputs.d.ts +2 -0
  30. package/dist/components/ChatInputs/ChatInputs.js +5 -6
  31. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  32. package/dist/components/ChatTextArea/ChatTextArea.css +31 -27
  33. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  34. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  35. package/dist/components/ContentPreviewModal/ContentPreviewModal.css +6 -22
  36. package/dist/components/ContentPreviewModal/ContentPreviewModal.js +3 -1
  37. package/dist/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  38. package/dist/components/DateSelector/DateSelector.css +25 -2
  39. package/dist/components/DateSelector/DateSelector.d.ts +2 -1
  40. package/dist/components/DateSelector/DateSelector.js +17 -7
  41. package/dist/components/DateSelector/DateSelector.js.map +1 -1
  42. package/dist/components/ExpertsDrawer/ExpertsDrawer.js +3 -1
  43. package/dist/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  44. package/dist/components/FilePreview/FilePreview.css +42 -21
  45. package/dist/components/FilePreview/FilePreview.d.ts +2 -1
  46. package/dist/components/FilePreview/FilePreview.js +28 -7
  47. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  48. package/dist/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  49. package/dist/components/Header/ChatConsumptionDropdown.js +5 -3
  50. package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
  51. package/dist/components/Header/Header.css +210 -39
  52. package/dist/components/Header/Header.d.ts +1 -0
  53. package/dist/components/Header/Header.js +135 -51
  54. package/dist/components/Header/Header.js.map +1 -1
  55. package/dist/components/IconButton/IconButton.css +144 -0
  56. package/dist/components/IconButton/IconButton.d.ts +9 -0
  57. package/dist/components/IconButton/IconButton.js +36 -0
  58. package/dist/components/IconButton/IconButton.js.map +1 -0
  59. package/dist/components/KnownFacts/KnownFacts.css +22 -9
  60. package/dist/components/KnownFacts/KnownFacts.js +18 -7
  61. package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
  62. package/dist/components/LoginDrawer/LoginDrawer.css +42 -0
  63. package/dist/components/LoginDrawer/LoginDrawer.js +3 -1
  64. package/dist/components/LoginDrawer/LoginDrawer.js.map +1 -1
  65. package/dist/components/MediaWidget/MediaItemWidget.js +14 -12
  66. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  67. package/dist/components/MediaWidget/MediaItemWidget.utils.d.ts +3 -2
  68. package/dist/components/MediaWidget/MediaItemWidget.utils.js +28 -6
  69. package/dist/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  70. package/dist/components/MediaWidget/MediaPreviewModal.js +6 -7
  71. package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  72. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +7 -2
  73. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  74. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  75. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +14 -12
  76. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  77. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +36 -124
  78. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +251 -170
  79. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +1 -0
  80. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +25 -15
  81. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  82. package/dist/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +18 -2
  83. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +210 -62
  84. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  85. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -0
  86. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +1 -1
  87. package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  88. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  89. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js +65 -1
  90. package/dist/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  91. package/dist/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  92. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +18 -13
  93. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  94. package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  95. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
  96. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  97. package/dist/components/MemoriWidget/MemoriWidget.css +65 -5
  98. package/dist/components/MemoriWidget/MemoriWidget.d.ts +1 -0
  99. package/dist/components/MemoriWidget/MemoriWidget.js +820 -457
  100. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  101. package/dist/components/MicrophoneButton/MicrophoneButton.css +4 -131
  102. package/dist/components/MicrophoneButton/MicrophoneButton.js +3 -1
  103. package/dist/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  104. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +29 -7
  105. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +6 -1
  106. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +12 -9
  107. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  108. package/dist/components/PositionPopover/PositionPopover.d.ts +2 -0
  109. package/dist/components/PositionPopover/PositionPopover.js +19 -11
  110. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  111. package/dist/components/PoweredBy/PoweredBy.css +4 -3
  112. package/dist/components/SettingsDrawer/SettingsDrawer.js +4 -2
  113. package/dist/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  114. package/dist/components/ShareButton/ShareButton.css +3 -2
  115. package/dist/components/ShareButton/ShareButton.js +3 -4
  116. package/dist/components/ShareButton/ShareButton.js.map +1 -1
  117. package/dist/components/Snippet/Snippet.css +6 -36
  118. package/dist/components/Snippet/Snippet.js +3 -1
  119. package/dist/components/Snippet/Snippet.js.map +1 -1
  120. package/dist/components/StartPanel/StartPanel.css +114 -10
  121. package/dist/components/StartPanel/StartPanel.js +14 -9
  122. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  123. package/dist/components/UploadButton/UploadButton.css +3 -40
  124. package/dist/components/UploadButton/UploadButton.d.ts +1 -0
  125. package/dist/components/UploadButton/UploadButton.js +34 -25
  126. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  127. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +1 -6
  128. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +47 -113
  129. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  130. package/dist/components/UploadButton/UploadImages/UploadImages.js +3 -1
  131. package/dist/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  132. package/dist/components/WhyThisAnswer/WhyThisAnswer.js +3 -1
  133. package/dist/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  134. package/dist/components/layouts/Chat.js +67 -79
  135. package/dist/components/layouts/Chat.js.map +1 -1
  136. package/dist/components/layouts/FullPage.js +90 -42
  137. package/dist/components/layouts/FullPage.js.map +1 -1
  138. package/dist/components/layouts/HiddenChat.js +11 -236
  139. package/dist/components/layouts/HiddenChat.js.map +1 -1
  140. package/dist/components/layouts/Totem.js +10 -1
  141. package/dist/components/layouts/Totem.js.map +1 -1
  142. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +30 -3
  143. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  144. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +175 -61
  145. package/dist/components/layouts/ZoomedFullBody.js +90 -42
  146. package/dist/components/layouts/ZoomedFullBody.js.map +1 -1
  147. package/dist/components/layouts/chat.css +232 -85
  148. package/dist/components/layouts/fullpage.css +253 -93
  149. package/dist/components/layouts/hidden-chat.css +172 -62
  150. package/dist/components/layouts/totem.css +151 -50
  151. package/dist/components/layouts/zoomed-full-body.css +339 -34
  152. package/dist/context/widgetSurfaceContext.d.ts +3 -0
  153. package/dist/context/widgetSurfaceContext.js +11 -0
  154. package/dist/context/widgetSurfaceContext.js.map +1 -0
  155. package/dist/helpers/constants.d.ts +4 -0
  156. package/dist/helpers/constants.js +50 -1
  157. package/dist/helpers/constants.js.map +1 -1
  158. package/dist/helpers/convertDocument.d.ts +1 -0
  159. package/dist/helpers/convertDocument.js +24 -0
  160. package/dist/helpers/convertDocument.js.map +1 -0
  161. package/dist/helpers/credits.d.ts +5 -2
  162. package/dist/helpers/credits.js +5 -1
  163. package/dist/helpers/credits.js.map +1 -1
  164. package/dist/helpers/media.js +18 -3
  165. package/dist/helpers/media.js.map +1 -1
  166. package/dist/helpers/message.d.ts +1 -1
  167. package/dist/helpers/message.js +7 -4
  168. package/dist/helpers/message.js.map +1 -1
  169. package/dist/helpers/nats/getNatsConfig.d.ts +9 -0
  170. package/dist/helpers/nats/getNatsConfig.js +65 -0
  171. package/dist/helpers/nats/getNatsConfig.js.map +1 -0
  172. package/dist/helpers/nats/isSessionExpiredError.d.ts +3 -0
  173. package/dist/helpers/nats/isSessionExpiredError.js +36 -0
  174. package/dist/helpers/nats/isSessionExpiredError.js.map +1 -0
  175. package/dist/helpers/nats/useNats.d.ts +12 -0
  176. package/dist/helpers/nats/useNats.js +75 -0
  177. package/dist/helpers/nats/useNats.js.map +1 -0
  178. package/dist/helpers/nats/useNatsSession.d.ts +28 -0
  179. package/dist/helpers/nats/useNatsSession.js +212 -0
  180. package/dist/helpers/nats/useNatsSession.js.map +1 -0
  181. package/dist/helpers/positionPopover.d.ts +1 -0
  182. package/dist/helpers/positionPopover.js +7 -0
  183. package/dist/helpers/positionPopover.js.map +1 -0
  184. package/dist/helpers/tts/muteSpeaker.d.ts +13 -0
  185. package/dist/helpers/tts/muteSpeaker.js +26 -0
  186. package/dist/helpers/tts/muteSpeaker.js.map +1 -0
  187. package/dist/helpers/tts/useTTS.js +18 -9
  188. package/dist/helpers/tts/useTTS.js.map +1 -1
  189. package/dist/helpers/usePressTooltip.d.ts +13 -0
  190. package/dist/helpers/usePressTooltip.js +23 -0
  191. package/dist/helpers/usePressTooltip.js.map +1 -0
  192. package/dist/helpers/utils.d.ts +21 -0
  193. package/dist/helpers/utils.js +75 -4
  194. package/dist/helpers/utils.js.map +1 -1
  195. package/dist/index.js +16 -16
  196. package/dist/index.js.map +1 -1
  197. package/dist/locales/de.json +15 -1
  198. package/dist/locales/en.json +16 -2
  199. package/dist/locales/es.json +15 -1
  200. package/dist/locales/fr.json +15 -1
  201. package/dist/locales/it.json +16 -2
  202. package/dist/styles.css +1 -163
  203. package/dist/types/integration.d.ts +3 -0
  204. package/dist/types/integration.js +16 -0
  205. package/dist/types/integration.js.map +1 -0
  206. package/dist/version.d.ts +1 -1
  207. package/dist/version.js +1 -1
  208. package/dist/version.js.map +1 -1
  209. package/esm/components/AgeVerificationModal/AgeVerificationModal.css +9 -4
  210. package/esm/components/AgeVerificationModal/AgeVerificationModal.js +8 -3
  211. package/esm/components/AgeVerificationModal/AgeVerificationModal.js.map +1 -1
  212. package/esm/components/Auth/Auth.js +3 -1
  213. package/esm/components/Auth/Auth.js.map +1 -1
  214. package/esm/components/Avatar/Avatar.js +5 -10
  215. package/esm/components/Avatar/Avatar.js.map +1 -1
  216. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +9 -2
  217. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  218. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js +2 -2
  219. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.js.map +1 -1
  220. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.d.ts +2 -0
  221. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js +12 -4
  222. package/esm/components/Avatar/AvatarView/AvatarComponent/constants.js.map +1 -1
  223. package/esm/components/Chat/Chat.css +137 -34
  224. package/esm/components/Chat/Chat.d.ts +3 -0
  225. package/esm/components/Chat/Chat.js +68 -58
  226. package/esm/components/Chat/Chat.js.map +1 -1
  227. package/esm/components/ChatBubble/ChatBubble.css +150 -32
  228. package/esm/components/ChatBubble/ChatBubble.d.ts +1 -0
  229. package/esm/components/ChatBubble/ChatBubble.js +123 -96
  230. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  231. package/esm/components/ChatHistoryDrawer/ChatHistory.css +5 -0
  232. package/esm/components/ChatHistoryDrawer/ChatHistory.js +27 -10
  233. package/esm/components/ChatHistoryDrawer/ChatHistory.js.map +1 -1
  234. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +6 -1
  235. package/esm/components/ChatInputs/ChatInputs.css +332 -149
  236. package/esm/components/ChatInputs/ChatInputs.d.ts +2 -0
  237. package/esm/components/ChatInputs/ChatInputs.js +5 -6
  238. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  239. package/esm/components/ChatTextArea/ChatTextArea.css +31 -27
  240. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  241. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  242. package/esm/components/ContentPreviewModal/ContentPreviewModal.css +6 -22
  243. package/esm/components/ContentPreviewModal/ContentPreviewModal.js +3 -1
  244. package/esm/components/ContentPreviewModal/ContentPreviewModal.js.map +1 -1
  245. package/esm/components/DateSelector/DateSelector.css +25 -2
  246. package/esm/components/DateSelector/DateSelector.d.ts +2 -1
  247. package/esm/components/DateSelector/DateSelector.js +17 -7
  248. package/esm/components/DateSelector/DateSelector.js.map +1 -1
  249. package/esm/components/ExpertsDrawer/ExpertsDrawer.js +3 -1
  250. package/esm/components/ExpertsDrawer/ExpertsDrawer.js.map +1 -1
  251. package/esm/components/FilePreview/FilePreview.css +42 -21
  252. package/esm/components/FilePreview/FilePreview.d.ts +2 -1
  253. package/esm/components/FilePreview/FilePreview.js +31 -10
  254. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  255. package/esm/components/Header/ChatConsumptionDropdown.d.ts +3 -1
  256. package/esm/components/Header/ChatConsumptionDropdown.js +7 -5
  257. package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
  258. package/esm/components/Header/Header.css +210 -39
  259. package/esm/components/Header/Header.d.ts +1 -0
  260. package/esm/components/Header/Header.js +136 -52
  261. package/esm/components/Header/Header.js.map +1 -1
  262. package/esm/components/IconButton/IconButton.css +144 -0
  263. package/esm/components/IconButton/IconButton.d.ts +9 -0
  264. package/esm/components/IconButton/IconButton.js +33 -0
  265. package/esm/components/IconButton/IconButton.js.map +1 -0
  266. package/esm/components/KnownFacts/KnownFacts.css +22 -9
  267. package/esm/components/KnownFacts/KnownFacts.js +18 -7
  268. package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
  269. package/esm/components/LoginDrawer/LoginDrawer.css +42 -0
  270. package/esm/components/LoginDrawer/LoginDrawer.js +3 -1
  271. package/esm/components/LoginDrawer/LoginDrawer.js.map +1 -1
  272. package/esm/components/MediaWidget/MediaItemWidget.js +16 -14
  273. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  274. package/esm/components/MediaWidget/MediaItemWidget.utils.d.ts +3 -2
  275. package/esm/components/MediaWidget/MediaItemWidget.utils.js +27 -6
  276. package/esm/components/MediaWidget/MediaItemWidget.utils.js.map +1 -1
  277. package/esm/components/MediaWidget/MediaPreviewModal.js +6 -7
  278. package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  279. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +7 -2
  280. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js +1 -1
  281. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.js.map +1 -1
  282. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js +15 -13
  283. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.js.map +1 -1
  284. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +36 -124
  285. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +251 -170
  286. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.d.ts +1 -0
  287. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js +26 -16
  288. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.js.map +1 -1
  289. package/esm/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +18 -2
  290. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +211 -63
  291. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  292. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -0
  293. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js +2 -2
  294. package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.js.map +1 -1
  295. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.d.ts +3 -1
  296. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js +66 -2
  297. package/esm/components/MemoriArtifactSystem/context/ArtifactContext.js.map +1 -1
  298. package/esm/components/MemoriArtifactSystem/types/artifact.types.d.ts +11 -0
  299. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +18 -13
  300. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -1
  301. package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  302. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
  303. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  304. package/esm/components/MemoriWidget/MemoriWidget.css +65 -5
  305. package/esm/components/MemoriWidget/MemoriWidget.d.ts +1 -0
  306. package/esm/components/MemoriWidget/MemoriWidget.js +821 -458
  307. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  308. package/esm/components/MicrophoneButton/MicrophoneButton.css +4 -131
  309. package/esm/components/MicrophoneButton/MicrophoneButton.js +3 -2
  310. package/esm/components/MicrophoneButton/MicrophoneButton.js.map +1 -1
  311. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +29 -7
  312. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +6 -1
  313. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +12 -9
  314. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -1
  315. package/esm/components/PositionPopover/PositionPopover.d.ts +2 -0
  316. package/esm/components/PositionPopover/PositionPopover.js +20 -12
  317. package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
  318. package/esm/components/PoweredBy/PoweredBy.css +4 -3
  319. package/esm/components/SettingsDrawer/SettingsDrawer.js +4 -2
  320. package/esm/components/SettingsDrawer/SettingsDrawer.js.map +1 -1
  321. package/esm/components/ShareButton/ShareButton.css +3 -2
  322. package/esm/components/ShareButton/ShareButton.js +4 -5
  323. package/esm/components/ShareButton/ShareButton.js.map +1 -1
  324. package/esm/components/Snippet/Snippet.css +6 -36
  325. package/esm/components/Snippet/Snippet.js +4 -2
  326. package/esm/components/Snippet/Snippet.js.map +1 -1
  327. package/esm/components/StartPanel/StartPanel.css +114 -10
  328. package/esm/components/StartPanel/StartPanel.js +15 -10
  329. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  330. package/esm/components/UploadButton/UploadButton.css +3 -40
  331. package/esm/components/UploadButton/UploadButton.d.ts +1 -0
  332. package/esm/components/UploadButton/UploadButton.js +34 -25
  333. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  334. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.d.ts +1 -6
  335. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +47 -113
  336. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  337. package/esm/components/UploadButton/UploadImages/UploadImages.js +3 -1
  338. package/esm/components/UploadButton/UploadImages/UploadImages.js.map +1 -1
  339. package/esm/components/WhyThisAnswer/WhyThisAnswer.js +3 -1
  340. package/esm/components/WhyThisAnswer/WhyThisAnswer.js.map +1 -1
  341. package/esm/components/layouts/Chat.js +70 -82
  342. package/esm/components/layouts/Chat.js.map +1 -1
  343. package/esm/components/layouts/FullPage.js +91 -43
  344. package/esm/components/layouts/FullPage.js.map +1 -1
  345. package/esm/components/layouts/HiddenChat.js +13 -238
  346. package/esm/components/layouts/HiddenChat.js.map +1 -1
  347. package/esm/components/layouts/Totem.js +10 -1
  348. package/esm/components/layouts/Totem.js.map +1 -1
  349. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +30 -3
  350. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  351. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +175 -61
  352. package/esm/components/layouts/ZoomedFullBody.js +91 -43
  353. package/esm/components/layouts/ZoomedFullBody.js.map +1 -1
  354. package/esm/components/layouts/chat.css +232 -85
  355. package/esm/components/layouts/fullpage.css +253 -93
  356. package/esm/components/layouts/hidden-chat.css +172 -62
  357. package/esm/components/layouts/totem.css +151 -50
  358. package/esm/components/layouts/zoomed-full-body.css +339 -34
  359. package/esm/context/widgetSurfaceContext.d.ts +3 -0
  360. package/esm/context/widgetSurfaceContext.js +7 -0
  361. package/esm/context/widgetSurfaceContext.js.map +1 -0
  362. package/esm/helpers/constants.d.ts +4 -0
  363. package/esm/helpers/constants.js +49 -0
  364. package/esm/helpers/constants.js.map +1 -1
  365. package/esm/helpers/convertDocument.d.ts +1 -0
  366. package/esm/helpers/convertDocument.js +20 -0
  367. package/esm/helpers/convertDocument.js.map +1 -0
  368. package/esm/helpers/credits.d.ts +5 -2
  369. package/esm/helpers/credits.js +5 -1
  370. package/esm/helpers/credits.js.map +1 -1
  371. package/esm/helpers/media.js +18 -3
  372. package/esm/helpers/media.js.map +1 -1
  373. package/esm/helpers/message.d.ts +1 -1
  374. package/esm/helpers/message.js +5 -2
  375. package/esm/helpers/message.js.map +1 -1
  376. package/esm/helpers/nats/getNatsConfig.d.ts +9 -0
  377. package/esm/helpers/nats/getNatsConfig.js +61 -0
  378. package/esm/helpers/nats/getNatsConfig.js.map +1 -0
  379. package/esm/helpers/nats/isSessionExpiredError.d.ts +3 -0
  380. package/esm/helpers/nats/isSessionExpiredError.js +32 -0
  381. package/esm/helpers/nats/isSessionExpiredError.js.map +1 -0
  382. package/esm/helpers/nats/useNats.d.ts +12 -0
  383. package/esm/helpers/nats/useNats.js +72 -0
  384. package/esm/helpers/nats/useNats.js.map +1 -0
  385. package/esm/helpers/nats/useNatsSession.d.ts +28 -0
  386. package/esm/helpers/nats/useNatsSession.js +208 -0
  387. package/esm/helpers/nats/useNatsSession.js.map +1 -0
  388. package/esm/helpers/positionPopover.d.ts +1 -0
  389. package/esm/helpers/positionPopover.js +4 -0
  390. package/esm/helpers/positionPopover.js.map +1 -0
  391. package/esm/helpers/tts/muteSpeaker.d.ts +13 -0
  392. package/esm/helpers/tts/muteSpeaker.js +21 -0
  393. package/esm/helpers/tts/muteSpeaker.js.map +1 -0
  394. package/esm/helpers/tts/useTTS.js +18 -9
  395. package/esm/helpers/tts/useTTS.js.map +1 -1
  396. package/esm/helpers/usePressTooltip.d.ts +13 -0
  397. package/esm/helpers/usePressTooltip.js +20 -0
  398. package/esm/helpers/usePressTooltip.js.map +1 -0
  399. package/esm/helpers/utils.d.ts +21 -0
  400. package/esm/helpers/utils.js +68 -3
  401. package/esm/helpers/utils.js.map +1 -1
  402. package/esm/index.js +17 -17
  403. package/esm/index.js.map +1 -1
  404. package/esm/locales/de.json +15 -1
  405. package/esm/locales/en.json +16 -2
  406. package/esm/locales/es.json +15 -1
  407. package/esm/locales/fr.json +15 -1
  408. package/esm/locales/it.json +16 -2
  409. package/esm/styles.css +1 -163
  410. package/esm/types/integration.d.ts +3 -0
  411. package/esm/types/integration.js +11 -0
  412. package/esm/types/integration.js.map +1 -0
  413. package/esm/version.d.ts +1 -1
  414. package/esm/version.js +1 -1
  415. package/esm/version.js.map +1 -1
  416. package/package.json +13 -6
  417. package/src/__snapshots__/index.test.tsx.snap +0 -50
  418. package/src/components/AgeVerificationModal/AgeVerificationModal.css +9 -4
  419. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +13 -2
  420. package/src/components/Auth/Auth.tsx +3 -0
  421. package/src/components/Avatar/Avatar.stories.tsx +45 -28
  422. package/src/components/Avatar/Avatar.test.tsx +54 -0
  423. package/src/components/Avatar/Avatar.tsx +8 -12
  424. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +12 -5
  425. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts +2 -1
  426. package/src/components/Avatar/AvatarView/AvatarComponent/constants.test.ts +19 -0
  427. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +19 -4
  428. package/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap +164 -0
  429. package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +10 -10
  430. package/src/components/Chat/Chat.css +137 -34
  431. package/src/components/Chat/Chat.tsx +43 -22
  432. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +7429 -7603
  433. package/src/components/ChatBubble/ChatBubble.css +150 -32
  434. package/src/components/ChatBubble/ChatBubble.test.tsx +65 -1
  435. package/src/components/ChatBubble/ChatBubble.tsx +168 -90
  436. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +6491 -6387
  437. package/src/components/ChatHistoryDrawer/ChatHistory.css +5 -0
  438. package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +77 -1
  439. package/src/components/ChatHistoryDrawer/ChatHistory.tsx +59 -27
  440. package/src/components/ChatHistoryDrawer/ChatResumeDrawer.css +6 -1
  441. package/src/components/ChatInputs/ChatInputs.css +332 -149
  442. package/src/components/ChatInputs/ChatInputs.tsx +25 -11
  443. package/src/components/ChatTextArea/ChatTextArea.css +31 -27
  444. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +8 -4
  445. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +6 -6
  446. package/src/components/ContentPreviewModal/ContentPreviewModal.css +6 -22
  447. package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +3 -0
  448. package/src/components/DateSelector/DateSelector.css +25 -2
  449. package/src/components/DateSelector/DateSelector.stories.tsx +11 -2
  450. package/src/components/DateSelector/DateSelector.tsx +28 -9
  451. package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +3 -0
  452. package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +2 -2
  453. package/src/components/FilePreview/FilePreview.css +42 -21
  454. package/src/components/FilePreview/FilePreview.stories.tsx +0 -3
  455. package/src/components/FilePreview/FilePreview.tsx +42 -7
  456. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +14 -0
  457. package/src/components/Header/ChatConsumptionDropdown.tsx +18 -6
  458. package/src/components/Header/Header.css +210 -39
  459. package/src/components/Header/Header.test.tsx +55 -1
  460. package/src/components/Header/Header.tsx +456 -160
  461. package/src/components/Header/__snapshots__/Header.test.tsx.snap +194 -135
  462. package/src/components/IconButton/IconButton.css +144 -0
  463. package/src/components/IconButton/IconButton.tsx +89 -0
  464. package/src/components/KnownFacts/KnownFacts.css +22 -9
  465. package/src/components/KnownFacts/KnownFacts.tsx +18 -3
  466. package/src/components/LoginDrawer/LoginDrawer.css +42 -0
  467. package/src/components/LoginDrawer/LoginDrawer.tsx +3 -0
  468. package/src/components/MediaWidget/MediaItemWidget.tsx +26 -13
  469. package/src/components/MediaWidget/MediaItemWidget.utils.test.ts +45 -2
  470. package/src/components/MediaWidget/MediaItemWidget.utils.ts +39 -6
  471. package/src/components/MediaWidget/MediaPreviewModal.test.tsx +2 -3
  472. package/src/components/MediaWidget/MediaPreviewModal.tsx +9 -7
  473. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +218 -2252
  474. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +7 -2
  475. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +19 -33
  476. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +44 -45
  477. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +36 -124
  478. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +251 -170
  479. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +110 -105
  480. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +18 -2
  481. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +359 -149
  482. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +1 -0
  483. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +2 -2
  484. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +111 -9
  485. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +20 -1
  486. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +1 -0
  487. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +19 -13
  488. package/src/components/MemoriArtifactSystem/utils/applyEdits.test.ts +85 -0
  489. package/src/components/MemoriArtifactSystem/utils/applyEdits.ts +173 -0
  490. package/src/components/MemoriWidget/MemoriWidget.css +65 -5
  491. package/src/components/MemoriWidget/MemoriWidget.tsx +1294 -764
  492. package/src/components/MicrophoneButton/MicrophoneButton.css +4 -131
  493. package/src/components/MicrophoneButton/MicrophoneButton.tsx +5 -5
  494. package/src/components/MobileSessionPanel/MobileSessionPanel.css +29 -7
  495. package/src/components/MobileSessionPanel/MobileSessionPanel.test.tsx +44 -0
  496. package/src/components/MobileSessionPanel/MobileSessionPanel.tsx +60 -38
  497. package/src/components/PositionPopover/PositionPopover.tsx +32 -20
  498. package/src/components/PoweredBy/PoweredBy.css +4 -3
  499. package/src/components/SettingsDrawer/SettingsDrawer.tsx +4 -1
  500. package/src/components/ShareButton/ShareButton.css +3 -2
  501. package/src/components/ShareButton/ShareButton.tsx +14 -12
  502. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +36 -27
  503. package/src/components/Snippet/Snippet.css +6 -36
  504. package/src/components/Snippet/Snippet.tsx +6 -7
  505. package/src/components/StartPanel/StartPanel.css +114 -10
  506. package/src/components/StartPanel/StartPanel.stories.tsx +43 -1
  507. package/src/components/StartPanel/StartPanel.test.tsx +64 -1
  508. package/src/components/StartPanel/StartPanel.tsx +38 -10
  509. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +287 -86
  510. package/src/components/UploadButton/UploadButton.css +3 -40
  511. package/src/components/UploadButton/UploadButton.stories.tsx +3 -3
  512. package/src/components/UploadButton/UploadButton.tsx +50 -44
  513. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +59 -143
  514. package/src/components/UploadButton/UploadImages/UploadImages.tsx +3 -0
  515. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +33 -29
  516. package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +3 -0
  517. package/src/components/layouts/Chat.tsx +235 -239
  518. package/src/components/layouts/FullPage.tsx +160 -65
  519. package/src/components/layouts/HiddenChat.tsx +20 -413
  520. package/src/components/layouts/Totem.tsx +20 -3
  521. package/src/components/layouts/WebsiteAssistant/WebsiteAssistant.tsx +72 -16
  522. package/src/components/layouts/WebsiteAssistant/__snapshots__/WebsiteAssistant.test.tsx.snap +60 -44
  523. package/src/components/layouts/WebsiteAssistant/website-assistant.css +175 -61
  524. package/src/components/layouts/ZoomedFullBody.tsx +163 -67
  525. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +597 -583
  526. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +1186 -1146
  527. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +409 -435
  528. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +590 -602
  529. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +585 -565
  530. package/src/components/layouts/chat.css +232 -85
  531. package/src/components/layouts/fullpage.css +253 -93
  532. package/src/components/layouts/hidden-chat.css +172 -62
  533. package/src/components/layouts/layouts.stories.tsx +135 -15
  534. package/src/components/layouts/totem.css +151 -50
  535. package/src/components/layouts/zoomed-full-body.css +339 -34
  536. package/src/context/widgetSurfaceContext.tsx +14 -0
  537. package/src/helpers/constants.ts +56 -1
  538. package/src/helpers/convertDocument.test.ts +67 -0
  539. package/src/helpers/convertDocument.ts +35 -0
  540. package/src/helpers/credits.ts +16 -1
  541. package/src/helpers/media.test.ts +36 -0
  542. package/src/helpers/media.ts +39 -12
  543. package/src/helpers/message.test.ts +28 -1
  544. package/src/helpers/message.ts +19 -4
  545. package/src/helpers/nats/getNatsConfig.ts +145 -0
  546. package/src/helpers/nats/isSessionExpiredError.test.ts +38 -0
  547. package/src/helpers/nats/isSessionExpiredError.ts +51 -0
  548. package/src/helpers/nats/useNats.ts +124 -0
  549. package/src/helpers/nats/useNatsSession.ts +394 -0
  550. package/src/helpers/positionPopover.test.ts +39 -0
  551. package/src/helpers/positionPopover.ts +16 -0
  552. package/src/helpers/tts/muteSpeaker.test.ts +81 -0
  553. package/src/helpers/tts/muteSpeaker.ts +46 -0
  554. package/src/helpers/tts/useTTS.ts +32 -22
  555. package/src/helpers/usePressTooltip.ts +29 -0
  556. package/src/helpers/utils.test.ts +162 -0
  557. package/src/helpers/utils.ts +108 -3
  558. package/src/index.stories.tsx +32 -0
  559. package/src/index.tsx +1 -5
  560. package/src/locales/de.json +15 -1
  561. package/src/locales/en.json +16 -2
  562. package/src/locales/es.json +15 -1
  563. package/src/locales/fr.json +15 -1
  564. package/src/locales/it.json +16 -2
  565. package/src/styles.css +113 -15
  566. package/src/types/integration.test.ts +32 -0
  567. package/src/types/integration.ts +31 -0
  568. package/src/version.ts +1 -1
  569. package/dist/components/PositionDrawer/PositionDrawer.d.ts +0 -12
  570. package/dist/components/PositionDrawer/PositionDrawer.js +0 -17
  571. package/dist/components/PositionDrawer/PositionDrawer.js.map +0 -1
  572. package/dist/components/icons/AI.d.ts +0 -6
  573. package/dist/components/icons/AI.js +0 -6
  574. package/dist/components/icons/AI.js.map +0 -1
  575. package/dist/components/icons/Alert.d.ts +0 -6
  576. package/dist/components/icons/Alert.js +0 -6
  577. package/dist/components/icons/Alert.js.map +0 -1
  578. package/dist/components/icons/ArrowUp.d.ts +0 -6
  579. package/dist/components/icons/ArrowUp.js +0 -6
  580. package/dist/components/icons/ArrowUp.js.map +0 -1
  581. package/dist/components/icons/Bug.d.ts +0 -6
  582. package/dist/components/icons/Bug.js +0 -6
  583. package/dist/components/icons/Bug.js.map +0 -1
  584. package/dist/components/icons/Chat.d.ts +0 -6
  585. package/dist/components/icons/Chat.js +0 -6
  586. package/dist/components/icons/Chat.js.map +0 -1
  587. package/dist/components/icons/ChevronDown.d.ts +0 -6
  588. package/dist/components/icons/ChevronDown.js +0 -6
  589. package/dist/components/icons/ChevronDown.js.map +0 -1
  590. package/dist/components/icons/ChevronLeft.d.ts +0 -6
  591. package/dist/components/icons/ChevronLeft.js +0 -6
  592. package/dist/components/icons/ChevronLeft.js.map +0 -1
  593. package/dist/components/icons/ChevronRight.d.ts +0 -6
  594. package/dist/components/icons/ChevronRight.js +0 -6
  595. package/dist/components/icons/ChevronRight.js.map +0 -1
  596. package/dist/components/icons/ChevronUp.d.ts +0 -6
  597. package/dist/components/icons/ChevronUp.js +0 -6
  598. package/dist/components/icons/ChevronUp.js.map +0 -1
  599. package/dist/components/icons/Clear.d.ts +0 -6
  600. package/dist/components/icons/Clear.js +0 -6
  601. package/dist/components/icons/Clear.js.map +0 -1
  602. package/dist/components/icons/Close.d.ts +0 -7
  603. package/dist/components/icons/Close.js +0 -6
  604. package/dist/components/icons/Close.js.map +0 -1
  605. package/dist/components/icons/Code.d.ts +0 -6
  606. package/dist/components/icons/Code.js +0 -6
  607. package/dist/components/icons/Code.js.map +0 -1
  608. package/dist/components/icons/Copy.d.ts +0 -6
  609. package/dist/components/icons/Copy.js +0 -6
  610. package/dist/components/icons/Copy.js.map +0 -1
  611. package/dist/components/icons/DeepThought.d.ts +0 -6
  612. package/dist/components/icons/DeepThought.js +0 -6
  613. package/dist/components/icons/DeepThought.js.map +0 -1
  614. package/dist/components/icons/Delete.d.ts +0 -6
  615. package/dist/components/icons/Delete.js +0 -6
  616. package/dist/components/icons/Delete.js.map +0 -1
  617. package/dist/components/icons/Document.d.ts +0 -5
  618. package/dist/components/icons/Document.js +0 -10
  619. package/dist/components/icons/Document.js.map +0 -1
  620. package/dist/components/icons/Download.d.ts +0 -6
  621. package/dist/components/icons/Download.js +0 -6
  622. package/dist/components/icons/Download.js.map +0 -1
  623. package/dist/components/icons/Edit.d.ts +0 -6
  624. package/dist/components/icons/Edit.js +0 -6
  625. package/dist/components/icons/Edit.js.map +0 -1
  626. package/dist/components/icons/Expand.d.ts +0 -6
  627. package/dist/components/icons/Expand.js +0 -6
  628. package/dist/components/icons/Expand.js.map +0 -1
  629. package/dist/components/icons/Eye.d.ts +0 -6
  630. package/dist/components/icons/Eye.js +0 -6
  631. package/dist/components/icons/Eye.js.map +0 -1
  632. package/dist/components/icons/EyeInvisible.d.ts +0 -6
  633. package/dist/components/icons/EyeInvisible.js +0 -6
  634. package/dist/components/icons/EyeInvisible.js.map +0 -1
  635. package/dist/components/icons/Facebook.d.ts +0 -6
  636. package/dist/components/icons/Facebook.js +0 -6
  637. package/dist/components/icons/Facebook.js.map +0 -1
  638. package/dist/components/icons/Feedback.d.ts +0 -6
  639. package/dist/components/icons/Feedback.js +0 -6
  640. package/dist/components/icons/Feedback.js.map +0 -1
  641. package/dist/components/icons/File.d.ts +0 -6
  642. package/dist/components/icons/File.js +0 -6
  643. package/dist/components/icons/File.js.map +0 -1
  644. package/dist/components/icons/FileExcel.d.ts +0 -6
  645. package/dist/components/icons/FileExcel.js +0 -6
  646. package/dist/components/icons/FileExcel.js.map +0 -1
  647. package/dist/components/icons/FilePdf.d.ts +0 -6
  648. package/dist/components/icons/FilePdf.js +0 -6
  649. package/dist/components/icons/FilePdf.js.map +0 -1
  650. package/dist/components/icons/FileWord.d.ts +0 -6
  651. package/dist/components/icons/FileWord.js +0 -6
  652. package/dist/components/icons/FileWord.js.map +0 -1
  653. package/dist/components/icons/Fullscreen.d.ts +0 -6
  654. package/dist/components/icons/Fullscreen.js +0 -6
  655. package/dist/components/icons/Fullscreen.js.map +0 -1
  656. package/dist/components/icons/FullscreenExit.d.ts +0 -6
  657. package/dist/components/icons/FullscreenExit.js +0 -6
  658. package/dist/components/icons/FullscreenExit.js.map +0 -1
  659. package/dist/components/icons/Group.d.ts +0 -6
  660. package/dist/components/icons/Group.js +0 -6
  661. package/dist/components/icons/Group.js.map +0 -1
  662. package/dist/components/icons/History.d.ts +0 -7
  663. package/dist/components/icons/History.js +0 -6
  664. package/dist/components/icons/History.js.map +0 -1
  665. package/dist/components/icons/Image.d.ts +0 -4
  666. package/dist/components/icons/Image.js +0 -9
  667. package/dist/components/icons/Image.js.map +0 -1
  668. package/dist/components/icons/Info.d.ts +0 -6
  669. package/dist/components/icons/Info.js +0 -6
  670. package/dist/components/icons/Info.js.map +0 -1
  671. package/dist/components/icons/Link.d.ts +0 -6
  672. package/dist/components/icons/Link.js +0 -6
  673. package/dist/components/icons/Link.js.map +0 -1
  674. package/dist/components/icons/Linkedin.d.ts +0 -6
  675. package/dist/components/icons/Linkedin.js +0 -6
  676. package/dist/components/icons/Linkedin.js.map +0 -1
  677. package/dist/components/icons/Loading.d.ts +0 -7
  678. package/dist/components/icons/Loading.js +0 -10
  679. package/dist/components/icons/Loading.js.map +0 -1
  680. package/dist/components/icons/Logout.d.ts +0 -6
  681. package/dist/components/icons/Logout.js +0 -6
  682. package/dist/components/icons/Logout.js.map +0 -1
  683. package/dist/components/icons/Mail.d.ts +0 -6
  684. package/dist/components/icons/Mail.js +0 -6
  685. package/dist/components/icons/Mail.js.map +0 -1
  686. package/dist/components/icons/MapMarker.d.ts +0 -6
  687. package/dist/components/icons/MapMarker.js +0 -6
  688. package/dist/components/icons/MapMarker.js.map +0 -1
  689. package/dist/components/icons/MenuHorizontal.d.ts +0 -7
  690. package/dist/components/icons/MenuHorizontal.js +0 -6
  691. package/dist/components/icons/MenuHorizontal.js.map +0 -1
  692. package/dist/components/icons/MenuVertical.d.ts +0 -7
  693. package/dist/components/icons/MenuVertical.js +0 -6
  694. package/dist/components/icons/MenuVertical.js.map +0 -1
  695. package/dist/components/icons/Message.d.ts +0 -6
  696. package/dist/components/icons/Message.js +0 -6
  697. package/dist/components/icons/Message.js.map +0 -1
  698. package/dist/components/icons/Microphone.d.ts +0 -6
  699. package/dist/components/icons/Microphone.js +0 -6
  700. package/dist/components/icons/Microphone.js.map +0 -1
  701. package/dist/components/icons/Minus.d.ts +0 -6
  702. package/dist/components/icons/Minus.js +0 -6
  703. package/dist/components/icons/Minus.js.map +0 -1
  704. package/dist/components/icons/MinusCircle.d.ts +0 -6
  705. package/dist/components/icons/MinusCircle.js +0 -6
  706. package/dist/components/icons/MinusCircle.js.map +0 -1
  707. package/dist/components/icons/PaperClip.d.ts +0 -6
  708. package/dist/components/icons/PaperClip.js +0 -6
  709. package/dist/components/icons/PaperClip.js.map +0 -1
  710. package/dist/components/icons/Picture.d.ts +0 -6
  711. package/dist/components/icons/Picture.js +0 -6
  712. package/dist/components/icons/Picture.js.map +0 -1
  713. package/dist/components/icons/Plus.d.ts +0 -6
  714. package/dist/components/icons/Plus.js +0 -6
  715. package/dist/components/icons/Plus.js.map +0 -1
  716. package/dist/components/icons/Preview.d.ts +0 -4
  717. package/dist/components/icons/Preview.js +0 -9
  718. package/dist/components/icons/Preview.js.map +0 -1
  719. package/dist/components/icons/Print.d.ts +0 -6
  720. package/dist/components/icons/Print.js +0 -6
  721. package/dist/components/icons/Print.js.map +0 -1
  722. package/dist/components/icons/QuestionHelp.d.ts +0 -6
  723. package/dist/components/icons/QuestionHelp.js +0 -6
  724. package/dist/components/icons/QuestionHelp.js.map +0 -1
  725. package/dist/components/icons/Refresh.d.ts +0 -6
  726. package/dist/components/icons/Refresh.js +0 -6
  727. package/dist/components/icons/Refresh.js.map +0 -1
  728. package/dist/components/icons/SelectIcon.d.ts +0 -6
  729. package/dist/components/icons/SelectIcon.js +0 -6
  730. package/dist/components/icons/SelectIcon.js.map +0 -1
  731. package/dist/components/icons/Send.d.ts +0 -6
  732. package/dist/components/icons/Send.js +0 -6
  733. package/dist/components/icons/Send.js.map +0 -1
  734. package/dist/components/icons/Setting.d.ts +0 -6
  735. package/dist/components/icons/Setting.js +0 -6
  736. package/dist/components/icons/Setting.js.map +0 -1
  737. package/dist/components/icons/Share.d.ts +0 -6
  738. package/dist/components/icons/Share.js +0 -6
  739. package/dist/components/icons/Share.js.map +0 -1
  740. package/dist/components/icons/Sound.d.ts +0 -6
  741. package/dist/components/icons/Sound.js +0 -6
  742. package/dist/components/icons/Sound.js.map +0 -1
  743. package/dist/components/icons/SoundDeactivated.d.ts +0 -6
  744. package/dist/components/icons/SoundDeactivated.js +0 -6
  745. package/dist/components/icons/SoundDeactivated.js.map +0 -1
  746. package/dist/components/icons/Telegram.d.ts +0 -6
  747. package/dist/components/icons/Telegram.js +0 -6
  748. package/dist/components/icons/Telegram.js.map +0 -1
  749. package/dist/components/icons/ThumbDown.d.ts +0 -6
  750. package/dist/components/icons/ThumbDown.js +0 -6
  751. package/dist/components/icons/ThumbDown.js.map +0 -1
  752. package/dist/components/icons/ThumbUp.d.ts +0 -6
  753. package/dist/components/icons/ThumbUp.js +0 -6
  754. package/dist/components/icons/ThumbUp.js.map +0 -1
  755. package/dist/components/icons/Translation.d.ts +0 -6
  756. package/dist/components/icons/Translation.js +0 -6
  757. package/dist/components/icons/Translation.js.map +0 -1
  758. package/dist/components/icons/Twitter.d.ts +0 -6
  759. package/dist/components/icons/Twitter.js +0 -6
  760. package/dist/components/icons/Twitter.js.map +0 -1
  761. package/dist/components/icons/Upload.d.ts +0 -4
  762. package/dist/components/icons/Upload.js +0 -9
  763. package/dist/components/icons/Upload.js.map +0 -1
  764. package/dist/components/icons/User.d.ts +0 -6
  765. package/dist/components/icons/User.js +0 -6
  766. package/dist/components/icons/User.js.map +0 -1
  767. package/dist/components/icons/Warning.d.ts +0 -6
  768. package/dist/components/icons/Warning.js +0 -6
  769. package/dist/components/icons/Warning.js.map +0 -1
  770. package/dist/components/icons/WhatsApp.d.ts +0 -6
  771. package/dist/components/icons/WhatsApp.js +0 -6
  772. package/dist/components/icons/WhatsApp.js.map +0 -1
  773. package/dist/components/icons/loading.css +0 -14
  774. package/dist/components/layouts/WebsiteAssistant.d.ts +0 -4
  775. package/dist/components/layouts/WebsiteAssistant.js +0 -38
  776. package/dist/components/layouts/WebsiteAssistant.js.map +0 -1
  777. package/dist/components/layouts/website-assistant.css +0 -676
  778. package/dist/components/ui/Alert.css +0 -93
  779. package/dist/components/ui/Alert.d.ts +0 -18
  780. package/dist/components/ui/Alert.js +0 -42
  781. package/dist/components/ui/Alert.js.map +0 -1
  782. package/dist/components/ui/Button.css +0 -167
  783. package/dist/components/ui/Button.d.ts +0 -27
  784. package/dist/components/ui/Button.js +0 -23
  785. package/dist/components/ui/Button.js.map +0 -1
  786. package/dist/components/ui/Card.css +0 -65
  787. package/dist/components/ui/Card.d.ts +0 -13
  788. package/dist/components/ui/Card.js +0 -14
  789. package/dist/components/ui/Card.js.map +0 -1
  790. package/dist/components/ui/Checkbox.css +0 -116
  791. package/dist/components/ui/Checkbox.d.ts +0 -11
  792. package/dist/components/ui/Checkbox.js +0 -20
  793. package/dist/components/ui/Checkbox.js.map +0 -1
  794. package/dist/components/ui/ConfirmDialog.css +0 -42
  795. package/dist/components/ui/ConfirmDialog.d.ts +0 -11
  796. package/dist/components/ui/ConfirmDialog.js +0 -12
  797. package/dist/components/ui/ConfirmDialog.js.map +0 -1
  798. package/dist/components/ui/Details.css +0 -66
  799. package/dist/components/ui/Drawer.css +0 -270
  800. package/dist/components/ui/Drawer.d.ts +0 -46
  801. package/dist/components/ui/Drawer.js +0 -60
  802. package/dist/components/ui/Drawer.js.map +0 -1
  803. package/dist/components/ui/Dropdown.css +0 -173
  804. package/dist/components/ui/Dropdown.d.ts +0 -11
  805. package/dist/components/ui/Dropdown.js +0 -33
  806. package/dist/components/ui/Dropdown.js.map +0 -1
  807. package/dist/components/ui/Expandable.css +0 -15
  808. package/dist/components/ui/Expandable.d.ts +0 -15
  809. package/dist/components/ui/Expandable.js +0 -59
  810. package/dist/components/ui/Expandable.js.map +0 -1
  811. package/dist/components/ui/Modal.css +0 -98
  812. package/dist/components/ui/Modal.d.ts +0 -16
  813. package/dist/components/ui/Modal.js +0 -24
  814. package/dist/components/ui/Modal.js.map +0 -1
  815. package/dist/components/ui/Select.css +0 -138
  816. package/dist/components/ui/Select.d.ts +0 -17
  817. package/dist/components/ui/Select.js +0 -17
  818. package/dist/components/ui/Select.js.map +0 -1
  819. package/dist/components/ui/Slider.css +0 -192
  820. package/dist/components/ui/Slider.d.ts +0 -12
  821. package/dist/components/ui/Slider.js +0 -78
  822. package/dist/components/ui/Slider.js.map +0 -1
  823. package/dist/components/ui/Spin.css +0 -31
  824. package/dist/components/ui/Spin.d.ts +0 -9
  825. package/dist/components/ui/Spin.js +0 -12
  826. package/dist/components/ui/Spin.js.map +0 -1
  827. package/dist/components/ui/Table.css +0 -132
  828. package/dist/components/ui/Tooltip.css +0 -171
  829. package/dist/components/ui/Tooltip.d.ts +0 -11
  830. package/dist/components/ui/Tooltip.js +0 -90
  831. package/dist/components/ui/Tooltip.js.map +0 -1
  832. package/esm/components/PositionDrawer/PositionDrawer.d.ts +0 -12
  833. package/esm/components/PositionDrawer/PositionDrawer.js +0 -14
  834. package/esm/components/PositionDrawer/PositionDrawer.js.map +0 -1
  835. package/esm/components/icons/AI.d.ts +0 -6
  836. package/esm/components/icons/AI.js +0 -4
  837. package/esm/components/icons/AI.js.map +0 -1
  838. package/esm/components/icons/Alert.d.ts +0 -6
  839. package/esm/components/icons/Alert.js +0 -4
  840. package/esm/components/icons/Alert.js.map +0 -1
  841. package/esm/components/icons/ArrowUp.d.ts +0 -6
  842. package/esm/components/icons/ArrowUp.js +0 -4
  843. package/esm/components/icons/ArrowUp.js.map +0 -1
  844. package/esm/components/icons/Bug.d.ts +0 -6
  845. package/esm/components/icons/Bug.js +0 -4
  846. package/esm/components/icons/Bug.js.map +0 -1
  847. package/esm/components/icons/Chat.d.ts +0 -6
  848. package/esm/components/icons/Chat.js +0 -4
  849. package/esm/components/icons/Chat.js.map +0 -1
  850. package/esm/components/icons/ChevronDown.d.ts +0 -6
  851. package/esm/components/icons/ChevronDown.js +0 -4
  852. package/esm/components/icons/ChevronDown.js.map +0 -1
  853. package/esm/components/icons/ChevronLeft.d.ts +0 -6
  854. package/esm/components/icons/ChevronLeft.js +0 -4
  855. package/esm/components/icons/ChevronLeft.js.map +0 -1
  856. package/esm/components/icons/ChevronRight.d.ts +0 -6
  857. package/esm/components/icons/ChevronRight.js +0 -4
  858. package/esm/components/icons/ChevronRight.js.map +0 -1
  859. package/esm/components/icons/ChevronUp.d.ts +0 -6
  860. package/esm/components/icons/ChevronUp.js +0 -4
  861. package/esm/components/icons/ChevronUp.js.map +0 -1
  862. package/esm/components/icons/Clear.d.ts +0 -6
  863. package/esm/components/icons/Clear.js +0 -4
  864. package/esm/components/icons/Clear.js.map +0 -1
  865. package/esm/components/icons/Close.d.ts +0 -7
  866. package/esm/components/icons/Close.js +0 -4
  867. package/esm/components/icons/Close.js.map +0 -1
  868. package/esm/components/icons/Code.d.ts +0 -6
  869. package/esm/components/icons/Code.js +0 -4
  870. package/esm/components/icons/Code.js.map +0 -1
  871. package/esm/components/icons/Copy.d.ts +0 -6
  872. package/esm/components/icons/Copy.js +0 -4
  873. package/esm/components/icons/Copy.js.map +0 -1
  874. package/esm/components/icons/DeepThought.d.ts +0 -6
  875. package/esm/components/icons/DeepThought.js +0 -4
  876. package/esm/components/icons/DeepThought.js.map +0 -1
  877. package/esm/components/icons/Delete.d.ts +0 -6
  878. package/esm/components/icons/Delete.js +0 -4
  879. package/esm/components/icons/Delete.js.map +0 -1
  880. package/esm/components/icons/Document.d.ts +0 -5
  881. package/esm/components/icons/Document.js +0 -6
  882. package/esm/components/icons/Document.js.map +0 -1
  883. package/esm/components/icons/Download.d.ts +0 -6
  884. package/esm/components/icons/Download.js +0 -4
  885. package/esm/components/icons/Download.js.map +0 -1
  886. package/esm/components/icons/Edit.d.ts +0 -6
  887. package/esm/components/icons/Edit.js +0 -4
  888. package/esm/components/icons/Edit.js.map +0 -1
  889. package/esm/components/icons/Expand.d.ts +0 -6
  890. package/esm/components/icons/Expand.js +0 -4
  891. package/esm/components/icons/Expand.js.map +0 -1
  892. package/esm/components/icons/Eye.d.ts +0 -6
  893. package/esm/components/icons/Eye.js +0 -4
  894. package/esm/components/icons/Eye.js.map +0 -1
  895. package/esm/components/icons/EyeInvisible.d.ts +0 -6
  896. package/esm/components/icons/EyeInvisible.js +0 -4
  897. package/esm/components/icons/EyeInvisible.js.map +0 -1
  898. package/esm/components/icons/Facebook.d.ts +0 -6
  899. package/esm/components/icons/Facebook.js +0 -4
  900. package/esm/components/icons/Facebook.js.map +0 -1
  901. package/esm/components/icons/Feedback.d.ts +0 -6
  902. package/esm/components/icons/Feedback.js +0 -4
  903. package/esm/components/icons/Feedback.js.map +0 -1
  904. package/esm/components/icons/File.d.ts +0 -6
  905. package/esm/components/icons/File.js +0 -4
  906. package/esm/components/icons/File.js.map +0 -1
  907. package/esm/components/icons/FileExcel.d.ts +0 -6
  908. package/esm/components/icons/FileExcel.js +0 -4
  909. package/esm/components/icons/FileExcel.js.map +0 -1
  910. package/esm/components/icons/FilePdf.d.ts +0 -6
  911. package/esm/components/icons/FilePdf.js +0 -4
  912. package/esm/components/icons/FilePdf.js.map +0 -1
  913. package/esm/components/icons/FileWord.d.ts +0 -6
  914. package/esm/components/icons/FileWord.js +0 -4
  915. package/esm/components/icons/FileWord.js.map +0 -1
  916. package/esm/components/icons/Fullscreen.d.ts +0 -6
  917. package/esm/components/icons/Fullscreen.js +0 -4
  918. package/esm/components/icons/Fullscreen.js.map +0 -1
  919. package/esm/components/icons/FullscreenExit.d.ts +0 -6
  920. package/esm/components/icons/FullscreenExit.js +0 -4
  921. package/esm/components/icons/FullscreenExit.js.map +0 -1
  922. package/esm/components/icons/Group.d.ts +0 -6
  923. package/esm/components/icons/Group.js +0 -4
  924. package/esm/components/icons/Group.js.map +0 -1
  925. package/esm/components/icons/History.d.ts +0 -7
  926. package/esm/components/icons/History.js +0 -4
  927. package/esm/components/icons/History.js.map +0 -1
  928. package/esm/components/icons/Image.d.ts +0 -4
  929. package/esm/components/icons/Image.js +0 -5
  930. package/esm/components/icons/Image.js.map +0 -1
  931. package/esm/components/icons/Info.d.ts +0 -6
  932. package/esm/components/icons/Info.js +0 -4
  933. package/esm/components/icons/Info.js.map +0 -1
  934. package/esm/components/icons/Link.d.ts +0 -6
  935. package/esm/components/icons/Link.js +0 -4
  936. package/esm/components/icons/Link.js.map +0 -1
  937. package/esm/components/icons/Linkedin.d.ts +0 -6
  938. package/esm/components/icons/Linkedin.js +0 -4
  939. package/esm/components/icons/Linkedin.js.map +0 -1
  940. package/esm/components/icons/Loading.d.ts +0 -7
  941. package/esm/components/icons/Loading.js +0 -7
  942. package/esm/components/icons/Loading.js.map +0 -1
  943. package/esm/components/icons/Logout.d.ts +0 -6
  944. package/esm/components/icons/Logout.js +0 -4
  945. package/esm/components/icons/Logout.js.map +0 -1
  946. package/esm/components/icons/Mail.d.ts +0 -6
  947. package/esm/components/icons/Mail.js +0 -4
  948. package/esm/components/icons/Mail.js.map +0 -1
  949. package/esm/components/icons/MapMarker.d.ts +0 -6
  950. package/esm/components/icons/MapMarker.js +0 -4
  951. package/esm/components/icons/MapMarker.js.map +0 -1
  952. package/esm/components/icons/MenuHorizontal.d.ts +0 -7
  953. package/esm/components/icons/MenuHorizontal.js +0 -4
  954. package/esm/components/icons/MenuHorizontal.js.map +0 -1
  955. package/esm/components/icons/MenuVertical.d.ts +0 -7
  956. package/esm/components/icons/MenuVertical.js +0 -4
  957. package/esm/components/icons/MenuVertical.js.map +0 -1
  958. package/esm/components/icons/Message.d.ts +0 -6
  959. package/esm/components/icons/Message.js +0 -4
  960. package/esm/components/icons/Message.js.map +0 -1
  961. package/esm/components/icons/Microphone.d.ts +0 -6
  962. package/esm/components/icons/Microphone.js +0 -4
  963. package/esm/components/icons/Microphone.js.map +0 -1
  964. package/esm/components/icons/Minus.d.ts +0 -6
  965. package/esm/components/icons/Minus.js +0 -4
  966. package/esm/components/icons/Minus.js.map +0 -1
  967. package/esm/components/icons/MinusCircle.d.ts +0 -6
  968. package/esm/components/icons/MinusCircle.js +0 -4
  969. package/esm/components/icons/MinusCircle.js.map +0 -1
  970. package/esm/components/icons/PaperClip.d.ts +0 -6
  971. package/esm/components/icons/PaperClip.js +0 -4
  972. package/esm/components/icons/PaperClip.js.map +0 -1
  973. package/esm/components/icons/Picture.d.ts +0 -6
  974. package/esm/components/icons/Picture.js +0 -4
  975. package/esm/components/icons/Picture.js.map +0 -1
  976. package/esm/components/icons/Plus.d.ts +0 -6
  977. package/esm/components/icons/Plus.js +0 -4
  978. package/esm/components/icons/Plus.js.map +0 -1
  979. package/esm/components/icons/Preview.d.ts +0 -4
  980. package/esm/components/icons/Preview.js +0 -5
  981. package/esm/components/icons/Preview.js.map +0 -1
  982. package/esm/components/icons/Print.d.ts +0 -6
  983. package/esm/components/icons/Print.js +0 -4
  984. package/esm/components/icons/Print.js.map +0 -1
  985. package/esm/components/icons/QuestionHelp.d.ts +0 -6
  986. package/esm/components/icons/QuestionHelp.js +0 -4
  987. package/esm/components/icons/QuestionHelp.js.map +0 -1
  988. package/esm/components/icons/Refresh.d.ts +0 -6
  989. package/esm/components/icons/Refresh.js +0 -4
  990. package/esm/components/icons/Refresh.js.map +0 -1
  991. package/esm/components/icons/SelectIcon.d.ts +0 -6
  992. package/esm/components/icons/SelectIcon.js +0 -4
  993. package/esm/components/icons/SelectIcon.js.map +0 -1
  994. package/esm/components/icons/Send.d.ts +0 -6
  995. package/esm/components/icons/Send.js +0 -4
  996. package/esm/components/icons/Send.js.map +0 -1
  997. package/esm/components/icons/Setting.d.ts +0 -6
  998. package/esm/components/icons/Setting.js +0 -4
  999. package/esm/components/icons/Setting.js.map +0 -1
  1000. package/esm/components/icons/Share.d.ts +0 -6
  1001. package/esm/components/icons/Share.js +0 -4
  1002. package/esm/components/icons/Share.js.map +0 -1
  1003. package/esm/components/icons/Sound.d.ts +0 -6
  1004. package/esm/components/icons/Sound.js +0 -4
  1005. package/esm/components/icons/Sound.js.map +0 -1
  1006. package/esm/components/icons/SoundDeactivated.d.ts +0 -6
  1007. package/esm/components/icons/SoundDeactivated.js +0 -4
  1008. package/esm/components/icons/SoundDeactivated.js.map +0 -1
  1009. package/esm/components/icons/Telegram.d.ts +0 -6
  1010. package/esm/components/icons/Telegram.js +0 -4
  1011. package/esm/components/icons/Telegram.js.map +0 -1
  1012. package/esm/components/icons/ThumbDown.d.ts +0 -6
  1013. package/esm/components/icons/ThumbDown.js +0 -4
  1014. package/esm/components/icons/ThumbDown.js.map +0 -1
  1015. package/esm/components/icons/ThumbUp.d.ts +0 -6
  1016. package/esm/components/icons/ThumbUp.js +0 -4
  1017. package/esm/components/icons/ThumbUp.js.map +0 -1
  1018. package/esm/components/icons/Translation.d.ts +0 -6
  1019. package/esm/components/icons/Translation.js +0 -4
  1020. package/esm/components/icons/Translation.js.map +0 -1
  1021. package/esm/components/icons/Twitter.d.ts +0 -6
  1022. package/esm/components/icons/Twitter.js +0 -4
  1023. package/esm/components/icons/Twitter.js.map +0 -1
  1024. package/esm/components/icons/Upload.d.ts +0 -4
  1025. package/esm/components/icons/Upload.js +0 -5
  1026. package/esm/components/icons/Upload.js.map +0 -1
  1027. package/esm/components/icons/User.d.ts +0 -6
  1028. package/esm/components/icons/User.js +0 -4
  1029. package/esm/components/icons/User.js.map +0 -1
  1030. package/esm/components/icons/Warning.d.ts +0 -6
  1031. package/esm/components/icons/Warning.js +0 -4
  1032. package/esm/components/icons/Warning.js.map +0 -1
  1033. package/esm/components/icons/WhatsApp.d.ts +0 -6
  1034. package/esm/components/icons/WhatsApp.js +0 -4
  1035. package/esm/components/icons/WhatsApp.js.map +0 -1
  1036. package/esm/components/icons/loading.css +0 -14
  1037. package/esm/components/layouts/WebsiteAssistant.d.ts +0 -4
  1038. package/esm/components/layouts/WebsiteAssistant.js +0 -35
  1039. package/esm/components/layouts/WebsiteAssistant.js.map +0 -1
  1040. package/esm/components/layouts/website-assistant.css +0 -676
  1041. package/esm/components/ui/Alert.css +0 -93
  1042. package/esm/components/ui/Alert.d.ts +0 -18
  1043. package/esm/components/ui/Alert.js +0 -39
  1044. package/esm/components/ui/Alert.js.map +0 -1
  1045. package/esm/components/ui/Button.css +0 -167
  1046. package/esm/components/ui/Button.d.ts +0 -27
  1047. package/esm/components/ui/Button.js +0 -20
  1048. package/esm/components/ui/Button.js.map +0 -1
  1049. package/esm/components/ui/Card.css +0 -65
  1050. package/esm/components/ui/Card.d.ts +0 -13
  1051. package/esm/components/ui/Card.js +0 -11
  1052. package/esm/components/ui/Card.js.map +0 -1
  1053. package/esm/components/ui/Checkbox.css +0 -116
  1054. package/esm/components/ui/Checkbox.d.ts +0 -11
  1055. package/esm/components/ui/Checkbox.js +0 -17
  1056. package/esm/components/ui/Checkbox.js.map +0 -1
  1057. package/esm/components/ui/ConfirmDialog.css +0 -42
  1058. package/esm/components/ui/ConfirmDialog.d.ts +0 -11
  1059. package/esm/components/ui/ConfirmDialog.js +0 -9
  1060. package/esm/components/ui/ConfirmDialog.js.map +0 -1
  1061. package/esm/components/ui/Details.css +0 -66
  1062. package/esm/components/ui/Drawer.css +0 -270
  1063. package/esm/components/ui/Drawer.d.ts +0 -46
  1064. package/esm/components/ui/Drawer.js +0 -57
  1065. package/esm/components/ui/Drawer.js.map +0 -1
  1066. package/esm/components/ui/Dropdown.css +0 -173
  1067. package/esm/components/ui/Dropdown.d.ts +0 -11
  1068. package/esm/components/ui/Dropdown.js +0 -30
  1069. package/esm/components/ui/Dropdown.js.map +0 -1
  1070. package/esm/components/ui/Expandable.css +0 -15
  1071. package/esm/components/ui/Expandable.d.ts +0 -15
  1072. package/esm/components/ui/Expandable.js +0 -56
  1073. package/esm/components/ui/Expandable.js.map +0 -1
  1074. package/esm/components/ui/Modal.css +0 -98
  1075. package/esm/components/ui/Modal.d.ts +0 -16
  1076. package/esm/components/ui/Modal.js +0 -21
  1077. package/esm/components/ui/Modal.js.map +0 -1
  1078. package/esm/components/ui/Select.css +0 -138
  1079. package/esm/components/ui/Select.d.ts +0 -17
  1080. package/esm/components/ui/Select.js +0 -14
  1081. package/esm/components/ui/Select.js.map +0 -1
  1082. package/esm/components/ui/Slider.css +0 -192
  1083. package/esm/components/ui/Slider.d.ts +0 -12
  1084. package/esm/components/ui/Slider.js +0 -75
  1085. package/esm/components/ui/Slider.js.map +0 -1
  1086. package/esm/components/ui/Spin.css +0 -31
  1087. package/esm/components/ui/Spin.d.ts +0 -9
  1088. package/esm/components/ui/Spin.js +0 -9
  1089. package/esm/components/ui/Spin.js.map +0 -1
  1090. package/esm/components/ui/Table.css +0 -132
  1091. package/esm/components/ui/Tooltip.css +0 -171
  1092. package/esm/components/ui/Tooltip.d.ts +0 -11
  1093. package/esm/components/ui/Tooltip.js +0 -87
  1094. package/esm/components/ui/Tooltip.js.map +0 -1
@@ -5,12 +5,14 @@ const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const ArtifactAPI_1 = require("../MemoriArtifactSystem/utils/ArtifactAPI");
7
7
  const piiDetection_1 = require("../../helpers/piiDetection");
8
+ const positionPopover_1 = require("../../helpers/positionPopover");
8
9
  const react_1 = require("react");
9
10
  const react_i18next_1 = require("react-i18next");
10
11
  const memori_api_client_1 = tslib_1.__importDefault(require("@memori.ai/memori-api-client"));
11
12
  const classnames_1 = tslib_1.__importDefault(require("classnames"));
12
13
  const luxon_1 = require("luxon");
13
14
  const ui_1 = require("@memori.ai/ui");
15
+ const widgetSurfaceContext_1 = require("../../context/widgetSurfaceContext");
14
16
  const Auth_1 = tslib_1.__importDefault(require("../Auth/Auth"));
15
17
  const Chat_1 = tslib_1.__importDefault(require("../Chat/Chat"));
16
18
  const StartPanel_1 = tslib_1.__importDefault(require("../StartPanel/StartPanel"));
@@ -34,6 +36,7 @@ const translations_1 = require("../../helpers/translations");
34
36
  const configuration_1 = require("../../helpers/configuration");
35
37
  const utils_1 = require("../../helpers/utils");
36
38
  const ttsVoiceUtility_1 = require("../../helpers/tts/ttsVoiceUtility");
39
+ const muteSpeaker_1 = require("../../helpers/tts/muteSpeaker");
37
40
  const constants_1 = require("../../helpers/constants");
38
41
  const error_1 = require("../../helpers/error");
39
42
  const credits_1 = require("../../helpers/credits");
@@ -41,6 +44,8 @@ const sanitizer_1 = require("../../helpers/sanitizer");
41
44
  const useTTS_1 = require("../../helpers/tts/useTTS");
42
45
  const ChatHistory_1 = tslib_1.__importDefault(require("../ChatHistoryDrawer/ChatHistory"));
43
46
  const useSTT_1 = require("../../helpers/stt/useSTT");
47
+ const useNats_1 = require("../../helpers/nats/useNats");
48
+ const isSessionExpiredError_1 = require("../../helpers/nats/isSessionExpiredError");
44
49
  const getMemoriState = (integrationId) => {
45
50
  var _a, _b, _c, _d, _f;
46
51
  let widget = integrationId
@@ -62,12 +67,23 @@ const getMemoriState = (integrationId) => {
62
67
  loginToken,
63
68
  };
64
69
  };
70
+ const resolveLoginTokenValue = (loginToken, userTokenRef, callAdditionalInfoLoginToken, additionalInfoLoginToken, authTokenProp) => {
71
+ var _a, _b, _c;
72
+ return (_c = (_b = (_a = loginToken !== null && loginToken !== void 0 ? loginToken : userTokenRef) !== null && _a !== void 0 ? _a : callAdditionalInfoLoginToken) !== null && _b !== void 0 ? _b : additionalInfoLoginToken) !== null && _c !== void 0 ? _c : authTokenProp;
73
+ };
65
74
  const NULL_PLACE_SPEC = {
66
75
  placeName: null,
67
76
  latitude: null,
68
77
  longitude: null,
69
78
  uncertaintyKm: null,
70
79
  };
80
+ const logWidgetError = (context, detail) => {
81
+ console.error(`[MemoriWidget] ${context}`, detail !== null && detail !== void 0 ? detail : '');
82
+ };
83
+ function readCorrelationID(response) {
84
+ const value = response.correlationID;
85
+ return typeof value === 'string' && value.length > 0 ? value : undefined;
86
+ }
71
87
  const typeMessage = (message, waitForPrevious = true, hidden = false, typingText, useLoaderTextAsMsg = false, hasBatchQueued = false) => {
72
88
  const e = new CustomEvent('MemoriTextEntered', {
73
89
  detail: {
@@ -163,7 +179,6 @@ window.typeMessageHidden = typeMessageHidden;
163
179
  window.typeBatchMessages = typeBatchMessages;
164
180
  let audioContext;
165
181
  let memoriPassword;
166
- let userToken;
167
182
  function getChatStyles(config) {
168
183
  var _a;
169
184
  const primary = config === null || config === void 0 ? void 0 : config.buttonBgColor;
@@ -174,18 +189,20 @@ function getChatStyles(config) {
174
189
  '--memori-primary-color': primary,
175
190
  '--memori-primary': primary,
176
191
  '--memori-primary-content': primaryContent,
177
- '--memori-primary-hover': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, black) 15%)',
178
- '--memori-primary-active': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, black) 25%)',
192
+ '--memori-primary-hover': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast, black) 15%)',
193
+ '--memori-primary-active': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast, black) 25%)',
179
194
  '--memori-primary-disabled': 'color-mix(in oklch, var(--memori-primary), transparent 60%)',
180
- '--memori-primary-subtle': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast, white) 60%)',
181
- '--memori-primary-subtle-hover': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast, white) 50%)',
195
+ '--memori-primary-subtle': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 60%)',
196
+ '--memori-primary-subtle-hover': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 50%)',
182
197
  '--memori-border-primary': 'color-mix(in oklch, var(--memori-primary), transparent 70%)',
183
198
  '--memori-border-primary-hover': 'color-mix(in oklch, var(--memori-primary), transparent 50%)',
184
199
  '--memori-focus-ring-color': 'color-mix(in oklch, var(--memori-primary), transparent 80%)',
185
200
  '--memori-focus-ring': '0 0 0 3px var(--memori-focus-ring-color)',
186
201
  '--memori-shadow-primary': '0 8px 16px -4px color-mix(in oklch, var(--memori-primary), transparent 70%)',
187
- '--memori-skeleton-base': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast, white) 85%)',
188
- '--memori-skeleton-highlight': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast, white) 75%)',
202
+ '--memori-skeleton-base': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 85%)',
203
+ '--memori-skeleton-highlight': 'color-mix(in oklch, var(--memori-primary), var(--memori-surface-contrast-inverse, white) 75%)',
204
+ '--memori-icon-active-bg': 'color-mix(in oklch, var(--memori-primary) 12%, transparent)',
205
+ '--memori-icon-recording-bg': 'color-mix(in oklch, var(--memori-error, #dc2626) 12%, transparent)',
189
206
  };
190
207
  }
191
208
  const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenantID, memoriLang, uiLang, spokenLang, multilingual, integration, layout, customLayout, showShare, preview = false, embed = false, showCopyButton = true, showTranslationOriginal = false, showInputs = true, showDates = false, showContextPerLine = false, showMessageConsumption = false, showSettings, showTypingText = false, showClear = false, showLogin = false, showUpload, showOnlyLastMessages, showChatHistory, showReasoning, avatar3dHidden, height = '100vh', secret, baseUrl = 'https://aisuru-staging.aclambda.online', apiURL = 'https://backend-staging.memori.ai', engineURL = 'https://engine-staging.memori.ai', initialContextVars, initialQuestion, ttsProvider, ogImage, sessionID: initialSessionID, tenant, personification, authToken, enableAudio, defaultSpeakerActive = true, disableTextEnteredEvents = false, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, __WEBCOMPONENT__ = false, useMathFormatting = false, autoStart = false, applyVarsToRoot = false, showFunctionCache = false, maxTotalMessagePayload, maxTextareaCharacters, }) => {
@@ -197,59 +214,70 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
197
214
  setIsClient(true);
198
215
  }, []);
199
216
  const client = (0, memori_api_client_1.default)(apiURL, engineURL);
200
- const { initSession, deleteSession, postTextEnteredEvent, postPlaceChangedEvent, postDateChangedEvent, postTagChangedEvent, getSession, getExpertReferences, getSessionChatLogs, } = client;
217
+ const { initSession, deleteSession, postEnterTextAsync, postTextEnteredEvent, postPlaceChangedEvent, postDateChangedEvent, postTagChangedEvent, getSession, getExpertReferences, getSessionChatLogs, } = client;
201
218
  const [instruct, setInstruct] = (0, react_1.useState)(false);
202
219
  const [enableFocusChatInput, setEnableFocusChatInput] = (0, react_1.useState)(true);
203
- const widgetRootRef = (0, react_1.useRef)(null);
204
- const [isDarkTheme, setIsDarkTheme] = (0, react_1.useState)(false);
205
- (0, react_1.useEffect)(() => {
206
- var _a;
207
- const el = widgetRootRef.current;
208
- if (!el)
209
- return;
210
- const check = () => {
211
- setIsDarkTheme(!!el.closest('[data-theme="dark"]'));
212
- };
213
- check();
214
- const observer = new MutationObserver(check);
215
- const parent = (_a = el.parentElement) !== null && _a !== void 0 ? _a : document.body;
216
- observer.observe(parent, {
217
- attributes: true,
218
- attributeFilter: ['data-theme'],
219
- subtree: true,
220
- });
221
- return () => observer.disconnect();
222
- }, []);
220
+ const [widgetRootEl, setWidgetRootEl] = (0, react_1.useState)(null);
221
+ const [widgetSurfaceEl, setWidgetSurfaceEl] = (0, react_1.useState)(null);
223
222
  const [loginToken, setLoginToken] = (0, react_1.useState)((_a = additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _a !== void 0 ? _a : authToken);
223
+ const userTokenRef = (0, react_1.useRef)((_b = additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _b !== void 0 ? _b : authToken);
224
+ const prevPropsLoginTokenRef = (0, react_1.useRef)((_c = additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _c !== void 0 ? _c : authToken);
224
225
  const [user, setUser] = (0, react_1.useState)({
225
226
  avatarURL: typeof userAvatar === 'string' ? userAvatar : undefined,
226
227
  });
228
+ const resolveLoginToken = (0, react_1.useCallback)((callAdditionalInfoLoginToken) => resolveLoginTokenValue(loginToken, userTokenRef.current, callAdditionalInfoLoginToken, additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken, authToken), [loginToken, additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken, authToken]);
227
229
  (0, react_1.useEffect)(() => {
228
- if (loginToken &&
229
- !(user === null || user === void 0 ? void 0 : user.userID) &&
230
- (showLogin || memori.requireLoginToken)) {
231
- client.backend
232
- .pwlGetCurrentUser(loginToken)
233
- .then(({ user, resultCode }) => {
234
- if (user && resultCode === 0) {
235
- setUser(user);
236
- (0, configuration_1.setLocalConfig)('loginToken', loginToken);
237
- if (!birthDate && user.birthDate) {
238
- setBirthDate(user.birthDate);
239
- (0, configuration_1.setLocalConfig)('birthDate', user.birthDate);
240
- }
241
- }
242
- else {
243
- (0, configuration_1.removeLocalConfig)('loginToken');
244
- }
245
- });
230
+ var _a;
231
+ const incomingToken = (_a = additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _a !== void 0 ? _a : authToken;
232
+ const prevPropsToken = prevPropsLoginTokenRef.current;
233
+ prevPropsLoginTokenRef.current = incomingToken;
234
+ if (incomingToken !== prevPropsToken) {
235
+ setLoginToken(incomingToken);
236
+ userTokenRef.current = incomingToken;
237
+ if (!incomingToken) {
238
+ (0, configuration_1.removeLocalConfig)('loginToken');
239
+ setUser(undefined);
240
+ }
246
241
  }
247
- }, [loginToken, user === null || user === void 0 ? void 0 : user.userID]);
242
+ }, [additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken, authToken]);
243
+ (0, react_1.useEffect)(() => {
244
+ if (!loginToken || !(showLogin || memori.requireLoginToken)) {
245
+ return;
246
+ }
247
+ let cancelled = false;
248
+ client.backend
249
+ .pwlGetCurrentUser(loginToken)
250
+ .then(({ user: fetchedUser, resultCode }) => {
251
+ if (cancelled)
252
+ return;
253
+ if (fetchedUser && resultCode === 0) {
254
+ setUser(fetchedUser);
255
+ (0, configuration_1.setLocalConfig)('loginToken', loginToken);
256
+ userTokenRef.current = loginToken;
257
+ if (!birthDate && fetchedUser.birthDate) {
258
+ setBirthDate(fetchedUser.birthDate);
259
+ (0, configuration_1.setLocalConfig)('birthDate', fetchedUser.birthDate);
260
+ }
261
+ }
262
+ else {
263
+ setLoginToken(undefined);
264
+ userTokenRef.current = undefined;
265
+ setUser(undefined);
266
+ (0, configuration_1.removeLocalConfig)('loginToken');
267
+ }
268
+ });
269
+ return () => {
270
+ cancelled = true;
271
+ };
272
+ }, [loginToken, showLogin, memori.requireLoginToken]);
248
273
  const [showLoginDrawer, setShowLoginDrawer] = (0, react_1.useState)(false);
249
274
  const [clickedStart, setClickedStart] = (0, react_1.useState)(false);
250
275
  const [gotErrorInOpening, setGotErrorInOpening] = (0, react_1.useState)(false);
251
- const language = ((_d = (_c = (_b = memori.culture) === null || _b === void 0 ? void 0 : _b.split('-')) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.toUpperCase()) ||
252
- ((_j = (_h = (_g = (_f = memoriConfigs === null || memoriConfigs === void 0 ? void 0 : memoriConfigs.find(c => c.memoriConfigID === memori.memoriConfigurationID)) === null || _f === void 0 ? void 0 : _f.culture) === null || _g === void 0 ? void 0 : _g.split('-')) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.toUpperCase());
276
+ const sessionStartingRef = (0, react_1.useRef)(false);
277
+ const needsCredits = tenant === null || tenant === void 0 ? void 0 : tenant.billingDelegation;
278
+ const [hasEnoughCredits, setHasEnoughCredits] = (0, react_1.useState)(true);
279
+ const language = ((_g = (_f = (_d = memori.culture) === null || _d === void 0 ? void 0 : _d.split('-')) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.toUpperCase()) ||
280
+ ((_l = (_k = (_j = (_h = memoriConfigs === null || memoriConfigs === void 0 ? void 0 : memoriConfigs.find(c => c.memoriConfigID === memori.memoriConfigurationID)) === null || _h === void 0 ? void 0 : _h.culture) === null || _j === void 0 ? void 0 : _j.split('-')) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.toUpperCase());
253
281
  const integrationConfig = (integration === null || integration === void 0 ? void 0 : integration.customData)
254
282
  ? JSON.parse(integration.customData)
255
283
  : null;
@@ -257,7 +285,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
257
285
  ? multilingual
258
286
  : !!(integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.multilanguage);
259
287
  const forcedTimeout = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.forcedTimeout;
260
- const [userLang, setUserLang] = (0, react_1.useState)((_p = (_o = (_m = (_l = (_k = spokenLang !== null && spokenLang !== void 0 ? spokenLang : memoriLang) !== null && _k !== void 0 ? _k : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.lang) !== null && _l !== void 0 ? _l : language) !== null && _m !== void 0 ? _m : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.uiLang) !== null && _o !== void 0 ? _o : i18n.language) !== null && _p !== void 0 ? _p : 'IT');
288
+ const [userLang, setUserLang] = (0, react_1.useState)((_r = (_q = (_p = (_o = (_m = spokenLang !== null && spokenLang !== void 0 ? spokenLang : memoriLang) !== null && _m !== void 0 ? _m : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.lang) !== null && _o !== void 0 ? _o : language) !== null && _p !== void 0 ? _p : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.uiLang) !== null && _q !== void 0 ? _q : i18n.language) !== null && _r !== void 0 ? _r : 'IT');
261
289
  (0, react_1.useEffect)(() => {
262
290
  if (spokenLang != null) {
263
291
  setUserLang(spokenLang);
@@ -283,6 +311,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
283
311
  const [loading, setLoading] = (0, react_1.useState)(false);
284
312
  const [memoriTyping, setMemoriTyping] = (0, react_1.useState)(false);
285
313
  const [typingText, setTypingText] = (0, react_1.useState)();
314
+ const pendingEnterTextRef = (0, react_1.useRef)(new Map());
315
+ const bufferedNatsResponsesRef = (0, react_1.useRef)(new Map());
286
316
  const layoutName = typeof layout === 'string'
287
317
  ? layout
288
318
  : layout &&
@@ -293,7 +323,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
293
323
  ? layout.name
294
324
  : typeof (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === 'string'
295
325
  ? integrationConfig.layout
296
- : (_q = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === null || _q === void 0 ? void 0 : _q.name;
326
+ : (_s = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === null || _s === void 0 ? void 0 : _s.name;
297
327
  const selectedLayout = (() => {
298
328
  if (typeof layoutName === 'string') {
299
329
  const lower = layoutName.toLowerCase();
@@ -315,23 +345,24 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
315
345
  }
316
346
  if (layoutName === 2 || layoutName === '2')
317
347
  return 'FULLPAGE';
318
- return 'DEFAULT';
348
+ return 'FULLPAGE';
319
349
  })();
320
350
  const piiDetection = layout &&
321
351
  typeof layout === 'object' &&
322
352
  layout !== null &&
323
353
  'piiDetection' in layout &&
324
- ((_r = layout.piiDetection) === null || _r === void 0 ? void 0 : _r.enabled)
354
+ ((_t = layout.piiDetection) === null || _t === void 0 ? void 0 : _t.enabled)
325
355
  ? layout.piiDetection
326
356
  : typeof (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === 'object' &&
327
357
  (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) !== null &&
328
- ((_t = (_s = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === null || _s === void 0 ? void 0 : _s.piiDetection) === null || _t === void 0 ? void 0 : _t.enabled)
358
+ ((_v = (_u = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === null || _u === void 0 ? void 0 : _u.piiDetection) === null || _v === void 0 ? void 0 : _v.enabled)
329
359
  ? integrationConfig.layout.piiDetection
330
360
  : undefined;
331
- const defaultEnableAudio = (_u = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _u !== void 0 ? _u : true;
361
+ const defaultEnableAudio = (_w = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _w !== void 0 ? _w : true;
332
362
  const [hasUserActivatedListening, setHasUserActivatedListening] = (0, react_1.useState)(false);
333
363
  const [hasUserTypedMessage, setHasUserTypedMessage] = (0, react_1.useState)(false);
334
364
  const [positionPopoverOpen, setPositionPopoverOpenState] = (0, react_1.useState)(false);
365
+ const [autoStartPositionGeolocation, setAutoStartPositionGeolocation] = (0, react_1.useState)(false);
335
366
  const [showSettingsDrawer, setShowSettingsDrawer] = (0, react_1.useState)(false);
336
367
  const [showChatHistoryDrawer, setShowChatHistoryDrawer] = (0, react_1.useState)(false);
337
368
  const [showKnownFactsDrawer, setShowKnownFactsDrawer] = (0, react_1.useState)(false);
@@ -371,7 +402,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
371
402
  setRuntimeShowMessageConsumption((0, configuration_1.getLocalConfig)('showMessageConsumption', (_a = showMessageConsumption !== null && showMessageConsumption !== void 0 ? showMessageConsumption : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showMessageConsumption) !== null && _a !== void 0 ? _a : false));
372
403
  if (!(additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) && !authToken) {
373
404
  setLoginToken((0, configuration_1.getLocalConfig)('loginToken', undefined));
374
- userToken = (0, configuration_1.getLocalConfig)('loginToken', undefined);
405
+ userTokenRef.current = (0, configuration_1.getLocalConfig)('loginToken', undefined);
375
406
  setBirthDate((0, configuration_1.getLocalConfig)('birthDate', undefined));
376
407
  }
377
408
  if (!((_b = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _b !== void 0 ? _b : true)) {
@@ -469,8 +500,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
469
500
  });
470
501
  };
471
502
  const [chatLogID, setChatLogID] = (0, react_1.useState)(undefined);
472
- const sendMessage = async (text, media, newSessionId, translate = true, translatedText, hidden = false, typingText, useLoaderTextAsMsg = false, hasBatchQueued = false) => {
473
- var _a, _b, _c, _d, _f, _g;
503
+ const sendMessage = async (text, media, newSessionId, translate = true, translatedText, hidden = false, typingText, useLoaderTextAsMsg = false, hasBatchQueued = false, skipHistoryPush = false) => {
504
+ var _a, _b;
474
505
  const sessionID = newSessionId ||
475
506
  sessionId ||
476
507
  ((_a = window.getMemoriState()) === null || _a === void 0 ? void 0 : _a.sessionID);
@@ -514,7 +545,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
514
545
  return;
515
546
  }
516
547
  }
517
- if (!hidden)
548
+ if (!hidden && !skipHistoryPush)
518
549
  pushMessage({
519
550
  text: text,
520
551
  translatedText,
@@ -524,12 +555,10 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
524
555
  ? !!newSessionId && newSessionId !== sessionId
525
556
  : !!newSessionId,
526
557
  });
527
- setMemoriTyping(true);
528
- setTypingText(typingText);
529
558
  let gotError = false;
530
559
  try {
531
560
  const placeSpec = getPlaceSpecForEnterText(position);
532
- const { currentState, ...response } = await postTextEnteredEvent({
561
+ const response = await postEnterTextAsync({
533
562
  sessionId: sessionID,
534
563
  text: msg,
535
564
  ...(memori.needsDateTime && {
@@ -537,65 +566,37 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
537
566
  }),
538
567
  ...(placeSpec !== undefined && { place: placeSpec }),
539
568
  });
540
- if (response.resultCode === 0 && currentState) {
541
- setChatLogID(undefined);
542
- const emission = useLoaderTextAsMsg && typingText
543
- ? typingText
544
- : (_c = currentState.emission) !== null && _c !== void 0 ? _c : currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.emission;
545
- if (userLang.toLowerCase() !== language.toLowerCase() &&
546
- emission &&
547
- isMultilanguageEnabled) {
548
- currentState.emission = emission;
549
- translateDialogState(currentState, userLang, msg).then(ts => {
550
- let text = ts.translatedEmission || ts.emission;
551
- if (text && shouldPlayAudio(text)) {
552
- handleSpeak(text);
553
- }
554
- });
555
- }
556
- else {
557
- setCurrentDialogState({
558
- ...currentState,
559
- emission,
560
- });
561
- if (emission) {
562
- pushMessage({
563
- text: emission,
564
- emitter: currentState.emitter,
565
- media: (_d = currentState.emittedMedia) !== null && _d !== void 0 ? _d : currentState.media,
566
- llmUsage: currentState.llmUsage,
567
- fromUser: false,
568
- questionAnswered: msg,
569
- generatedByAI: !!currentState.completion,
570
- contextVars: currentState.contextVars,
571
- date: currentState.currentDate,
572
- placeName: currentState.currentPlaceName,
573
- placeLatitude: currentState.currentLatitude,
574
- placeLongitude: currentState.currentLongitude,
575
- placeUncertaintyKm: currentState.currentUncertaintyKm,
576
- tag: currentState.currentTag,
577
- memoryTags: currentState.memoryTags,
578
- });
579
- if (emission && shouldPlayAudio(emission)) {
580
- handleSpeak(emission);
581
- }
582
- }
583
- }
569
+ const correlationID = readCorrelationID(response);
570
+ if (response.resultCode === 0 && correlationID) {
571
+ registerPendingEnterText(correlationID, {
572
+ msg,
573
+ text,
574
+ media,
575
+ translate,
576
+ translatedText,
577
+ hidden,
578
+ typingText,
579
+ useLoaderTextAsMsg,
580
+ hasBatchQueued,
581
+ });
582
+ setMemoriTyping(true);
583
+ setTypingText(typingText);
584
+ }
585
+ else if (response.resultCode === 0) {
586
+ logWidgetError('enter-text missing correlationID', response);
584
587
  }
585
588
  else if (response.resultCode === 404) {
586
- setHistory(h => [...h.slice(0, h.length - 1)]);
587
- reopenSession(true, memoriPwd || memori.secretToken, memoriTokens, undefined, undefined, {
588
- LANG: userLang,
589
- PATHNAME: window.location.pathname,
590
- ROUTE: ((_g = (_f = window.location.pathname) === null || _f === void 0 ? void 0 : _f.split('/')) === null || _g === void 0 ? void 0 : _g.pop()) || '',
591
- ...(initialContextVars || {}),
592
- }, initialQuestion, undefined, undefined, undefined, undefined, true).then(state => {
593
- console.info('session timeout');
594
- if (state === null || state === void 0 ? void 0 : state.sessionID) {
595
- setTimeout(() => {
596
- sendMessage(text, media, state === null || state === void 0 ? void 0 : state.sessionID);
597
- }, 500);
598
- }
589
+ retryAfterExpiredSessionRef.current({
590
+ text,
591
+ media,
592
+ translate,
593
+ translatedText,
594
+ hidden,
595
+ typingText,
596
+ useLoaderTextAsMsg,
597
+ hasBatchQueued,
598
+ expiredSessionID: sessionID,
599
+ continueFromChatLogID: chatLogID,
599
600
  });
600
601
  }
601
602
  else if (response.resultCode === 500 && response.resultMessage) {
@@ -612,18 +613,12 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
612
613
  ]);
613
614
  }
614
615
  else {
615
- console.warn('[SEND_MESSAGE]', response);
616
616
  return Promise.reject(response);
617
617
  }
618
618
  }
619
619
  catch (error) {
620
- console.log('error', error);
621
- console.error(error);
622
620
  gotError = true;
623
- setTypingText(undefined);
624
- setMemoriTyping(false);
625
- }
626
- if (!hasBatchQueued) {
621
+ logWidgetError('sendMessage failed', error);
627
622
  setTypingText(undefined);
628
623
  setMemoriTyping(false);
629
624
  }
@@ -705,7 +700,6 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
705
700
  }
706
701
  }
707
702
  catch (error) {
708
- console.error('[TRANSLATE] Error during translation:', error);
709
703
  translatedState = { ...state, emission };
710
704
  translatedMsg = {
711
705
  text: emission,
@@ -813,7 +807,6 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
813
807
  try {
814
808
  setTimeout(() => {
815
809
  var _a;
816
- console.log('snippet', s);
817
810
  new Function((_a = s.content) !== null && _a !== void 0 ? _a : '')();
818
811
  setTimeout(() => {
819
812
  var _a, _b, _c;
@@ -822,8 +815,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
822
815
  }, 400);
823
816
  }, 1000);
824
817
  }
825
- catch (e) {
826
- console.warn(e);
818
+ catch (_a) {
827
819
  }
828
820
  });
829
821
  };
@@ -834,7 +826,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
834
826
  }
835
827
  }, [initialSessionID]);
836
828
  const fetchSession = async (params) => {
837
- var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l;
829
+ var _a, _b, _c, _d, _f, _g, _h;
838
830
  let storageBirthDate = (0, configuration_1.getLocalConfig)('birthDate', undefined);
839
831
  let userBirthDate = (_a = birthDate !== null && birthDate !== void 0 ? birthDate : params.birthDate) !== null && _a !== void 0 ? _a : storageBirthDate;
840
832
  if (!userBirthDate && !!minAge) {
@@ -848,6 +840,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
848
840
  setAuthModalState('password');
849
841
  return;
850
842
  }
843
+ if (!(await checkCredits({ notify: true }))) {
844
+ return;
845
+ }
851
846
  setLoading(true);
852
847
  try {
853
848
  let referral;
@@ -856,8 +851,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
856
851
  return window.location.href;
857
852
  })();
858
853
  }
859
- catch (err) {
860
- console.debug(err);
854
+ catch (_j) {
861
855
  }
862
856
  const session = await initSession({
863
857
  ...params,
@@ -866,8 +860,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
866
860
  pin: (_c = params.pin) !== null && _c !== void 0 ? _c : personification === null || personification === void 0 ? void 0 : personification.pin,
867
861
  additionalInfo: {
868
862
  ...(params.additionalInfo || additionalInfo || {}),
869
- loginToken: (_h = (_g = (_d = userToken !== null && userToken !== void 0 ? userToken : loginToken) !== null && _d !== void 0 ? _d : (_f = params.additionalInfo) === null || _f === void 0 ? void 0 : _f.loginToken) !== null && _g !== void 0 ? _g : additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _h !== void 0 ? _h : authToken,
870
- language: ((_l = userLang !== null && userLang !== void 0 ? userLang : (_k = (_j = memori.culture) === null || _j === void 0 ? void 0 : _j.split('-')) === null || _k === void 0 ? void 0 : _k[0]) !== null && _l !== void 0 ? _l : 'IT').toLowerCase(),
863
+ loginToken: resolveLoginToken((_d = params.additionalInfo) === null || _d === void 0 ? void 0 : _d.loginToken),
864
+ language: ((_h = userLang !== null && userLang !== void 0 ? userLang : (_g = (_f = memori.culture) === null || _f === void 0 ? void 0 : _f.split('-')) === null || _g === void 0 ? void 0 : _g[0]) !== null && _h !== void 0 ? _h : 'IT').toLowerCase(),
871
865
  referral: referral,
872
866
  timeZoneOffset: new Date().getTimezoneOffset().toString(),
873
867
  },
@@ -896,7 +890,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
896
890
  }));
897
891
  setGotErrorInOpening(true);
898
892
  }
899
- else if ((session === null || session === void 0 ? void 0 : session.resultCode) === 403) {
893
+ else if ((session === null || session === void 0 ? void 0 : session.resultCode) === 403 && memori.privacyType !== 'PUBLIC') {
900
894
  setMemoriPwd(undefined);
901
895
  setAuthModalState('password');
902
896
  return session;
@@ -908,16 +902,15 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
908
902
  severity: 'error',
909
903
  duration: 0,
910
904
  }));
911
- setGotErrorInOpening(true);
912
905
  return session;
913
906
  }
914
907
  }
915
908
  catch (err) {
916
- console.error(err);
909
+ logWidgetError('fetchSession failed', err);
917
910
  }
918
911
  };
919
- const reopenSession = async (updateDialogState = false, password, recoveryTokens, tag, pin, initialContextVars, initialQuestion, birthDate, additionalInfoProp, continueFromChatLogID, continueFromSessionID, isSessionExpired) => {
920
- var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m;
912
+ const reopenSession = async (updateDialogState = false, password, recoveryTokens, tag, pin, initialContextVars, initialQuestion, birthDate, additionalInfoProp, continueFromChatLogID, continueFromSessionID, isSessionExpired, suppressHistoryUpdate) => {
913
+ var _a, _b, _c, _d, _f, _g, _h, _j;
921
914
  setLoading(true);
922
915
  let storageBirthDate = (0, configuration_1.getLocalConfig)('birthDate', undefined);
923
916
  let userBirthDate = birthDate !== null && birthDate !== void 0 ? birthDate : storageBirthDate;
@@ -935,14 +928,17 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
935
928
  setAuthModalState('password');
936
929
  return;
937
930
  }
931
+ if (!(await checkCredits({ notify: true }))) {
932
+ setLoading(false);
933
+ return null;
934
+ }
938
935
  let referral;
939
936
  try {
940
937
  referral = (() => {
941
938
  return window.location.href;
942
939
  })();
943
940
  }
944
- catch (err) {
945
- console.debug('[REOPEN_SESSION] Error getting referral:', err);
941
+ catch (_k) {
946
942
  }
947
943
  const { sessionID, currentState, ...response } = await initSession({
948
944
  memoriID: (_a = memori.engineMemoriID) !== null && _a !== void 0 ? _a : '',
@@ -962,21 +958,32 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
962
958
  birthDate: userBirthDate,
963
959
  additionalInfo: {
964
960
  ...(additionalInfoProp || additionalInfo || {}),
965
- loginToken: (_g = (_f = (_d = userToken !== null && userToken !== void 0 ? userToken : loginToken) !== null && _d !== void 0 ? _d : additionalInfoProp === null || additionalInfoProp === void 0 ? void 0 : additionalInfoProp.loginToken) !== null && _f !== void 0 ? _f : additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _g !== void 0 ? _g : authToken,
966
- language: ((_k = userLang !== null && userLang !== void 0 ? userLang : (_j = (_h = memori.culture) === null || _h === void 0 ? void 0 : _h.split('-')) === null || _j === void 0 ? void 0 : _j[0]) !== null && _k !== void 0 ? _k : 'IT').toLowerCase(),
961
+ loginToken: resolveLoginToken(additionalInfoProp === null || additionalInfoProp === void 0 ? void 0 : additionalInfoProp.loginToken),
962
+ language: ((_g = userLang !== null && userLang !== void 0 ? userLang : (_f = (_d = memori.culture) === null || _d === void 0 ? void 0 : _d.split('-')) === null || _f === void 0 ? void 0 : _f[0]) !== null && _g !== void 0 ? _g : 'IT').toLowerCase(),
967
963
  referral: referral,
968
964
  timeZoneOffset: new Date().getTimezoneOffset().toString(),
969
965
  },
970
966
  });
971
967
  if (sessionID && currentState && response.resultCode === 0) {
972
- console.log('[REOPEN_SESSION] Session initialized successfully:', sessionID);
973
968
  setSessionId(sessionID);
974
969
  if (updateDialogState) {
975
970
  setCurrentDialogState(currentState);
976
- if (currentState.emission) {
977
- console.log('[REOPEN_SESSION] Processing emission:', currentState.emission);
978
- const initialStatus = isSessionExpired && history.length > 1
979
- ? 'Session Expired, reopening session'
971
+ const sessionExpiredStatus = isSessionExpired && history.length > 1
972
+ ? t('sessionExpiredReopening')
973
+ : null;
974
+ if (sessionExpiredStatus && suppressHistoryUpdate) {
975
+ pushMessage({
976
+ text: '',
977
+ emitter: 'system',
978
+ fromUser: false,
979
+ initial: sessionExpiredStatus,
980
+ contextVars: {},
981
+ date: new Date().toISOString(),
982
+ });
983
+ }
984
+ if (currentState.emission && !suppressHistoryUpdate) {
985
+ const initialStatus = sessionExpiredStatus
986
+ ? sessionExpiredStatus
980
987
  : history.length <= 1
981
988
  ? true
982
989
  : undefined;
@@ -985,7 +992,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
985
992
  {
986
993
  text: currentState.emission,
987
994
  emitter: currentState.emitter,
988
- media: (_l = currentState.emittedMedia) !== null && _l !== void 0 ? _l : currentState.media,
995
+ media: (_h = currentState.emittedMedia) !== null && _h !== void 0 ? _h : currentState.media,
989
996
  fromUser: false,
990
997
  initial: (initialStatus === true
991
998
  ? true
@@ -1003,7 +1010,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1003
1010
  : pushMessage({
1004
1011
  text: currentState.emission,
1005
1012
  emitter: currentState.emitter,
1006
- media: (_m = currentState.emittedMedia) !== null && _m !== void 0 ? _m : currentState.media,
1013
+ media: (_j = currentState.emittedMedia) !== null && _j !== void 0 ? _j : currentState.media,
1007
1014
  fromUser: false,
1008
1015
  initial: (initialStatus === true
1009
1016
  ? true
@@ -1033,8 +1040,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1033
1040
  }));
1034
1041
  setGotErrorInOpening(true);
1035
1042
  }
1036
- else if ((response === null || response === void 0 ? void 0 : response.resultCode) === 403) {
1037
- console.error('[REOPEN_SESSION] Authentication error');
1043
+ else if ((response === null || response === void 0 ? void 0 : response.resultCode) === 403 &&
1044
+ memori.privacyType !== 'PUBLIC') {
1038
1045
  setMemoriPwd(undefined);
1039
1046
  setAuthModalState('password');
1040
1047
  }
@@ -1048,15 +1055,61 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1048
1055
  }
1049
1056
  }
1050
1057
  catch (err) {
1051
- console.error('[REOPEN_SESSION] Caught error:', err);
1058
+ logWidgetError('reopenSession failed', err);
1052
1059
  }
1053
1060
  setLoading(false);
1054
1061
  return null;
1055
1062
  };
1063
+ const retryAfterExpiredSessionRef = (0, react_1.useRef)(() => Promise.resolve(null));
1064
+ retryAfterExpiredSessionRef.current = (params) => {
1065
+ const { text, media, translate = true, translatedText, hidden = false, typingText, useLoaderTextAsMsg = false, hasBatchQueued = false, expiredSessionID, continueFromChatLogID: continueFromChatLogIDParam, } = params;
1066
+ const continueFromSessionID = expiredSessionID !== null && expiredSessionID !== void 0 ? expiredSessionID : sessionId;
1067
+ const continueFromChatLogID = continueFromChatLogIDParam !== null && continueFromChatLogIDParam !== void 0 ? continueFromChatLogIDParam : chatLogID;
1068
+ const reopenAfterExpiry = () => {
1069
+ var _a, _b;
1070
+ return reopenSession(true, memoriPwd || memori.secretToken, memoriTokens, undefined, undefined, {
1071
+ LANG: userLang,
1072
+ PATHNAME: window.location.pathname,
1073
+ ROUTE: ((_b = (_a = window.location.pathname) === null || _a === void 0 ? void 0 : _a.split('/')) === null || _b === void 0 ? void 0 : _b.pop()) || '',
1074
+ ...(initialContextVars || {}),
1075
+ }, initialQuestion, undefined, undefined, continueFromChatLogID, continueFromSessionID, true, true);
1076
+ };
1077
+ const scheduleRetry = (newSessionID) => {
1078
+ setTimeout(() => {
1079
+ sendMessage(text, media, newSessionID, translate, translatedText, hidden, typingText, useLoaderTextAsMsg, hasBatchQueued, true);
1080
+ }, 500);
1081
+ };
1082
+ const handleReopenFailure = (state) => {
1083
+ setMemoriTyping(false);
1084
+ setTypingText(undefined);
1085
+ if (state === null && text && !hidden) {
1086
+ add((0, ui_1.createAlertOptions)({
1087
+ description: t('errors.SESSION_EXPIRED'),
1088
+ severity: 'error',
1089
+ }));
1090
+ }
1091
+ };
1092
+ if (!text) {
1093
+ return reopenAfterExpiry().then(state => {
1094
+ if (!(state === null || state === void 0 ? void 0 : state.sessionID)) {
1095
+ handleReopenFailure(state);
1096
+ }
1097
+ return state;
1098
+ });
1099
+ }
1100
+ return reopenAfterExpiry().then(state => {
1101
+ if (state === null || state === void 0 ? void 0 : state.sessionID) {
1102
+ scheduleRetry(state.sessionID);
1103
+ }
1104
+ else {
1105
+ handleReopenFailure(state);
1106
+ }
1107
+ return state;
1108
+ });
1109
+ };
1056
1110
  const changeTag = async (memoriId, sessionId, tag, pin) => {
1057
- var _a, _b, _c, _d, _f, _g, _h, _j, _k;
1111
+ var _a, _b, _c, _d, _f, _g, _h;
1058
1112
  if (!memoriId || !sessionId) {
1059
- console.error('CHANGETAG/Session not found');
1060
1113
  return Promise.reject('Session not found');
1061
1114
  }
1062
1115
  try {
@@ -1088,7 +1141,6 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1088
1141
  }
1089
1142
  }
1090
1143
  else if ([400, 401, 403, 404, 500].includes(resultCode)) {
1091
- console.warn('[APPCONTEXT/CHANGETAG]', resultCode);
1092
1144
  let storageBirthDate = (0, configuration_1.getLocalConfig)('birthDate', undefined);
1093
1145
  let referral;
1094
1146
  try {
@@ -1096,8 +1148,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1096
1148
  return window.location.href;
1097
1149
  })();
1098
1150
  }
1099
- catch (err) {
1100
- console.debug(err);
1151
+ catch (_j) {
1101
1152
  }
1102
1153
  fetchSession({
1103
1154
  memoriID: (_b = memori.engineMemoriID) !== null && _b !== void 0 ? _b : '',
@@ -1114,8 +1165,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1114
1165
  birthDate: birthDate || storageBirthDate || undefined,
1115
1166
  additionalInfo: {
1116
1167
  ...(additionalInfo || {}),
1117
- loginToken: (_g = (_f = userToken !== null && userToken !== void 0 ? userToken : loginToken) !== null && _f !== void 0 ? _f : additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _g !== void 0 ? _g : authToken,
1118
- language: ((_k = userLang !== null && userLang !== void 0 ? userLang : (_j = (_h = memori.culture) === null || _h === void 0 ? void 0 : _h.split('-')) === null || _j === void 0 ? void 0 : _j[0]) !== null && _k !== void 0 ? _k : 'IT').toLowerCase(),
1168
+ loginToken: resolveLoginToken(),
1169
+ language: ((_h = userLang !== null && userLang !== void 0 ? userLang : (_g = (_f = memori.culture) === null || _f === void 0 ? void 0 : _f.split('-')) === null || _g === void 0 ? void 0 : _g[0]) !== null && _h !== void 0 ? _h : 'IT').toLowerCase(),
1119
1170
  referral: referral,
1120
1171
  timeZoneOffset: new Date().getTimezoneOffset().toString(),
1121
1172
  },
@@ -1132,7 +1183,6 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1132
1183
  }
1133
1184
  catch (_e) {
1134
1185
  let err = _e;
1135
- console.warn('[APPCONTEXT/CHANGETAG]', err);
1136
1186
  return Promise.reject(err);
1137
1187
  }
1138
1188
  return null;
@@ -1153,6 +1203,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1153
1203
  return () => {
1154
1204
  setHasUserActivatedSpeak(false);
1155
1205
  setClickedStart(false);
1206
+ sessionStartingRef.current = false;
1156
1207
  clearInteractionTimeout();
1157
1208
  timeoutRef.current = undefined;
1158
1209
  };
@@ -1175,35 +1226,34 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1175
1226
  language: getCultureCodeByLanguage(userLang),
1176
1227
  tenant: tenantID,
1177
1228
  }), [ttsProvider, userLang]);
1229
+ const resolvedDefaultSpeakerActive = (_x = defaultSpeakerActive !== null && defaultSpeakerActive !== void 0 ? defaultSpeakerActive : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.defaultSpeakerActive) !== null && _x !== void 0 ? _x : true;
1178
1230
  const { speak: ttsSpeak, stop: ttsStop, isPlaying: isPlayingAudio, speakerMuted, toggleMute, hasUserActivatedSpeak, setHasUserActivatedSpeak, } = (0, useTTS_1.useTTS)(ttsConfig, {
1179
1231
  apiUrl: `${baseUrl}/api/tts`,
1180
1232
  continuousSpeech: continuousSpeech,
1181
1233
  preview: preview,
1182
- }, autoStart, defaultEnableAudio, (_v = defaultSpeakerActive !== null && defaultSpeakerActive !== void 0 ? defaultSpeakerActive : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.defaultSpeakerActive) !== null && _v !== void 0 ? _v : true);
1183
- const shouldPlayAudio = (text) => {
1184
- const currentSpeakerMuted = (0, configuration_1.getLocalConfig)('muteSpeaker', !defaultEnableAudio);
1185
- console.log('[MemoriWidget] shouldPlayAudio', currentSpeakerMuted);
1186
- return (text &&
1187
- text.trim() &&
1188
- !preview &&
1189
- !currentSpeakerMuted &&
1190
- defaultEnableAudio);
1191
- };
1234
+ }, autoStart, defaultEnableAudio, resolvedDefaultSpeakerActive);
1235
+ const muteSpeakerFallback = (0, muteSpeaker_1.getMuteSpeakerFallback)(defaultEnableAudio, resolvedDefaultSpeakerActive, autoStart);
1236
+ const shouldPlayAudio = (text) => (0, muteSpeaker_1.shouldPlayTtsAudio)({
1237
+ text,
1238
+ preview,
1239
+ defaultEnableAudio,
1240
+ defaultSpeakerActive: resolvedDefaultSpeakerActive,
1241
+ autoStart,
1242
+ speakerMuted,
1243
+ storedMute: (0, configuration_1.getLocalConfig)('muteSpeaker', muteSpeakerFallback),
1244
+ });
1192
1245
  const processSpeechAndSendMessage = (text) => {
1193
1246
  if (!text || text.trim().length === 0) {
1194
1247
  return;
1195
1248
  }
1196
1249
  try {
1197
1250
  const message = (0, utils_1.stripDuplicates)(text);
1198
- console.debug('Processing speech message:', message);
1199
1251
  if (message.length > 0) {
1200
1252
  setUserMessage('');
1201
- console.debug('Sending message:', message);
1202
1253
  sendMessage(message);
1203
1254
  }
1204
1255
  }
1205
- catch (error) {
1206
- console.error('Error in processSpeechAndSendMessage:', error);
1256
+ catch (_a) {
1207
1257
  }
1208
1258
  };
1209
1259
  const { isListening, startRecording, stopRecording, } = (0, useSTT_1.useSTT)(sttConfig, processSpeechAndSendMessage, {
@@ -1237,8 +1287,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1237
1287
  }
1238
1288
  return translatedState;
1239
1289
  }
1240
- catch (error) {
1241
- console.error('Error in translateAndSpeak:', error);
1290
+ catch (_a) {
1242
1291
  if (!hasUserActivatedSpeak) {
1243
1292
  setHasUserActivatedSpeak(true);
1244
1293
  }
@@ -1251,6 +1300,221 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1251
1300
  setHasUserActivatedSpeak,
1252
1301
  speakerMuted,
1253
1302
  ]);
1303
+ const processEnterTextDialogResponse = (0, react_1.useCallback)((event, pending) => {
1304
+ var _a, _b;
1305
+ const { msg, typingText: pendingTypingText, useLoaderTextAsMsg, } = pending;
1306
+ const currentState = event.currentState;
1307
+ if (event.resultCode !== 0 || !currentState) {
1308
+ if ((0, isSessionExpiredError_1.isSessionExpiredNatsResponse)(event) && pending.text) {
1309
+ setMemoriTyping(false);
1310
+ setTypingText(undefined);
1311
+ retryAfterExpiredSessionRef.current({
1312
+ text: pending.text,
1313
+ media: pending.media,
1314
+ translate: pending.translate,
1315
+ translatedText: pending.translatedText,
1316
+ hidden: pending.hidden,
1317
+ typingText: pending.typingText,
1318
+ useLoaderTextAsMsg: pending.useLoaderTextAsMsg,
1319
+ hasBatchQueued: pending.hasBatchQueued,
1320
+ expiredSessionID: sessionId,
1321
+ continueFromChatLogID: chatLogID,
1322
+ });
1323
+ return;
1324
+ }
1325
+ if (event.resultCode === 500 && event.resultMessage) {
1326
+ setHistory(h => [
1327
+ ...h,
1328
+ {
1329
+ text: 'Error: ' + event.resultMessage,
1330
+ emitter: 'system',
1331
+ fromUser: false,
1332
+ initial: false,
1333
+ contextVars: {},
1334
+ date: new Date().toISOString(),
1335
+ },
1336
+ ]);
1337
+ }
1338
+ return;
1339
+ }
1340
+ if (!msg) {
1341
+ return;
1342
+ }
1343
+ setChatLogID(undefined);
1344
+ const emission = useLoaderTextAsMsg && pendingTypingText
1345
+ ? pendingTypingText
1346
+ : (_a = currentState.emission) !== null && _a !== void 0 ? _a : currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.emission;
1347
+ if (userLang.toLowerCase() !== language.toLowerCase() &&
1348
+ emission &&
1349
+ isMultilanguageEnabled) {
1350
+ currentState.emission = emission;
1351
+ translateDialogState(currentState, userLang, msg).then(ts => {
1352
+ const text = ts.translatedEmission || ts.emission;
1353
+ if (text && shouldPlayAudio(text)) {
1354
+ handleSpeak(text);
1355
+ }
1356
+ });
1357
+ }
1358
+ else {
1359
+ setCurrentDialogState({
1360
+ ...currentState,
1361
+ emission,
1362
+ });
1363
+ if (emission) {
1364
+ pushMessage({
1365
+ text: emission,
1366
+ emitter: currentState.emitter,
1367
+ media: (_b = currentState.emittedMedia) !== null && _b !== void 0 ? _b : currentState.media,
1368
+ llmUsage: currentState.llmUsage,
1369
+ fromUser: false,
1370
+ questionAnswered: msg,
1371
+ generatedByAI: !!currentState.completion,
1372
+ contextVars: currentState.contextVars,
1373
+ date: currentState.currentDate,
1374
+ placeName: currentState.currentPlaceName,
1375
+ placeLatitude: currentState.currentLatitude,
1376
+ placeLongitude: currentState.currentLongitude,
1377
+ placeUncertaintyKm: currentState.currentUncertaintyKm,
1378
+ tag: currentState.currentTag,
1379
+ memoryTags: currentState.memoryTags,
1380
+ });
1381
+ if (emission && shouldPlayAudio(emission)) {
1382
+ handleSpeak(emission);
1383
+ }
1384
+ }
1385
+ }
1386
+ }, [
1387
+ userLang,
1388
+ language,
1389
+ isMultilanguageEnabled,
1390
+ currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.emission,
1391
+ translateDialogState,
1392
+ handleSpeak,
1393
+ shouldPlayAudio,
1394
+ ]);
1395
+ const clearEnterTextPending = (0, react_1.useCallback)((correlationID, pending) => {
1396
+ var _a;
1397
+ if ((_a = pending.waitForResponse) === null || _a === void 0 ? void 0 : _a.timeoutId) {
1398
+ clearTimeout(pending.waitForResponse.timeoutId);
1399
+ }
1400
+ pendingEnterTextRef.current.delete(correlationID);
1401
+ }, []);
1402
+ const deliverEnterTextNatsError = (0, react_1.useCallback)((event) => {
1403
+ var _a, _b, _c;
1404
+ const correlationID = event.correlationID;
1405
+ let pending;
1406
+ if (correlationID) {
1407
+ pending = pendingEnterTextRef.current.get(correlationID);
1408
+ if (pending) {
1409
+ clearEnterTextPending(correlationID, pending);
1410
+ (_a = pending.waitForResponse) === null || _a === void 0 ? void 0 : _a.reject(new Error((_b = event.errorMessage) !== null && _b !== void 0 ? _b : String((_c = event.errorCode) !== null && _c !== void 0 ? _c : 'NATS error')));
1411
+ }
1412
+ }
1413
+ if ((0, isSessionExpiredError_1.isSessionExpiredNatsError)(event) && (pending === null || pending === void 0 ? void 0 : pending.text)) {
1414
+ setMemoriTyping(false);
1415
+ setTypingText(undefined);
1416
+ retryAfterExpiredSessionRef.current({
1417
+ text: pending.text,
1418
+ media: pending.media,
1419
+ translate: pending.translate,
1420
+ translatedText: pending.translatedText,
1421
+ hidden: pending.hidden,
1422
+ typingText: pending.typingText,
1423
+ useLoaderTextAsMsg: pending.useLoaderTextAsMsg,
1424
+ hasBatchQueued: pending.hasBatchQueued,
1425
+ expiredSessionID: sessionId,
1426
+ continueFromChatLogID: chatLogID,
1427
+ });
1428
+ return;
1429
+ }
1430
+ const errorText = event.errorMessage
1431
+ ? `Error: ${event.errorMessage}`
1432
+ : event.errorCode
1433
+ ? `Error: ${event.errorCode}`
1434
+ : 'Error: An unexpected error occurred';
1435
+ pushMessage({
1436
+ text: errorText,
1437
+ emitter: 'system',
1438
+ fromUser: false,
1439
+ initial: false,
1440
+ contextVars: {},
1441
+ date: new Date().toISOString(),
1442
+ });
1443
+ setMemoriTyping(false);
1444
+ setTypingText(undefined);
1445
+ }, [clearEnterTextPending]);
1446
+ const deliverEnterTextNatsResponse = (0, react_1.useCallback)((correlationID, event) => {
1447
+ const pending = pendingEnterTextRef.current.get(correlationID);
1448
+ if (!pending) {
1449
+ bufferedNatsResponsesRef.current.set(correlationID, event);
1450
+ return;
1451
+ }
1452
+ clearEnterTextPending(correlationID, pending);
1453
+ if (pending.waitForResponse) {
1454
+ pending.waitForResponse.resolve(event);
1455
+ setMemoriTyping(false);
1456
+ setTypingText(undefined);
1457
+ return;
1458
+ }
1459
+ processEnterTextDialogResponse(event, pending);
1460
+ if (!pending.hasBatchQueued) {
1461
+ setMemoriTyping(false);
1462
+ setTypingText(undefined);
1463
+ }
1464
+ }, [processEnterTextDialogResponse, clearEnterTextPending]);
1465
+ const registerPendingEnterText = (0, react_1.useCallback)((correlationID, pending) => {
1466
+ const buffered = bufferedNatsResponsesRef.current.get(correlationID);
1467
+ if (buffered) {
1468
+ bufferedNatsResponsesRef.current.delete(correlationID);
1469
+ pendingEnterTextRef.current.set(correlationID, pending);
1470
+ deliverEnterTextNatsResponse(correlationID, buffered);
1471
+ return;
1472
+ }
1473
+ pendingEnterTextRef.current.set(correlationID, pending);
1474
+ }, [deliverEnterTextNatsResponse]);
1475
+ const waitForEnterTextNatsResponse = (0, react_1.useCallback)((correlationID, timeoutMs = 120000) => new Promise((resolve, reject) => {
1476
+ const timeoutId = setTimeout(() => {
1477
+ const current = pendingEnterTextRef.current.get(correlationID);
1478
+ if (current) {
1479
+ clearEnterTextPending(correlationID, current);
1480
+ }
1481
+ logWidgetError('NATS timeout', { correlationID, timeoutMs });
1482
+ reject(new Error('NATS enter-text response timeout'));
1483
+ }, timeoutMs);
1484
+ registerPendingEnterText(correlationID, {
1485
+ waitForResponse: {
1486
+ resolve: event => {
1487
+ clearTimeout(timeoutId);
1488
+ resolve(event);
1489
+ },
1490
+ reject: error => {
1491
+ clearTimeout(timeoutId);
1492
+ reject(error);
1493
+ },
1494
+ timeoutId,
1495
+ },
1496
+ });
1497
+ }), [registerPendingEnterText, clearEnterTextPending]);
1498
+ (0, useNats_1.useNats)({
1499
+ baseUrl,
1500
+ sessionId,
1501
+ onProgress: (0, react_1.useCallback)((event) => {
1502
+ if (event.message) {
1503
+ setTypingText(event.message);
1504
+ }
1505
+ }, []),
1506
+ onDialogResponse: (0, react_1.useCallback)((event) => {
1507
+ const correlationID = event.correlationID;
1508
+ if (!correlationID) {
1509
+ logWidgetError('NATS dialog response missing correlationID', event);
1510
+ setMemoriTyping(false);
1511
+ setTypingText(undefined);
1512
+ return;
1513
+ }
1514
+ deliverEnterTextNatsResponse(correlationID, event);
1515
+ }, [deliverEnterTextNatsResponse]),
1516
+ onError: deliverEnterTextNatsError,
1517
+ });
1254
1518
  const focusChatInput = () => {
1255
1519
  let textarea = document.querySelector('#chat-fieldset textarea');
1256
1520
  if (textarea && enableFocusChatInput) {
@@ -1272,7 +1536,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1272
1536
  timeoutRef.current = undefined;
1273
1537
  ttsStop();
1274
1538
  }
1275
- catch (e) {
1539
+ catch (_a) {
1276
1540
  }
1277
1541
  };
1278
1542
  (0, react_1.useEffect)(() => {
@@ -1310,9 +1574,6 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1310
1574
  }, []);
1311
1575
  const [attachmentsMenuOpen, setAttachmentsMenuOpen] = (0, react_1.useState)();
1312
1576
  const globalBackground = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.globalBackground;
1313
- const globalBackgroundUrl = globalBackground
1314
- ? `url(${globalBackground})`
1315
- : null;
1316
1577
  const integrationProperties = (integration ? getChatStyles(integrationConfig) : {});
1317
1578
  const integrationSelectors = [
1318
1579
  preview ? '#preview' : null,
@@ -1343,8 +1604,12 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1343
1604
  ${integrationCssBlock}
1344
1605
  }`);
1345
1606
  }
1346
- if (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.blurBackground) {
1347
- integrationStylesheetParts.push('.memori-widget .memori--global-background { filter: blur(5px); }');
1607
+ if ((integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.blurBackground) === false) {
1608
+ integrationStylesheetParts.push(`.memori-widget .memori-chat--history--has-global-background::before,
1609
+ .memori-widget .memori-chat-layout--main--has-background::before {
1610
+ filter: none;
1611
+ transform: none;
1612
+ }`);
1348
1613
  }
1349
1614
  const integrationStylesheet = `@layer integration {
1350
1615
  ${integrationStylesheetParts.join('\n ')}
@@ -1435,7 +1700,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1435
1700
  };
1436
1701
  }, [sessionId, userLang, disableTextEnteredEvents]);
1437
1702
  const onClickStart = (0, react_1.useCallback)(async (session, initialSessionExpired = false, chatLog, targetSessionID) => {
1438
- var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
1703
+ var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
1439
1704
  const sessionID = chatLog ? undefined : (session === null || session === void 0 ? void 0 : session.sessionID) || sessionId;
1440
1705
  const dialogState = chatLog
1441
1706
  ? undefined
@@ -1452,9 +1717,15 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1452
1717
  setPositionPopoverOpenState(true);
1453
1718
  return;
1454
1719
  }
1720
+ if (!(await checkCredits({ notify: true }))) {
1721
+ setClickedStart(false);
1722
+ setLoading(false);
1723
+ return;
1724
+ }
1455
1725
  if (!sessionID && !!minAge && !birth) {
1456
1726
  setShowAgeVerification(true);
1457
1727
  setClickedStart(false);
1728
+ return;
1458
1729
  }
1459
1730
  else if ((!sessionID &&
1460
1731
  memori.privacyType !== 'PUBLIC' &&
@@ -1467,83 +1738,95 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1467
1738
  return;
1468
1739
  }
1469
1740
  else if (!sessionID || initialSessionExpired) {
1470
- setClickedStart(false);
1471
1741
  setGotErrorInOpening(false);
1472
- const session = await fetchSession({
1473
- memoriID: memori.engineMemoriID,
1474
- password: secret || memoriPwd || memori.secretToken,
1475
- tag: personification === null || personification === void 0 ? void 0 : personification.tag,
1476
- pin: personification === null || personification === void 0 ? void 0 : personification.pin,
1477
- continueFromChatLogID: chatLog === null || chatLog === void 0 ? void 0 : chatLog.chatLogID,
1478
- initialContextVars: {
1479
- LANG: userLang,
1480
- PATHNAME: (_a = window.location.pathname) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
1481
- ROUTE: ((_d = (_c = (_b = window.location.pathname) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop()) === null || _d === void 0 ? void 0 : _d.toUpperCase()) || '',
1482
- ...((!chatLog
1483
- ? initialContextVars
1484
- : chatLog.lines[chatLog.lines.length - 1].contextVars) || {}),
1485
- },
1486
- initialQuestion: chatLog ? undefined : initialQuestion,
1487
- birthDate: birth,
1488
- additionalInfo: {
1489
- ...(additionalInfo || {}),
1490
- loginToken: (_g = (_f = userToken !== null && userToken !== void 0 ? userToken : loginToken) !== null && _f !== void 0 ? _f : additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _g !== void 0 ? _g : authToken,
1491
- language: ((_k = userLang !== null && userLang !== void 0 ? userLang : (_j = (_h = memori.culture) === null || _h === void 0 ? void 0 : _h.split('-')) === null || _j === void 0 ? void 0 : _j[0]) !== null && _k !== void 0 ? _k : 'IT').toLowerCase(),
1492
- timeZoneOffset: new Date().getTimezoneOffset().toString(),
1493
- },
1494
- });
1495
- if (session === null || session === void 0 ? void 0 : session.dialogState) {
1496
- if (!chatLog) {
1497
- setHistory([]);
1498
- await translateAndSpeak(session.dialogState, userLang);
1499
- setHasUserActivatedSpeak(true);
1500
- }
1501
- else {
1502
- const messages = chatLog.lines.map((l, i) => {
1503
- var _a, _b;
1504
- return ({
1505
- text: l.text,
1506
- media: (_b = (_a = l.media) === null || _a === void 0 ? void 0 : _a.filter(m => constants_1.allowedMediaTypes.includes(m.mimeType))) === null || _b === void 0 ? void 0 : _b.map(m => ({
1507
- mediumID: `${i}-${m.mimeType}`,
1508
- ...m,
1509
- })),
1510
- fromUser: l.inbound,
1511
- llmUsage: l.llmUsage,
1512
- timestamp: l.timestamp,
1513
- emitter: l.emitter,
1514
- initial: i === 0,
1515
- });
1516
- });
1517
- translatedMessages = messages !== null && messages !== void 0 ? messages : [];
1518
- if (language.toUpperCase() !== userLang.toUpperCase() &&
1519
- isMultilanguageEnabled) {
1520
- try {
1521
- translatedMessages = await Promise.all(messages.map(async (m) => {
1522
- if ('originalText' in m && m.originalText) {
1523
- return m;
1524
- }
1525
- return {
1742
+ if (sessionStartingRef.current) {
1743
+ return;
1744
+ }
1745
+ sessionStartingRef.current = true;
1746
+ try {
1747
+ const session = await fetchSession({
1748
+ memoriID: memori.engineMemoriID,
1749
+ password: secret || memoriPwd || memori.secretToken,
1750
+ tag: personification === null || personification === void 0 ? void 0 : personification.tag,
1751
+ pin: personification === null || personification === void 0 ? void 0 : personification.pin,
1752
+ continueFromChatLogID: chatLog === null || chatLog === void 0 ? void 0 : chatLog.chatLogID,
1753
+ initialContextVars: {
1754
+ LANG: userLang,
1755
+ PATHNAME: (_a = window.location.pathname) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
1756
+ ROUTE: ((_d = (_c = (_b = window.location.pathname) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop()) === null || _d === void 0 ? void 0 : _d.toUpperCase()) ||
1757
+ '',
1758
+ ...((!chatLog
1759
+ ? initialContextVars
1760
+ : chatLog.lines[chatLog.lines.length - 1].contextVars) || {}),
1761
+ },
1762
+ initialQuestion: chatLog ? undefined : initialQuestion,
1763
+ birthDate: birth,
1764
+ additionalInfo: {
1765
+ ...(additionalInfo || {}),
1766
+ loginToken: resolveLoginToken(),
1767
+ language: ((_h = userLang !== null && userLang !== void 0 ? userLang : (_g = (_f = memori.culture) === null || _f === void 0 ? void 0 : _f.split('-')) === null || _g === void 0 ? void 0 : _g[0]) !== null && _h !== void 0 ? _h : 'IT').toLowerCase(),
1768
+ timeZoneOffset: new Date().getTimezoneOffset().toString(),
1769
+ },
1770
+ });
1771
+ if (session === null || session === void 0 ? void 0 : session.dialogState) {
1772
+ if (!chatLog) {
1773
+ setHistory([]);
1774
+ await translateAndSpeak(session.dialogState, userLang);
1775
+ setHasUserActivatedSpeak(true);
1776
+ setClickedStart(false);
1777
+ }
1778
+ else {
1779
+ const messages = chatLog.lines.map((l, i) => {
1780
+ var _a, _b;
1781
+ return ({
1782
+ text: l.text,
1783
+ media: (_b = (_a = l.media) === null || _a === void 0 ? void 0 : _a.filter(m => constants_1.allowedMediaTypes.includes(m.mimeType))) === null || _b === void 0 ? void 0 : _b.map(m => ({
1784
+ mediumID: `${i}-${m.mimeType}`,
1526
1785
  ...m,
1527
- originalText: m.text,
1528
- text: (await (0, translations_1.getTranslation)(m.text, userLang, language, baseUrl)).text,
1529
- };
1530
- }));
1531
- }
1532
- catch (e) {
1533
- console.error('[onClickStart] Error translating messages:', e);
1786
+ })),
1787
+ fromUser: l.inbound,
1788
+ llmUsage: l.llmUsage,
1789
+ timestamp: l.timestamp,
1790
+ emitter: l.emitter,
1791
+ initial: i === 0,
1792
+ });
1793
+ });
1794
+ translatedMessages = messages !== null && messages !== void 0 ? messages : [];
1795
+ if (language.toUpperCase() !== userLang.toUpperCase() &&
1796
+ isMultilanguageEnabled) {
1797
+ try {
1798
+ translatedMessages = await Promise.all(messages.map(async (m) => {
1799
+ if ('originalText' in m && m.originalText) {
1800
+ return m;
1801
+ }
1802
+ return {
1803
+ ...m,
1804
+ originalText: m.text,
1805
+ text: (await (0, translations_1.getTranslation)(m.text, userLang, language, baseUrl)).text,
1806
+ };
1807
+ }));
1808
+ }
1809
+ catch (_u) {
1810
+ }
1534
1811
  }
1812
+ setHistory(translatedMessages);
1813
+ translateDialogState(session.dialogState, userLang, undefined, true).finally(() => {
1814
+ setHasUserActivatedSpeak(true);
1815
+ setClickedStart(false);
1816
+ });
1535
1817
  }
1536
- setHistory(translatedMessages);
1537
- translateDialogState(session.dialogState, userLang, undefined, true).finally(() => {
1538
- setHasUserActivatedSpeak(true);
1539
- });
1818
+ }
1819
+ else if ((session === null || session === void 0 ? void 0 : session.resultCode) === 0) {
1820
+ sessionStartingRef.current = false;
1821
+ await onClickStart(session || undefined);
1822
+ }
1823
+ else {
1824
+ setLoading(false);
1825
+ setClickedStart(false);
1540
1826
  }
1541
1827
  }
1542
- else if ((session === null || session === void 0 ? void 0 : session.resultCode) === 0) {
1543
- await onClickStart(session || undefined);
1544
- }
1545
- else {
1546
- setLoading(false);
1828
+ finally {
1829
+ sessionStartingRef.current = false;
1547
1830
  }
1548
1831
  return;
1549
1832
  }
@@ -1552,9 +1835,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1552
1835
  const { currentState, ...response } = await getSession(sessionID);
1553
1836
  if (response.resultCode !== 0 || !currentState) {
1554
1837
  const { chatLogs } = await getSessionChatLogs(sessionID, sessionID);
1555
- setGotErrorInOpening(true);
1556
1838
  setSessionId(undefined);
1557
- setClickedStart(false);
1558
1839
  await onClickStart(undefined, true, chatLogs === null || chatLogs === void 0 ? void 0 : chatLogs[0]);
1559
1840
  return;
1560
1841
  }
@@ -1566,21 +1847,22 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1566
1847
  const session = await changeTag(memori.engineMemoriID, sessionID, personification.tag, personification.pin);
1567
1848
  if (session && session.resultCode === 0) {
1568
1849
  await translateAndSpeak(session.currentState, userLang);
1850
+ setClickedStart(false);
1569
1851
  }
1570
1852
  else {
1571
1853
  throw new Error('No session');
1572
1854
  }
1573
1855
  }
1574
- catch (e) {
1575
- console.error('[onClickStart] Error changing tag:', e);
1856
+ catch (_v) {
1576
1857
  reopenSession(true, memori === null || memori === void 0 ? void 0 : memori.secretToken, undefined, personification.tag, personification.pin, {
1577
1858
  LANG: userLang,
1578
- PATHNAME: (_l = window.location.pathname) === null || _l === void 0 ? void 0 : _l.toUpperCase(),
1579
- ROUTE: ((_p = (_o = (_m = window.location.pathname) === null || _m === void 0 ? void 0 : _m.split('/')) === null || _o === void 0 ? void 0 : _o.pop()) === null || _p === void 0 ? void 0 : _p.toUpperCase()) ||
1859
+ PATHNAME: (_j = window.location.pathname) === null || _j === void 0 ? void 0 : _j.toUpperCase(),
1860
+ ROUTE: ((_m = (_l = (_k = window.location.pathname) === null || _k === void 0 ? void 0 : _k.split('/')) === null || _l === void 0 ? void 0 : _l.pop()) === null || _m === void 0 ? void 0 : _m.toUpperCase()) ||
1580
1861
  '',
1581
1862
  ...(initialContextVars || {}),
1582
1863
  }, initialQuestion, birth).then(() => {
1583
1864
  setHasUserActivatedSpeak(true);
1865
+ setClickedStart(false);
1584
1866
  });
1585
1867
  }
1586
1868
  }
@@ -1593,6 +1875,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1593
1875
  const session = await changeTag(memori.engineMemoriID, sessionID, constants_1.anonTag);
1594
1876
  if (session && session.resultCode === 0) {
1595
1877
  await translateAndSpeak(session.currentState, userLang);
1878
+ setClickedStart(false);
1596
1879
  }
1597
1880
  else {
1598
1881
  throw new Error('No session');
@@ -1601,19 +1884,20 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1601
1884
  catch (e) {
1602
1885
  reopenSession(true, memori === null || memori === void 0 ? void 0 : memori.secretToken, undefined, undefined, undefined, {
1603
1886
  LANG: userLang,
1604
- PATHNAME: (_q = window.location.pathname) === null || _q === void 0 ? void 0 : _q.toUpperCase(),
1605
- ROUTE: ((_t = (_s = (_r = window.location.pathname) === null || _r === void 0 ? void 0 : _r.split('/')) === null || _s === void 0 ? void 0 : _s.pop()) === null || _t === void 0 ? void 0 : _t.toUpperCase()) ||
1887
+ PATHNAME: (_o = window.location.pathname) === null || _o === void 0 ? void 0 : _o.toUpperCase(),
1888
+ ROUTE: ((_r = (_q = (_p = window.location.pathname) === null || _p === void 0 ? void 0 : _p.split('/')) === null || _q === void 0 ? void 0 : _q.pop()) === null || _r === void 0 ? void 0 : _r.toUpperCase()) ||
1606
1889
  '',
1607
1890
  ...(initialContextVars || {}),
1608
1891
  }, initialQuestion, birth).then(() => {
1609
1892
  setHasUserActivatedSpeak(true);
1893
+ setClickedStart(false);
1610
1894
  });
1611
1895
  }
1612
1896
  }
1613
1897
  else {
1614
1898
  try {
1615
1899
  const { chatLogs } = await getSessionChatLogs(sessionID, sessionID);
1616
- const messages = (_u = chatLogs === null || chatLogs === void 0 ? void 0 : chatLogs[0]) === null || _u === void 0 ? void 0 : _u.lines.map((l, i) => {
1900
+ const messages = (_s = chatLogs === null || chatLogs === void 0 ? void 0 : chatLogs[0]) === null || _s === void 0 ? void 0 : _s.lines.map((l, i) => {
1617
1901
  var _a, _b;
1618
1902
  return ({
1619
1903
  text: l.text,
@@ -1638,31 +1922,28 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1638
1922
  text: (await (0, translations_1.getTranslation)(m.text, userLang, language, baseUrl)).text,
1639
1923
  })));
1640
1924
  }
1641
- catch (e) {
1642
- console.error('[onClickStart] Error translating messages:', e);
1925
+ catch (_w) {
1643
1926
  }
1644
1927
  }
1645
1928
  setHistory(translatedMessages);
1646
1929
  }
1647
- catch (e) {
1648
- console.error('[onClickStart] Error retrieving chat logs:', e);
1930
+ catch (_x) {
1649
1931
  }
1650
1932
  if ((!!(translatedMessages === null || translatedMessages === void 0 ? void 0 : translatedMessages.length) && translatedMessages.length > 1) ||
1651
1933
  !initialQuestion) {
1652
1934
  setHasUserActivatedSpeak(true);
1935
+ setClickedStart(false);
1653
1936
  await translateAndSpeak(currentState, userLang, undefined, !!(translatedMessages === null || translatedMessages === void 0 ? void 0 : translatedMessages.length));
1654
1937
  }
1655
1938
  else {
1656
- console.log('[onClickStart] Starting with initial question');
1657
1939
  translatedMessages = [];
1658
1940
  setHistory([]);
1659
- setMemoriTyping(true);
1660
1941
  const placeSpec = getPlaceSpecForEnterText(position);
1661
- const response = await postTextEnteredEvent({
1942
+ const response = await postEnterTextAsync({
1662
1943
  sessionId: sessionID,
1663
1944
  text: initialQuestion,
1664
1945
  ...(memori.needsDateTime && {
1665
- dateUTC: (_v = luxon_1.DateTime.utc().toISO()) !== null && _v !== void 0 ? _v : undefined,
1946
+ dateUTC: (_t = luxon_1.DateTime.utc().toISO()) !== null && _t !== void 0 ? _t : undefined,
1666
1947
  }),
1667
1948
  ...(placeSpec !== undefined && { place: placeSpec }),
1668
1949
  });
@@ -1678,51 +1959,99 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1678
1959
  date: new Date().toISOString(),
1679
1960
  },
1680
1961
  ]);
1681
- setMemoriTyping(false);
1682
1962
  return;
1683
1963
  }
1684
- await translateAndSpeak((_w = response.currentState) !== null && _w !== void 0 ? _w : currentState, userLang, undefined, false);
1964
+ const onClickStartCorrelationID = readCorrelationID(response);
1965
+ if (response.resultCode === 0 && onClickStartCorrelationID) {
1966
+ setMemoriTyping(true);
1967
+ try {
1968
+ const natsEvent = await waitForEnterTextNatsResponse(onClickStartCorrelationID);
1969
+ if (natsEvent.resultCode === 0 && natsEvent.currentState) {
1970
+ await translateAndSpeak(natsEvent.currentState, userLang, undefined, false);
1971
+ setClickedStart(false);
1972
+ }
1973
+ }
1974
+ catch (err) {
1975
+ logWidgetError('onClickStart NATS wait failed', err);
1976
+ setMemoriTyping(false);
1977
+ setTypingText(undefined);
1978
+ }
1979
+ }
1980
+ else if (response.resultCode === 0) {
1981
+ logWidgetError('onClickStart enter-text missing correlationID', response);
1982
+ }
1685
1983
  }
1686
1984
  }
1687
1985
  }
1688
1986
  else {
1689
1987
  setHistory([]);
1690
1988
  await translateAndSpeak(dialogState, userLang);
1989
+ setClickedStart(false);
1691
1990
  }
1692
1991
  }, [memoriPwd, memori, memoriTokens, birthDate, sessionId, userLang, position]);
1693
1992
  const setPositionPopoverOpen = (0, react_1.useCallback)((open) => {
1694
- setPositionPopoverOpenState(open);
1695
- if (!open && autoStart) {
1696
- onClickStart();
1697
- }
1698
- }, [autoStart, onClickStart]);
1993
+ const sessionAlreadyStarted = !!(sessionId && hasUserActivatedSpeak);
1994
+ setPositionPopoverOpenState(wasOpen => {
1995
+ if ((0, positionPopover_1.shouldRestartSessionOnPositionPopoverClose)(wasOpen, open, autoStart, sessionAlreadyStarted)) {
1996
+ queueMicrotask(() => {
1997
+ onClickStart();
1998
+ });
1999
+ }
2000
+ if (!open) {
2001
+ queueMicrotask(() => {
2002
+ setAutoStartPositionGeolocation(false);
2003
+ });
2004
+ }
2005
+ return open;
2006
+ });
2007
+ }, [autoStart, onClickStart, sessionId, hasUserActivatedSpeak]);
1699
2008
  (0, react_1.useEffect)(() => {
1700
- if (!clickedStart && autoStart && selectedLayout !== 'HIDDEN_CHAT') {
2009
+ if (!clickedStart &&
2010
+ !sessionStartingRef.current &&
2011
+ !sessionId &&
2012
+ autoStart &&
2013
+ selectedLayout !== 'HIDDEN_CHAT' &&
2014
+ (!needsCredits || hasEnoughCredits)) {
1701
2015
  onClickStart();
1702
2016
  }
1703
- }, [clickedStart, autoStart, selectedLayout]);
2017
+ }, [
2018
+ clickedStart,
2019
+ autoStart,
2020
+ selectedLayout,
2021
+ sessionId,
2022
+ needsCredits,
2023
+ hasEnoughCredits,
2024
+ ]);
1704
2025
  (0, react_1.useEffect)(() => {
2026
+ var _a;
1705
2027
  const targetNode = document.querySelector(`memori-client[memoriname="${memori.name}"]`) ||
1706
2028
  document.querySelector(`memori-client[memoriid="${memori.memoriID}"]`) ||
1707
2029
  document.querySelector('memori-client');
1708
2030
  if (!targetNode) {
1709
2031
  return;
1710
2032
  }
2033
+ const propsToken = (_a = additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _a !== void 0 ? _a : authToken;
2034
+ const initialDomToken = targetNode.getAttribute('authtoken') || undefined;
2035
+ if (initialDomToken && !propsToken) {
2036
+ setLoginToken(initialDomToken);
2037
+ userTokenRef.current = initialDomToken;
2038
+ }
2039
+ const applyAuthTokenFromElement = (element) => {
2040
+ var _a;
2041
+ const clientNode = element.nodeName === 'MEMORI-CLIENT'
2042
+ ? element
2043
+ : (_a = element.closest('memori-client')) !== null && _a !== void 0 ? _a : element.parentElement;
2044
+ const token = (clientNode === null || clientNode === void 0 ? void 0 : clientNode.getAttribute('authtoken')) || undefined;
2045
+ setLoginToken(token);
2046
+ userTokenRef.current = token;
2047
+ };
1711
2048
  const config = { attributes: true, childList: false, subtree: false };
1712
- const callback = (mutationList, _observer) => {
1713
- var _a, _b, _c;
2049
+ const callback = mutationList => {
2050
+ var _a;
1714
2051
  for (const mutation of mutationList) {
1715
2052
  if (mutation.type === 'attributes' &&
1716
2053
  ((_a = mutation.attributeName) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === 'authtoken') {
1717
- if (mutation.target.nodeName === 'MEMORI-CLIENT') {
1718
- setLoginToken(mutation.target.getAttribute('authtoken') || undefined);
1719
- userToken = mutation.target.getAttribute('authtoken') || undefined;
1720
- }
1721
- else {
1722
- setLoginToken(((_c = (_b = mutation.target) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.getAttribute('authtoken')) ||
1723
- undefined);
1724
- userToken = mutation.target.getAttribute('authtoken') || undefined;
1725
- }
2054
+ applyAuthTokenFromElement(mutation.target);
1726
2055
  }
1727
2056
  }
1728
2057
  };
@@ -1731,7 +2060,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1731
2060
  return () => {
1732
2061
  observer.disconnect();
1733
2062
  };
1734
- }, []);
2063
+ }, [memori.name, memori.memoriID, additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken, authToken]);
1735
2064
  const [experts, setExperts] = (0, react_1.useState)();
1736
2065
  const fetchExperts = (0, react_1.useCallback)(async () => {
1737
2066
  if (!sessionId || !(memori === null || memori === void 0 ? void 0 : memori.enableBoardOfExperts))
@@ -1741,12 +2070,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1741
2070
  if (resp.resultCode === 0) {
1742
2071
  setExperts(experts);
1743
2072
  }
1744
- else {
1745
- console.warn('Error fetching experts', resp);
1746
- }
1747
2073
  }
1748
- catch (err) {
1749
- console.warn(err);
2074
+ catch (_a) {
1750
2075
  }
1751
2076
  }, [sessionId, memori === null || memori === void 0 ? void 0 : memori.enableBoardOfExperts]);
1752
2077
  (0, react_1.useEffect)(() => {
@@ -1756,11 +2081,26 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1756
2081
  !!loginToken &&
1757
2082
  !!(user === null || user === void 0 ? void 0 : user.userID) &&
1758
2083
  (user === null || user === void 0 ? void 0 : user.pAndCUAccepted);
1759
- const needsCredits = tenant === null || tenant === void 0 ? void 0 : tenant.billingDelegation;
1760
- const [hasEnoughCredits, setHasEnoughCredits] = (0, react_1.useState)(true);
1761
- const checkCredits = (0, react_1.useCallback)(async () => {
2084
+ const handleNotEnoughCredits = (0, react_1.useCallback)(() => {
2085
+ setHasEnoughCredits(false);
2086
+ setAuthModalState(null);
2087
+ add((0, ui_1.createAlertOptions)({
2088
+ description: t('notEnoughCredits'),
2089
+ severity: 'error',
2090
+ }));
2091
+ }, [add, t]);
2092
+ const checkCredits = (0, react_1.useCallback)(async (options) => {
1762
2093
  if (!(tenant === null || tenant === void 0 ? void 0 : tenant.billingDelegation))
1763
- return;
2094
+ return true;
2095
+ if (!ownerUserID && !ownerUserName) {
2096
+ if (options === null || options === void 0 ? void 0 : options.notify) {
2097
+ handleNotEnoughCredits();
2098
+ }
2099
+ else {
2100
+ setHasEnoughCredits(false);
2101
+ }
2102
+ return false;
2103
+ }
1764
2104
  try {
1765
2105
  const resp = await (0, credits_1.getCredits)({
1766
2106
  operation: deepThoughtEnabled
@@ -1773,22 +2113,36 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1773
2113
  });
1774
2114
  if (resp.enough) {
1775
2115
  setHasEnoughCredits(true);
2116
+ return true;
1776
2117
  }
1777
2118
  else {
1778
- setHasEnoughCredits(false);
1779
- console.warn('Not enough credits. Required:', resp.required);
2119
+ if (options === null || options === void 0 ? void 0 : options.notify) {
2120
+ handleNotEnoughCredits();
2121
+ }
2122
+ else {
2123
+ setHasEnoughCredits(false);
2124
+ }
2125
+ return false;
1780
2126
  }
1781
2127
  }
1782
- catch (e) {
1783
- let err = e;
1784
- console.debug(err);
2128
+ catch (err) {
2129
+ logWidgetError('checkCredits failed', err);
2130
+ return true;
1785
2131
  }
1786
- }, [tenant === null || tenant === void 0 ? void 0 : tenant.billingDelegation, deepThoughtEnabled]);
2132
+ }, [
2133
+ baseUrl,
2134
+ deepThoughtEnabled,
2135
+ handleNotEnoughCredits,
2136
+ ownerUserID,
2137
+ ownerUserName,
2138
+ tenant === null || tenant === void 0 ? void 0 : tenant.billingDelegation,
2139
+ tenantID,
2140
+ ]);
1787
2141
  (0, react_1.useEffect)(() => {
1788
2142
  if (tenant === null || tenant === void 0 ? void 0 : tenant.billingDelegation) {
1789
2143
  checkCredits();
1790
2144
  }
1791
- }, [tenant === null || tenant === void 0 ? void 0 : tenant.billingDelegation, deepThoughtEnabled]);
2145
+ }, [tenant === null || tenant === void 0 ? void 0 : tenant.billingDelegation, deepThoughtEnabled, checkCredits]);
1792
2146
  (0, react_1.useEffect)(() => {
1793
2147
  if (__WEBCOMPONENT__)
1794
2148
  return;
@@ -1807,37 +2161,40 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1807
2161
  ? selectedLayout !== 'TOTEM' && selectedLayout !== 'WEBSITE_ASSISTANT'
1808
2162
  : !showOnlyLastMessages;
1809
2163
  const canShowLoginButton = !(tenant === null || tenant === void 0 ? void 0 : tenant.ssoLogin) &&
1810
- ((_w = showLogin !== null && showLogin !== void 0 ? showLogin : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showLogin) !== null && _w !== void 0 ? _w : memori.requireLoginToken);
2164
+ ((_y = showLogin !== null && showLogin !== void 0 ? showLogin : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showLogin) !== null && _y !== void 0 ? _y : memori.requireLoginToken);
1811
2165
  const headerProps = {
1812
2166
  memori: {
1813
2167
  ...memori,
1814
- ownerUserID: (_y = (_x = memori.ownerUserID) !== null && _x !== void 0 ? _x : ownerUserID) !== null && _y !== void 0 ? _y : undefined,
2168
+ ownerUserID: (_0 = (_z = memori.ownerUserID) !== null && _z !== void 0 ? _z : ownerUserID) !== null && _0 !== void 0 ? _0 : undefined,
1815
2169
  },
1816
2170
  apiClient: client,
1817
2171
  tenant,
1818
2172
  history,
1819
- showShare: (_z = showShare !== null && showShare !== void 0 ? showShare : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showShare) !== null && _z !== void 0 ? _z : true,
2173
+ showShare: (_1 = showShare !== null && showShare !== void 0 ? showShare : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showShare) !== null && _1 !== void 0 ? _1 : true,
1820
2174
  position,
1821
2175
  layout: selectedLayout,
1822
2176
  additionalSettings,
1823
2177
  setVenue: setPosition,
1824
2178
  positionPopoverOpen,
1825
2179
  setPositionPopoverOpen,
2180
+ autoStartPositionGeolocation,
1826
2181
  setShowSettingsDrawer,
1827
2182
  setShowKnownFactsDrawer,
1828
2183
  setShowExpertsDrawer,
1829
- enableAudio: (_0 = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _0 !== void 0 ? _0 : true,
2184
+ enableAudio: (_2 = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _2 !== void 0 ? _2 : true,
1830
2185
  speakerMuted: speakerMuted !== null && speakerMuted !== void 0 ? speakerMuted : false,
1831
2186
  setSpeakerMuted: (mute) => {
1832
2187
  toggleMute(mute);
1833
2188
  },
1834
2189
  setShowChatHistoryDrawer,
1835
- showSettings: (_1 = showSettings !== null && showSettings !== void 0 ? showSettings : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showSettings) !== null && _1 !== void 0 ? _1 : true,
1836
- showChatHistory: (_2 = showChatHistory !== null && showChatHistory !== void 0 ? showChatHistory : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showChatHistory) !== null && _2 !== void 0 ? _2 : true,
2190
+ showSettings: (_3 = showSettings !== null && showSettings !== void 0 ? showSettings : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showSettings) !== null && _3 !== void 0 ? _3 : true,
2191
+ showChatHistory: selectedLayout === 'WEBSITE_ASSISTANT'
2192
+ ? false
2193
+ : (_4 = showChatHistory !== null && showChatHistory !== void 0 ? showChatHistory : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showChatHistory) !== null && _4 !== void 0 ? _4 : true,
1837
2194
  showMessageConsumption: enableMessageConsumption,
1838
2195
  hasUserActivatedSpeak,
1839
2196
  showReload: selectedLayout === 'TOTEM',
1840
- showClear: (_3 = showClear !== null && showClear !== void 0 ? showClear : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showClear) !== null && _3 !== void 0 ? _3 : false,
2197
+ showClear: (_5 = showClear !== null && showClear !== void 0 ? showClear : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showClear) !== null && _5 !== void 0 ? _5 : false,
1841
2198
  clearHistory: () => setHistory(h => h.slice(-1)),
1842
2199
  showLogin: canShowLoginButton,
1843
2200
  setShowLoginDrawer,
@@ -1852,7 +2209,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1852
2209
  setShowLoginDrawer(false);
1853
2210
  setUser(undefined);
1854
2211
  setLoginToken(undefined);
1855
- userToken = undefined;
2212
+ userTokenRef.current = undefined;
1856
2213
  (0, configuration_1.removeLocalConfig)('loginToken');
1857
2214
  });
1858
2215
  },
@@ -1868,7 +2225,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1868
2225
  hasUserActivatedSpeak,
1869
2226
  isPlayingAudio: isPlayingAudio &&
1870
2227
  !speakerMuted &&
1871
- ((_4 = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _4 !== void 0 ? _4 : true),
2228
+ ((_6 = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _6 !== void 0 ? _6 : true),
1872
2229
  loading: !!memoriTyping,
1873
2230
  baseUrl,
1874
2231
  apiUrl: client.constants.BACKEND_URL,
@@ -1886,7 +2243,10 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1886
2243
  apiUrl: client.constants.BACKEND_URL,
1887
2244
  position: position,
1888
2245
  setVenue: setPosition,
1889
- openPositionPopover: () => setPositionPopoverOpen(true),
2246
+ openPositionPopover: () => {
2247
+ setAutoStartPositionGeolocation(true);
2248
+ setPositionPopoverOpen(true);
2249
+ },
1890
2250
  integrationConfig: integrationConfig,
1891
2251
  instruct: instruct,
1892
2252
  sessionId: sessionId,
@@ -1898,7 +2258,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1898
2258
  notEnoughCredits: needsCredits && !hasEnoughCredits,
1899
2259
  showLogin: canShowLoginButton,
1900
2260
  setShowLoginDrawer,
1901
- showChatHistory: (_5 = showChatHistory !== null && showChatHistory !== void 0 ? showChatHistory : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showChatHistory) !== null && _5 !== void 0 ? _5 : true,
2261
+ showChatHistory: selectedLayout === 'WEBSITE_ASSISTANT'
2262
+ ? false
2263
+ : (_7 = showChatHistory !== null && showChatHistory !== void 0 ? showChatHistory : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showChatHistory) !== null && _7 !== void 0 ? _7 : true,
1902
2264
  setShowChatHistoryDrawer,
1903
2265
  user,
1904
2266
  };
@@ -1908,7 +2270,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1908
2270
  tenant,
1909
2271
  translateTo: isMultilanguageEnabled &&
1910
2272
  userLang.toUpperCase() !==
1911
- ((_10 = ((_9 = (_8 = (_7 = (_6 = memori.culture) === null || _6 === void 0 ? void 0 : _6.split('-')) === null || _7 === void 0 ? void 0 : _7[0]) !== null && _8 !== void 0 ? _8 : i18n.language) !== null && _9 !== void 0 ? _9 : 'IT')) === null || _10 === void 0 ? void 0 : _10.toUpperCase())
2273
+ ((_12 = ((_11 = (_10 = (_9 = (_8 = memori.culture) === null || _8 === void 0 ? void 0 : _8.split('-')) === null || _9 === void 0 ? void 0 : _9[0]) !== null && _10 !== void 0 ? _10 : i18n.language) !== null && _11 !== void 0 ? _11 : 'IT')) === null || _12 === void 0 ? void 0 : _12.toUpperCase())
1912
2274
  ? userLang
1913
2275
  : undefined,
1914
2276
  baseUrl,
@@ -1916,9 +2278,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1916
2278
  layout,
1917
2279
  memoriTyping,
1918
2280
  typingText,
1919
- showTypingText: (_11 = showTypingText !== null && showTypingText !== void 0 ? showTypingText : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showTypingText) !== null && _11 !== void 0 ? _11 : false,
2281
+ showTypingText: (_13 = showTypingText !== null && showTypingText !== void 0 ? showTypingText : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showTypingText) !== null && _13 !== void 0 ? _13 : false,
1920
2282
  history: showFullHistory ? history : history.slice(-2),
1921
- authToken: (_13 = (_12 = loginToken !== null && loginToken !== void 0 ? loginToken : userToken) !== null && _12 !== void 0 ? _12 : additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _13 !== void 0 ? _13 : authToken,
2283
+ authToken: resolveLoginToken(),
1922
2284
  dialogState: currentDialogState,
1923
2285
  pushMessage,
1924
2286
  simulateUserPrompt,
@@ -1968,11 +2330,12 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1968
2330
  maxTotalMessagePayload,
1969
2331
  maxTextareaCharacters,
1970
2332
  isChatlogPanel: (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.artifactChatLogPanel) === true,
2333
+ globalBackground: globalBackground || undefined,
1971
2334
  };
1972
- const integrationBackground = integration && globalBackgroundUrl ? ((0, jsx_runtime_1.jsx)("div", { className: "memori--global-background", children: (0, jsx_runtime_1.jsx)("div", { className: "memori--global-background-image", style: { backgroundImage: globalBackgroundUrl } }) })) : ((0, jsx_runtime_1.jsx)("div", { className: "memori--global-background no-background-image" }));
2335
+ const integrationBackground = ((0, jsx_runtime_1.jsx)("div", { className: "memori--global-background no-background-image" }));
1973
2336
  const integrationStyle = integration &&
1974
2337
  (Object.keys(integrationProperties).length > 0 ||
1975
- (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.blurBackground)) ? ((0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: { __html: integrationStylesheet } })) : null;
2338
+ (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.blurBackground) === false) ? ((0, jsx_runtime_1.jsx)("style", { dangerouslySetInnerHTML: { __html: integrationStylesheet } })) : null;
1976
2339
  const poweredBy = ((0, jsx_runtime_1.jsx)(PoweredBy_1.default, { tenant: tenant, userLang: userLang, integrationID: integration === null || integration === void 0 ? void 0 : integration.integrationID, memoriHash: `${memori.ownerTenantName}-${memori.ownerUserName}-${memori.name}` }));
1977
2340
  const Layout = customLayout
1978
2341
  ? customLayout
@@ -1989,7 +2352,10 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1989
2352
  : selectedLayout === 'ZOOMED_FULL_BODY'
1990
2353
  ? ZoomedFullBody_1.default
1991
2354
  : FullPage_1.default;
1992
- return ((0, jsx_runtime_1.jsxs)("div", { ref: widgetRootRef, className: (0, classnames_1.default)('memori', 'memori-widget', `memori-layout-${String(selectedLayout).toLowerCase()}`, `memori-controls-${String(controlsPosition).toLowerCase()}`, `memori--avatar-${(integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.avatar) || 'default'}`, {
2355
+ const widgetTheme = (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.theme) === 'light' || (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.theme) === 'dark'
2356
+ ? integrationConfig.theme
2357
+ : 'light';
2358
+ return ((0, jsx_runtime_1.jsx)("div", { ref: setWidgetRootEl, className: (0, classnames_1.default)('memori', 'memori-widget', `memori-layout-${String(selectedLayout).toLowerCase()}`, `memori-controls-${String(controlsPosition).toLowerCase()}`, `memori--avatar-${(integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.avatar) || 'default'}`, {
1993
2359
  'memori--auto-start': autoStart,
1994
2360
  'memori--preview': preview,
1995
2361
  'memori--embed': embed,
@@ -1998,138 +2364,135 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1998
2364
  'memori--active': hasUserActivatedSpeak,
1999
2365
  'memori--hide-emissions': hideEmissions,
2000
2366
  'memori--has-active-session': !!sessionId,
2001
- }), "data-theme": (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.theme) === 'light' ||
2002
- (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.theme) === 'dark'
2003
- ? integrationConfig.theme
2004
- : undefined, "data-memori-name": memori === null || memori === void 0 ? void 0 : memori.name, "data-memori-id": memori === null || memori === void 0 ? void 0 : memori.engineMemoriID, "data-memori-secondary-id": memori === null || memori === void 0 ? void 0 : memori.memoriID, "data-memori-session-id": sessionId, "data-memori-integration": integration === null || integration === void 0 ? void 0 : integration.integrationID, "data-memori-engine-state": JSON.stringify({
2367
+ }), "data-theme": widgetTheme, "data-memori-name": memori === null || memori === void 0 ? void 0 : memori.name, "data-memori-id": memori === null || memori === void 0 ? void 0 : memori.engineMemoriID, "data-memori-secondary-id": memori === null || memori === void 0 ? void 0 : memori.memoriID, "data-memori-session-id": sessionId, "data-memori-integration": integration === null || integration === void 0 ? void 0 : integration.integrationID, "data-memori-engine-state": JSON.stringify({
2005
2368
  ...currentDialogState,
2006
2369
  sessionID: sessionId,
2007
- }), style: { height }, children: [(0, jsx_runtime_1.jsx)(Layout, { Header: Header_1.default, headerProps: headerProps, Avatar: Avatar_1.default, avatarProps: avatarProps, Chat: Chat_1.default, chatProps: chatProps, StartPanel: StartPanel_1.default, startPanelProps: startPanelProps, integrationStyle: integrationStyle, integrationBackground: integrationBackground, poweredBy: poweredBy, autoStart: autoStart, sessionId: sessionId, hasUserActivatedSpeak: hasUserActivatedSpeak, loading: loading, avatar3dHidden: avatar3dHidden !== null && avatar3dHidden !== void 0 ? avatar3dHidden : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.avatar_3d_hidden }), (0, jsx_runtime_1.jsx)(ArtifactAPI_1.ArtifactAPIBridge, { pushMessage: (message) => {
2008
- setHistory(history => {
2009
- if (!history.length)
2010
- return history;
2011
- const lastMessage = history[history.length - 1];
2012
- if (!lastMessage || lastMessage.fromUser)
2013
- return history;
2014
- const updatedLastMessage = {
2015
- ...lastMessage,
2016
- text: lastMessage.text + message.text,
2017
- };
2018
- return [...history.slice(0, -1), updatedLastMessage];
2019
- });
2020
- } }), (0, jsx_runtime_1.jsx)("audio", { id: "memori-audio", style: { display: 'none' }, src: "https://aisuru.com/intro.mp3" }), isClient && ((0, jsx_runtime_1.jsx)(Auth_1.default, { withModal: true, pwdOrTokens: authModalState, openModal: !!authModalState, setPwdOrTokens: setAuthModalState, showTokens: memori.privacyType === 'SECRET', onFinish: (values) => {
2021
- var _a, _b, _c, _d;
2022
- if (values['password'])
2023
- setMemoriPwd(values['password']);
2024
- if (values['password'])
2025
- memoriPassword = values['password'];
2026
- if (values['tokens'])
2027
- setMemoriTokens(values['tokens']);
2028
- return reopenSession(!sessionId, values['password'], values['tokens'], personification === null || personification === void 0 ? void 0 : personification.tag, personification === null || personification === void 0 ? void 0 : personification.pin, {
2029
- LANG: userLang,
2030
- PATHNAME: (_a = window.location.pathname) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
2031
- ROUTE: ((_d = (_c = (_b = window.location.pathname) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop()) === null || _d === void 0 ? void 0 : _d.toUpperCase()) ||
2032
- '',
2033
- ...(initialContextVars || {}),
2034
- }, initialQuestion, birthDate)
2035
- .then(state => {
2036
- if (!(state === null || state === void 0 ? void 0 : state.sessionID)) {
2037
- throw new Error('AUTH_FAILED');
2038
- }
2039
- setAuthModalState(null);
2040
- if (state === null || state === void 0 ? void 0 : state.dialogState) {
2041
- setHasUserActivatedSpeak(true);
2042
- }
2043
- else {
2044
- onClickStart(state);
2045
- }
2046
- })
2047
- .catch(error => {
2048
- if (!(error instanceof Error) ||
2049
- error.message !== 'AUTH_FAILED') {
2050
- setGotErrorInOpening(true);
2051
- }
2052
- throw error;
2053
- });
2054
- }, minimumNumberOfRecoveryTokens: (_17 = memori === null || memori === void 0 ? void 0 : memori.minimumNumberOfRecoveryTokens) !== null && _17 !== void 0 ? _17 : 1 })), isClient && ((0, jsx_runtime_1.jsx)(AgeVerificationModal_1.default, { visible: showAgeVerification, minAge: minAge, onClose: birthDate => {
2055
- var _a, _b, _c, _d;
2056
- if (birthDate) {
2057
- setBirthDate(birthDate);
2058
- (0, configuration_1.setLocalConfig)('birthDate', birthDate);
2059
- reopenSession(!sessionId, memoriPassword || memoriPwd || (memori === null || memori === void 0 ? void 0 : memori.secretToken), memoriTokens, personification === null || personification === void 0 ? void 0 : personification.tag, personification === null || personification === void 0 ? void 0 : personification.pin, {
2060
- LANG: userLang,
2061
- PATHNAME: (_a = window.location.pathname) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
2062
- ROUTE: ((_d = (_c = (_b = window.location.pathname) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop()) === null || _d === void 0 ? void 0 : _d.toUpperCase()) || '',
2063
- ...(initialContextVars || {}),
2064
- }, initialQuestion, birthDate)
2065
- .then(state => {
2066
- setShowAgeVerification(false);
2067
- setAuthModalState(null);
2068
- onClickStart(state || undefined);
2069
- })
2070
- .catch(() => {
2071
- setShowAgeVerification(false);
2072
- setGotErrorInOpening(true);
2073
- });
2074
- }
2075
- else {
2076
- setShowAgeVerification(false);
2077
- setClickedStart(false);
2078
- }
2079
- } })), showSettingsDrawer && ((0, jsx_runtime_1.jsx)(SettingsDrawer_1.default, { layout: selectedLayout, open: !!showSettingsDrawer, onClose: () => setShowSettingsDrawer(false), microphoneMode: continuousSpeech ? 'CONTINUOUS' : 'HOLD_TO_TALK', continuousSpeechTimeout: continuousSpeechTimeout, setMicrophoneMode: mode => setContinuousSpeech(mode === 'CONTINUOUS'), setContinuousSpeechTimeout: setContinuousSpeechTimeout, controlsPosition: controlsPosition, setControlsPosition: setControlsPosition, hideEmissions: hideEmissions, setHideEmissions: setHideEmissions, avatarType: avatarType, setAvatarType: setAvatarType, enablePositionControls: enablePositionControls, setEnablePositionControls: setEnablePositionControls, isAvatar3d: !!(integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.avatarURL), additionalSettings: additionalSettings, speakerMuted: speakerMuted })), showChatHistoryDrawer && ((0, jsx_runtime_1.jsx)(ChatHistory_1.default, { open: !!showChatHistoryDrawer, onClose: () => setShowChatHistoryDrawer(false), resumeSession: chatLog => {
2080
- setChatLogID(chatLog.chatLogID);
2081
- onClickStart(undefined, false, chatLog);
2082
- setShowChatHistoryDrawer(false);
2083
- }, apiClient: client, sessionId: sessionId || '', memori: memori, baseUrl: baseUrl, history: history, apiUrl: client.constants.BACKEND_URL, loginToken: loginToken, language: language, userLang: userLang, isMultilanguageEnabled: isMultilanguageEnabled })), showKnownFactsDrawer && sessionId && ((0, jsx_runtime_1.jsx)(KnownFacts_1.default, { apiClient: client, memori: memori, sessionID: sessionId, visible: showKnownFactsDrawer, closeDrawer: () => setShowKnownFactsDrawer(false) })), showExpertsDrawer && !!experts && ((0, jsx_runtime_1.jsx)(ExpertsDrawer_1.default, { apiUrl: client.constants.BACKEND_URL, baseUrl: baseUrl, tenant: tenant, experts: experts, open: showExpertsDrawer, onClose: () => setShowExpertsDrawer(false) })), showLoginDrawer && (tenant === null || tenant === void 0 ? void 0 : tenant.name) && ((0, jsx_runtime_1.jsx)(LoginDrawer_1.default, { tenant: tenant, apiClient: client, open: !!showLoginDrawer, user: user, loginToken: loginToken, onClose: () => setShowLoginDrawer(false), drawerClassName: selectedLayout === 'WEBSITE_ASSISTANT'
2084
- ? 'memori-drawer--above-website-assistant'
2085
- : undefined, onLogin: (user, token) => {
2086
- var _a, _b, _c, _d;
2087
- reopenSession(false, memoriPassword || memoriPwd || (memori === null || memori === void 0 ? void 0 : memori.secretToken), [], personification === null || personification === void 0 ? void 0 : personification.tag, personification === null || personification === void 0 ? void 0 : personification.pin, {
2088
- LANG: userLang,
2089
- PATHNAME: (_a = window.location.pathname) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
2090
- ROUTE: ((_d = (_c = (_b = window.location.pathname) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop()) === null || _d === void 0 ? void 0 : _d.toUpperCase()) ||
2091
- '',
2092
- ...(initialContextVars || {}),
2093
- }, undefined, birthDate, { loginToken: token }, undefined, sessionId).then(state => {
2094
- var _a, _b;
2095
- setShowLoginDrawer(false);
2096
- setUser(user);
2097
- setLoginToken(token);
2098
- userToken = token;
2099
- (0, configuration_1.setLocalConfig)('loginToken', token);
2100
- if ((state === null || state === void 0 ? void 0 : state.sessionID) &&
2101
- state.sessionID !== sessionId &&
2102
- (state === null || state === void 0 ? void 0 : state.dialogState)) {
2103
- const username = (user === null || user === void 0 ? void 0 : user.userName) || t('login.user');
2104
- pushMessage({
2105
- text: '',
2106
- emitter: state.dialogState.emitter,
2107
- media: (_b = (_a = state.dialogState.emittedMedia) !== null && _a !== void 0 ? _a : state.dialogState.media) !== null && _b !== void 0 ? _b : [],
2108
- fromUser: false,
2109
- initial: t('login.successfullyLoggedIn', { username }),
2110
- contextVars: state.dialogState.contextVars,
2111
- date: state.dialogState.currentDate,
2112
- placeName: state.dialogState.currentPlaceName,
2113
- placeLatitude: state.dialogState.currentLatitude,
2114
- placeLongitude: state.dialogState.currentLongitude,
2115
- placeUncertaintyKm: state.dialogState.currentUncertaintyKm,
2116
- tag: state.dialogState.currentTag,
2117
- memoryTags: state.dialogState.memoryTags,
2118
- });
2119
- setCurrentDialogState(state.dialogState);
2120
- }
2121
- });
2122
- }, setUser: setUser, onLogout: () => {
2123
- if (!loginToken)
2124
- return;
2125
- client.backend.pwlUserLogout(loginToken).then(() => {
2126
- setShowLoginDrawer(false);
2127
- setUser(undefined);
2128
- setLoginToken(undefined);
2129
- userToken = undefined;
2130
- (0, configuration_1.removeLocalConfig)('loginToken');
2131
- });
2132
- } }))] }));
2370
+ }), style: { height }, children: (0, jsx_runtime_1.jsxs)(ui_1.MemoriUIProvider, { container: widgetRootEl, theme: widgetTheme, children: [(0, jsx_runtime_1.jsx)(ui_1.AlertViewport, { placement: "top-end", style: { zIndex: 10002 } }), (0, jsx_runtime_1.jsx)(widgetSurfaceContext_1.WidgetSurfaceProvider, { value: widgetSurfaceEl, children: (0, jsx_runtime_1.jsxs)("div", { ref: setWidgetSurfaceEl, className: "memori-widget__surface", children: [(0, jsx_runtime_1.jsx)(Layout, { Header: Header_1.default, headerProps: headerProps, Avatar: Avatar_1.default, avatarProps: avatarProps, Chat: Chat_1.default, chatProps: chatProps, StartPanel: StartPanel_1.default, startPanelProps: startPanelProps, integrationStyle: integrationStyle, integrationBackground: integrationBackground, poweredBy: poweredBy, autoStart: autoStart, sessionId: sessionId, hasUserActivatedSpeak: hasUserActivatedSpeak, loading: loading, avatar3dHidden: avatar3dHidden !== null && avatar3dHidden !== void 0 ? avatar3dHidden : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.avatar_3d_hidden, totemContentMaxWidth: integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.totemContentMaxWidth }), (0, jsx_runtime_1.jsx)(ArtifactAPI_1.ArtifactAPIBridge, { pushMessage: (message) => {
2371
+ setHistory(history => {
2372
+ if (!history.length)
2373
+ return history;
2374
+ const lastMessage = history[history.length - 1];
2375
+ if (!lastMessage || lastMessage.fromUser)
2376
+ return history;
2377
+ const updatedLastMessage = {
2378
+ ...lastMessage,
2379
+ text: lastMessage.text + message.text,
2380
+ };
2381
+ return [...history.slice(0, -1), updatedLastMessage];
2382
+ });
2383
+ } }), (0, jsx_runtime_1.jsx)("audio", { id: "memori-audio", style: { display: 'none' }, src: "https://aisuru.com/intro.mp3" }), isClient && ((0, jsx_runtime_1.jsx)(Auth_1.default, { withModal: true, pwdOrTokens: authModalState, openModal: !!authModalState, setPwdOrTokens: setAuthModalState, showTokens: memori.privacyType === 'SECRET', onFinish: (values) => {
2384
+ var _a, _b, _c, _d;
2385
+ if (values['password'])
2386
+ setMemoriPwd(values['password']);
2387
+ if (values['password'])
2388
+ memoriPassword = values['password'];
2389
+ if (values['tokens'])
2390
+ setMemoriTokens(values['tokens']);
2391
+ return reopenSession(!sessionId, values['password'], values['tokens'], personification === null || personification === void 0 ? void 0 : personification.tag, personification === null || personification === void 0 ? void 0 : personification.pin, {
2392
+ LANG: userLang,
2393
+ PATHNAME: (_a = window.location.pathname) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
2394
+ ROUTE: ((_d = (_c = (_b = window.location.pathname) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop()) === null || _d === void 0 ? void 0 : _d.toUpperCase()) || '',
2395
+ ...(initialContextVars || {}),
2396
+ }, initialQuestion, birthDate)
2397
+ .then(state => {
2398
+ if (!(state === null || state === void 0 ? void 0 : state.sessionID)) {
2399
+ throw new Error('AUTH_FAILED');
2400
+ }
2401
+ setAuthModalState(null);
2402
+ if (state === null || state === void 0 ? void 0 : state.dialogState) {
2403
+ setHasUserActivatedSpeak(true);
2404
+ }
2405
+ else {
2406
+ onClickStart(state);
2407
+ }
2408
+ })
2409
+ .catch(error => {
2410
+ if (!(error instanceof Error) ||
2411
+ error.message !== 'AUTH_FAILED') {
2412
+ setGotErrorInOpening(true);
2413
+ }
2414
+ throw error;
2415
+ });
2416
+ }, minimumNumberOfRecoveryTokens: (_17 = memori === null || memori === void 0 ? void 0 : memori.minimumNumberOfRecoveryTokens) !== null && _17 !== void 0 ? _17 : 1 })), isClient && ((0, jsx_runtime_1.jsx)(AgeVerificationModal_1.default, { visible: showAgeVerification, minAge: minAge, onClose: birthDate => {
2417
+ var _a, _b, _c, _d;
2418
+ if (birthDate) {
2419
+ setBirthDate(birthDate);
2420
+ (0, configuration_1.setLocalConfig)('birthDate', birthDate);
2421
+ reopenSession(!sessionId, memoriPassword || memoriPwd || (memori === null || memori === void 0 ? void 0 : memori.secretToken), memoriTokens, personification === null || personification === void 0 ? void 0 : personification.tag, personification === null || personification === void 0 ? void 0 : personification.pin, {
2422
+ LANG: userLang,
2423
+ PATHNAME: (_a = window.location.pathname) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
2424
+ ROUTE: ((_d = (_c = (_b = window.location.pathname) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop()) === null || _d === void 0 ? void 0 : _d.toUpperCase()) || '',
2425
+ ...(initialContextVars || {}),
2426
+ }, initialQuestion, birthDate)
2427
+ .then(state => {
2428
+ setShowAgeVerification(false);
2429
+ setAuthModalState(null);
2430
+ onClickStart(state || undefined);
2431
+ })
2432
+ .catch(() => {
2433
+ setShowAgeVerification(false);
2434
+ setGotErrorInOpening(true);
2435
+ });
2436
+ }
2437
+ else {
2438
+ setShowAgeVerification(false);
2439
+ setClickedStart(false);
2440
+ }
2441
+ } })), showSettingsDrawer && ((0, jsx_runtime_1.jsx)(SettingsDrawer_1.default, { layout: selectedLayout, open: !!showSettingsDrawer, onClose: () => setShowSettingsDrawer(false), microphoneMode: continuousSpeech ? 'CONTINUOUS' : 'HOLD_TO_TALK', continuousSpeechTimeout: continuousSpeechTimeout, setMicrophoneMode: mode => setContinuousSpeech(mode === 'CONTINUOUS'), setContinuousSpeechTimeout: setContinuousSpeechTimeout, controlsPosition: controlsPosition, setControlsPosition: setControlsPosition, hideEmissions: hideEmissions, setHideEmissions: setHideEmissions, avatarType: avatarType, setAvatarType: setAvatarType, enablePositionControls: enablePositionControls, setEnablePositionControls: setEnablePositionControls, isAvatar3d: !!(integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.avatarURL), additionalSettings: additionalSettings, speakerMuted: speakerMuted })), showChatHistoryDrawer && ((0, jsx_runtime_1.jsx)(ChatHistory_1.default, { open: !!showChatHistoryDrawer, onClose: () => setShowChatHistoryDrawer(false), resumeSession: chatLog => {
2442
+ setChatLogID(chatLog.chatLogID);
2443
+ onClickStart(undefined, false, chatLog);
2444
+ setShowChatHistoryDrawer(false);
2445
+ }, apiClient: client, sessionId: sessionId || '', memori: memori, baseUrl: baseUrl, history: history, apiUrl: client.constants.BACKEND_URL, loginToken: loginToken, language: language, userLang: userLang, isMultilanguageEnabled: isMultilanguageEnabled })), showKnownFactsDrawer && sessionId && ((0, jsx_runtime_1.jsx)(KnownFacts_1.default, { apiClient: client, memori: memori, sessionID: sessionId, visible: showKnownFactsDrawer, closeDrawer: () => setShowKnownFactsDrawer(false) })), showExpertsDrawer && !!experts && ((0, jsx_runtime_1.jsx)(ExpertsDrawer_1.default, { apiUrl: client.constants.BACKEND_URL, baseUrl: baseUrl, tenant: tenant, experts: experts, open: showExpertsDrawer, onClose: () => setShowExpertsDrawer(false) })), showLoginDrawer && (tenant === null || tenant === void 0 ? void 0 : tenant.name) && ((0, jsx_runtime_1.jsx)(LoginDrawer_1.default, { tenant: tenant, apiClient: client, open: !!showLoginDrawer, user: user, loginToken: loginToken, onClose: () => setShowLoginDrawer(false), drawerClassName: selectedLayout === 'WEBSITE_ASSISTANT'
2446
+ ? 'memori-drawer--above-website-assistant'
2447
+ : undefined, onLogin: (user, token) => {
2448
+ var _a, _b, _c, _d;
2449
+ reopenSession(false, memoriPassword || memoriPwd || (memori === null || memori === void 0 ? void 0 : memori.secretToken), [], personification === null || personification === void 0 ? void 0 : personification.tag, personification === null || personification === void 0 ? void 0 : personification.pin, {
2450
+ LANG: userLang,
2451
+ PATHNAME: (_a = window.location.pathname) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
2452
+ ROUTE: ((_d = (_c = (_b = window.location.pathname) === null || _b === void 0 ? void 0 : _b.split('/')) === null || _c === void 0 ? void 0 : _c.pop()) === null || _d === void 0 ? void 0 : _d.toUpperCase()) || '',
2453
+ ...(initialContextVars || {}),
2454
+ }, undefined, birthDate, { loginToken: token }, undefined, sessionId).then(state => {
2455
+ var _a, _b;
2456
+ setShowLoginDrawer(false);
2457
+ setUser(user);
2458
+ setLoginToken(token);
2459
+ userTokenRef.current = token;
2460
+ (0, configuration_1.setLocalConfig)('loginToken', token);
2461
+ if ((state === null || state === void 0 ? void 0 : state.sessionID) &&
2462
+ state.sessionID !== sessionId &&
2463
+ (state === null || state === void 0 ? void 0 : state.dialogState)) {
2464
+ const username = (user === null || user === void 0 ? void 0 : user.userName) || t('login.user');
2465
+ pushMessage({
2466
+ text: '',
2467
+ emitter: state.dialogState.emitter,
2468
+ media: (_b = (_a = state.dialogState.emittedMedia) !== null && _a !== void 0 ? _a : state.dialogState.media) !== null && _b !== void 0 ? _b : [],
2469
+ fromUser: false,
2470
+ initial: t('login.successfullyLoggedIn', {
2471
+ username,
2472
+ }),
2473
+ contextVars: state.dialogState.contextVars,
2474
+ date: state.dialogState.currentDate,
2475
+ placeName: state.dialogState.currentPlaceName,
2476
+ placeLatitude: state.dialogState.currentLatitude,
2477
+ placeLongitude: state.dialogState.currentLongitude,
2478
+ placeUncertaintyKm: state.dialogState.currentUncertaintyKm,
2479
+ tag: state.dialogState.currentTag,
2480
+ memoryTags: state.dialogState.memoryTags,
2481
+ });
2482
+ setCurrentDialogState(state.dialogState);
2483
+ }
2484
+ });
2485
+ }, setUser: setUser, onLogout: () => {
2486
+ if (!loginToken)
2487
+ return;
2488
+ client.backend.pwlUserLogout(loginToken).then(() => {
2489
+ setShowLoginDrawer(false);
2490
+ setUser(undefined);
2491
+ setLoginToken(undefined);
2492
+ userTokenRef.current = undefined;
2493
+ (0, configuration_1.removeLocalConfig)('loginToken');
2494
+ });
2495
+ } }))] }) })] }) }));
2133
2496
  };
2134
2497
  exports.default = MemoriWidget;
2135
2498
  //# sourceMappingURL=MemoriWidget.js.map