@memori.ai/memori-react 8.45.1 → 8.45.4

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 (511) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/components/Chat/Chat.js +4 -1
  3. package/dist/components/Chat/Chat.js.map +1 -1
  4. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +4 -1
  5. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +7 -57
  6. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  7. package/dist/components/IconButton/IconButton.d.ts +1 -1
  8. package/dist/components/MemoriWidget/MemoriWidget.d.ts +1 -1
  9. package/dist/components/MemoriWidget/MemoriWidget.js +2 -1
  10. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  11. package/dist/components/PositionPopover/PositionPopover.js +38 -25
  12. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  13. package/dist/components/UploadButton/UploadButton.js +3 -0
  14. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  15. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +14 -2
  16. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  17. package/dist/components/layouts/chat.css +27 -4
  18. package/dist/context/widgetSurfaceContext.js +2 -2
  19. package/dist/context/widgetSurfaceContext.js.map +1 -1
  20. package/dist/helpers/constants.d.ts +3 -2
  21. package/dist/helpers/constants.js +19 -20
  22. package/dist/helpers/constants.js.map +1 -1
  23. package/dist/helpers/positionPopover.d.ts +2 -1
  24. package/dist/helpers/positionPopover.js +12 -3
  25. package/dist/helpers/positionPopover.js.map +1 -1
  26. package/dist/helpers/tts/muteSpeaker.js +4 -3
  27. package/dist/helpers/tts/muteSpeaker.js.map +1 -1
  28. package/dist/helpers/usePressTooltip.js +2 -1
  29. package/dist/helpers/usePressTooltip.js.map +1 -1
  30. package/dist/helpers/utils.d.ts +2 -1
  31. package/dist/helpers/utils.js +7 -1
  32. package/dist/helpers/utils.js.map +1 -1
  33. package/dist/icons/MemoriIcon.js +1 -1
  34. package/dist/icons/MemoriIcon.js.map +1 -1
  35. package/dist/styles.css +1 -2
  36. package/dist/version.d.ts +1 -1
  37. package/dist/version.js +1 -1
  38. package/esm/components/Chat/Chat.js +4 -1
  39. package/esm/components/Chat/Chat.js.map +1 -1
  40. package/esm/components/MemoriWidget/MemoriWidget.d.ts +1 -1
  41. package/esm/components/MemoriWidget/MemoriWidget.js +2 -1
  42. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  43. package/esm/components/UploadButton/UploadButton.js +4 -1
  44. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  45. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +16 -4
  46. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  47. package/esm/components/layouts/chat.css +27 -4
  48. package/esm/helpers/constants.d.ts +3 -2
  49. package/esm/helpers/constants.js +18 -19
  50. package/esm/helpers/constants.js.map +1 -1
  51. package/esm/helpers/utils.d.ts +2 -1
  52. package/esm/helpers/utils.js +6 -1
  53. package/esm/helpers/utils.js.map +1 -1
  54. package/esm/styles.css +1 -2
  55. package/esm/version.d.ts +1 -1
  56. package/esm/version.js +1 -1
  57. package/package.json +6 -7
  58. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  59. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -64
  60. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  61. package/dist/testUtils.d.ts +0 -5
  62. package/dist/testUtils.js +0 -18
  63. package/dist/testUtils.js.map +0 -1
  64. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  65. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -62
  66. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  67. package/src/I18nWrapper.tsx +0 -13
  68. package/src/__snapshots__/index.test.tsx.snap +0 -96
  69. package/src/components/AgeVerificationModal/AgeVerificationModal.css +0 -95
  70. package/src/components/AgeVerificationModal/AgeVerificationModal.stories.tsx +0 -46
  71. package/src/components/AgeVerificationModal/AgeVerificationModal.test.tsx +0 -33
  72. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +0 -99
  73. package/src/components/AgeVerificationModal/__snapshots__/AgeVerificationModal.test.tsx.snap +0 -19
  74. package/src/components/Auth/Auth.css +0 -57
  75. package/src/components/Auth/Auth.stories.tsx +0 -90
  76. package/src/components/Auth/Auth.test.tsx +0 -63
  77. package/src/components/Auth/Auth.tsx +0 -201
  78. package/src/components/Auth/__snapshots__/Auth.test.tsx.snap +0 -143
  79. package/src/components/Avatar/Avatar.css +0 -151
  80. package/src/components/Avatar/Avatar.stories.tsx +0 -160
  81. package/src/components/Avatar/Avatar.test.tsx +0 -158
  82. package/src/components/Avatar/Avatar.tsx +0 -245
  83. package/src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx +0 -103
  84. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +0 -105
  85. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +0 -338
  86. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.ts +0 -44
  87. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.ts +0 -1091
  88. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.ts +0 -83
  89. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts +0 -301
  90. package/src/components/Avatar/AvatarView/AvatarComponent/components/controls.tsx +0 -100
  91. package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +0 -152
  92. package/src/components/Avatar/AvatarView/AvatarComponent/components/loader.tsx +0 -31
  93. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +0 -141
  94. package/src/components/Avatar/AvatarView/AvatarComponent/lights/Lights.tsx +0 -145
  95. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +0 -111
  96. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.tsx +0 -201
  97. package/src/components/Avatar/AvatarView/AvatarView.stories.tsx +0 -254
  98. package/src/components/Avatar/AvatarView/index.tsx +0 -194
  99. package/src/components/Avatar/AvatarView/utils/hideHands.ts +0 -11
  100. package/src/components/Avatar/AvatarView/utils/useEyeBlink.ts +0 -100
  101. package/src/components/Avatar/AvatarView/utils/useHeadMovement.ts +0 -72
  102. package/src/components/Avatar/AvatarView/utils/useLoadingMorphAnim.ts +0 -38
  103. package/src/components/Avatar/AvatarView/utils/useMouthAnimation.ts +0 -93
  104. package/src/components/Avatar/AvatarView/utils/useSmile.ts +0 -39
  105. package/src/components/Avatar/AvatarView/utils/utils.ts +0 -55
  106. package/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap +0 -246
  107. package/src/components/Blob/Blob.css +0 -286
  108. package/src/components/Blob/Blob.stories.tsx +0 -53
  109. package/src/components/Blob/Blob.test.tsx +0 -18
  110. package/src/components/Blob/Blob.tsx +0 -26
  111. package/src/components/Blob/__snapshots__/Blob.test.tsx.snap +0 -80
  112. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.css +0 -40
  113. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.stories.tsx +0 -58
  114. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.test.tsx +0 -53
  115. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.tsx +0 -74
  116. package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +0 -181
  117. package/src/components/ChangeMode/ChangeMode.css +0 -22
  118. package/src/components/ChangeMode/ChangeMode.stories.tsx +0 -50
  119. package/src/components/ChangeMode/ChangeMode.test.tsx +0 -24
  120. package/src/components/ChangeMode/ChangeMode.tsx +0 -51
  121. package/src/components/ChangeMode/__snapshots__/ChangeMode.test.tsx.snap +0 -107
  122. package/src/components/Chat/Chat.css +0 -285
  123. package/src/components/Chat/Chat.stories.tsx +0 -1684
  124. package/src/components/Chat/Chat.test.tsx +0 -372
  125. package/src/components/Chat/Chat.tsx +0 -778
  126. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +0 -6816
  127. package/src/components/ChatBubble/ChatBubble.css +0 -430
  128. package/src/components/ChatBubble/ChatBubble.stories.tsx +0 -1192
  129. package/src/components/ChatBubble/ChatBubble.test.tsx +0 -481
  130. package/src/components/ChatBubble/ChatBubble.tsx +0 -776
  131. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +0 -8734
  132. package/src/components/ChatHistoryDrawer/ChatHistory.css +0 -587
  133. package/src/components/ChatHistoryDrawer/ChatHistory.stories.tsx +0 -410
  134. package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +0 -107
  135. package/src/components/ChatHistoryDrawer/ChatHistory.tsx +0 -1298
  136. package/src/components/ChatHistoryDrawer/__snapshots__/ChatHistory.test.tsx.snap +0 -27
  137. package/src/components/ChatInputs/ChatInputs.css +0 -340
  138. package/src/components/ChatInputs/ChatInputs.stories.tsx +0 -251
  139. package/src/components/ChatInputs/ChatInputs.tsx +0 -487
  140. package/src/components/ChatTextArea/ChatTextArea.css +0 -185
  141. package/src/components/ChatTextArea/ChatTextArea.stories.tsx +0 -55
  142. package/src/components/ChatTextArea/ChatTextArea.test.tsx +0 -28
  143. package/src/components/ChatTextArea/ChatTextArea.tsx +0 -171
  144. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +0 -68
  145. package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +0 -36
  146. package/src/components/CompletionProviderStatus/CompletionProviderStatus.stories.tsx +0 -296
  147. package/src/components/CompletionProviderStatus/CompletionProviderStatus.test.tsx +0 -31
  148. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +0 -232
  149. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +0 -96
  150. package/src/components/ContentPreviewModal/ContentPreviewModal.css +0 -128
  151. package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +0 -67
  152. package/src/components/ContentPreviewModal/index.ts +0 -2
  153. package/src/components/CustomGLBModelViewer/ModelViewer.css +0 -11
  154. package/src/components/CustomGLBModelViewer/ModelViewer.stories.tsx +0 -58
  155. package/src/components/CustomGLBModelViewer/ModelViewer.test.tsx +0 -13
  156. package/src/components/CustomGLBModelViewer/ModelViewer.tsx +0 -37
  157. package/src/components/CustomGLBModelViewer/__snapshots__/ModelViewer.test.tsx.snap +0 -20
  158. package/src/components/DateSelector/DateSelector.css +0 -158
  159. package/src/components/DateSelector/DateSelector.stories.tsx +0 -47
  160. package/src/components/DateSelector/DateSelector.test.tsx +0 -149
  161. package/src/components/DateSelector/DateSelector.tsx +0 -251
  162. package/src/components/DateSelector/__snapshots__/DateSelector.test.tsx.snap +0 -1954
  163. package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -54
  164. package/src/components/ExpertsDrawer/ExpertsDrawer.css +0 -67
  165. package/src/components/ExpertsDrawer/ExpertsDrawer.stories.tsx +0 -54
  166. package/src/components/ExpertsDrawer/ExpertsDrawer.test.tsx +0 -53
  167. package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +0 -69
  168. package/src/components/ExpertsDrawer/__snapshots__/ExpertsDrawer.test.tsx.snap +0 -11
  169. package/src/components/ExportHistoryButton/ExportHistoryButton.css +0 -22
  170. package/src/components/FeedbackButtons/FeedbackButtons.css +0 -107
  171. package/src/components/FeedbackButtons/FeedbackButtons.stories.tsx +0 -52
  172. package/src/components/FeedbackButtons/FeedbackButtons.test.tsx +0 -11
  173. package/src/components/FeedbackButtons/FeedbackButtons.tsx +0 -152
  174. package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +0 -42
  175. package/src/components/FilePreview/FilePreview.css +0 -358
  176. package/src/components/FilePreview/FilePreview.stories.tsx +0 -63
  177. package/src/components/FilePreview/FilePreview.test.tsx +0 -26
  178. package/src/components/FilePreview/FilePreview.tsx +0 -277
  179. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +0 -185
  180. package/src/components/Header/ChatConsumptionDropdown.test.tsx +0 -117
  181. package/src/components/Header/ChatConsumptionDropdown.tsx +0 -275
  182. package/src/components/Header/Header.css +0 -282
  183. package/src/components/Header/Header.stories.tsx +0 -338
  184. package/src/components/Header/Header.test.tsx +0 -371
  185. package/src/components/Header/Header.tsx +0 -442
  186. package/src/components/Header/__snapshots__/Header.test.tsx.snap +0 -964
  187. package/src/components/KnownFacts/KnownFacts.css +0 -19
  188. package/src/components/KnownFacts/KnownFacts.stories.tsx +0 -80
  189. package/src/components/KnownFacts/KnownFacts.test.tsx +0 -57
  190. package/src/components/KnownFacts/KnownFacts.tsx +0 -376
  191. package/src/components/KnownFacts/__snapshots__/KnownFacts.test.tsx.snap +0 -19
  192. package/src/components/LoginDrawer/LoginDrawer.css +0 -1616
  193. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +0 -102
  194. package/src/components/LoginDrawer/LoginDrawer.test.tsx +0 -199
  195. package/src/components/LoginDrawer/LoginDrawer.tsx +0 -600
  196. package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +0 -91
  197. package/src/components/MediaWidget/DocumentCard.test.tsx +0 -45
  198. package/src/components/MediaWidget/DocumentCard.tsx +0 -19
  199. package/src/components/MediaWidget/MediaItemWidget.css +0 -1398
  200. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +0 -423
  201. package/src/components/MediaWidget/MediaItemWidget.test.tsx +0 -248
  202. package/src/components/MediaWidget/MediaItemWidget.tsx +0 -997
  203. package/src/components/MediaWidget/MediaItemWidget.types.ts +0 -65
  204. package/src/components/MediaWidget/MediaItemWidget.utils.test.ts +0 -367
  205. package/src/components/MediaWidget/MediaItemWidget.utils.ts +0 -227
  206. package/src/components/MediaWidget/MediaPreviewModal.test.tsx +0 -271
  207. package/src/components/MediaWidget/MediaPreviewModal.tsx +0 -425
  208. package/src/components/MediaWidget/MediaWidget.css +0 -131
  209. package/src/components/MediaWidget/MediaWidget.stories.tsx +0 -319
  210. package/src/components/MediaWidget/MediaWidget.test.tsx +0 -41
  211. package/src/components/MediaWidget/MediaWidget.tsx +0 -107
  212. package/src/components/MediaWidget/__snapshots__/DocumentCard.test.tsx.snap +0 -24
  213. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +0 -791
  214. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +0 -154
  215. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +0 -2299
  216. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -163
  217. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +0 -250
  218. package/src/components/MemoriArtifactSystem/components/ArtifactActions/CopyButton.stories.tsx +0 -30
  219. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +0 -467
  220. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +0 -89
  221. package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +0 -619
  222. package/src/components/MemoriArtifactSystem/components/ArtifactActions/index.ts +0 -9
  223. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +0 -489
  224. package/src/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.tsx +0 -90
  225. package/src/components/MemoriArtifactSystem/components/ArtifactActions/types.ts +0 -73
  226. package/src/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.ts +0 -454
  227. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +0 -1059
  228. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +0 -431
  229. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +0 -150
  230. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +0 -79
  231. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +0 -253
  232. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +0 -561
  233. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +0 -355
  234. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +0 -160
  235. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +0 -167
  236. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +0 -35
  237. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +0 -308
  238. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +0 -379
  239. package/src/components/MemoriArtifactSystem/utils/applyEdits.test.ts +0 -85
  240. package/src/components/MemoriArtifactSystem/utils/applyEdits.ts +0 -173
  241. package/src/components/MemoriWidget/MemoriWidget.css +0 -220
  242. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +0 -274
  243. package/src/components/MemoriWidget/MemoriWidget.tsx +0 -3930
  244. package/src/components/MicrophoneButton/MicrophoneButton.css +0 -142
  245. package/src/components/MicrophoneButton/MicrophoneButton.stories.tsx +0 -52
  246. package/src/components/MicrophoneButton/MicrophoneButton.tsx +0 -128
  247. package/src/components/PositionDrawer/PositionDrawer.stories.tsx +0 -51
  248. package/src/components/PositionDrawer/PositionDrawer.test.tsx +0 -39
  249. package/src/components/PositionDrawer/PositionDrawer.tsx +0 -50
  250. package/src/components/PositionDrawer/__snapshots__/PositionDrawer.test.tsx.snap +0 -17
  251. package/src/components/PoweredBy/PoweredBy.css +0 -47
  252. package/src/components/PoweredBy/PoweredBy.stories.tsx +0 -75
  253. package/src/components/PoweredBy/PoweredBy.test.tsx +0 -15
  254. package/src/components/PoweredBy/PoweredBy.tsx +0 -44
  255. package/src/components/PoweredBy/__snapshots__/PoweredBy.test.tsx.snap +0 -55
  256. package/src/components/SendOnEnterMenu/SendOnEnterMenu.css +0 -47
  257. package/src/components/SendOnEnterMenu/SendOnEnterMenu.stories.tsx +0 -58
  258. package/src/components/SendOnEnterMenu/SendOnEnterMenu.test.tsx +0 -17
  259. package/src/components/SendOnEnterMenu/SendOnEnterMenu.tsx +0 -82
  260. package/src/components/SendOnEnterMenu/__snapshots__/SendOnEnterMenu.test.tsx.snap +0 -57
  261. package/src/components/SettingsDrawer/SettingsDrawer.css +0 -24
  262. package/src/components/SettingsDrawer/SettingsDrawer.stories.tsx +0 -94
  263. package/src/components/SettingsDrawer/SettingsDrawer.test.tsx +0 -202
  264. package/src/components/SettingsDrawer/SettingsDrawer.tsx +0 -255
  265. package/src/components/SettingsDrawer/__snapshots__/SettingsDrawer.test.tsx.snap +0 -59
  266. package/src/components/ShareButton/ShareButton.css +0 -73
  267. package/src/components/ShareButton/ShareButton.stories.tsx +0 -98
  268. package/src/components/ShareButton/ShareButton.test.tsx +0 -53
  269. package/src/components/ShareButton/ShareButton.tsx +0 -395
  270. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +0 -316
  271. package/src/components/Snippet/Snippet.css +0 -142
  272. package/src/components/Snippet/Snippet.stories.tsx +0 -286
  273. package/src/components/Snippet/Snippet.test.tsx +0 -176
  274. package/src/components/Snippet/Snippet.tsx +0 -148
  275. package/src/components/Snippet/__snapshots__/Snippet.test.tsx.snap +0 -603
  276. package/src/components/StartPanel/StartPanel.css +0 -273
  277. package/src/components/StartPanel/StartPanel.stories.tsx +0 -404
  278. package/src/components/StartPanel/StartPanel.test.tsx +0 -360
  279. package/src/components/StartPanel/StartPanel.tsx +0 -426
  280. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +0 -1986
  281. package/src/components/Typing/Typing.stories.tsx +0 -130
  282. package/src/components/Typing/Typing.test.tsx +0 -62
  283. package/src/components/Typing/Typing.tsx +0 -154
  284. package/src/components/Typing/__snapshots__/Typing.test.tsx.snap +0 -133
  285. package/src/components/UploadButton/UploadButton.css +0 -542
  286. package/src/components/UploadButton/UploadButton.stories.tsx +0 -376
  287. package/src/components/UploadButton/UploadButton.test.tsx +0 -11
  288. package/src/components/UploadButton/UploadButton.tsx +0 -684
  289. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +0 -405
  290. package/src/components/UploadButton/UploadImages/UploadImages.tsx +0 -538
  291. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +0 -165
  292. package/src/components/VenueWidget/VenueWidget.css +0 -163
  293. package/src/components/VenueWidget/VenueWidget.stories.tsx +0 -66
  294. package/src/components/VenueWidget/VenueWidget.test.tsx +0 -49
  295. package/src/components/VenueWidget/VenueWidget.tsx +0 -458
  296. package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +0 -370
  297. package/src/components/WhyThisAnswer/WhyThisAnswer.css +0 -171
  298. package/src/components/WhyThisAnswer/WhyThisAnswer.stories.tsx +0 -285
  299. package/src/components/WhyThisAnswer/WhyThisAnswer.test.tsx +0 -245
  300. package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +0 -233
  301. package/src/components/WhyThisAnswer/__snapshots__/WhyThisAnswer.test.tsx.snap +0 -27
  302. package/src/components/icons/AI.tsx +0 -34
  303. package/src/components/icons/Alert.tsx +0 -31
  304. package/src/components/icons/ArrowUp.tsx +0 -28
  305. package/src/components/icons/Bug.tsx +0 -81
  306. package/src/components/icons/Chat.tsx +0 -30
  307. package/src/components/icons/ChevronDown.tsx +0 -26
  308. package/src/components/icons/ChevronLeft.tsx +0 -28
  309. package/src/components/icons/ChevronRight.tsx +0 -28
  310. package/src/components/icons/ChevronUp.tsx +0 -24
  311. package/src/components/icons/Clear.tsx +0 -23
  312. package/src/components/icons/Close.tsx +0 -30
  313. package/src/components/icons/Code.tsx +0 -24
  314. package/src/components/icons/Copy.tsx +0 -23
  315. package/src/components/icons/DeepThought.tsx +0 -38
  316. package/src/components/icons/Delete.tsx +0 -23
  317. package/src/components/icons/Document.tsx +0 -50
  318. package/src/components/icons/Download.tsx +0 -23
  319. package/src/components/icons/Edit.tsx +0 -17
  320. package/src/components/icons/Expand.tsx +0 -23
  321. package/src/components/icons/Eye.tsx +0 -17
  322. package/src/components/icons/EyeInvisible.tsx +0 -24
  323. package/src/components/icons/Facebook.tsx +0 -23
  324. package/src/components/icons/Feedback.tsx +0 -24
  325. package/src/components/icons/File.tsx +0 -17
  326. package/src/components/icons/FileExcel.tsx +0 -23
  327. package/src/components/icons/FilePdf.tsx +0 -23
  328. package/src/components/icons/FileWord.tsx +0 -23
  329. package/src/components/icons/Fullscreen.tsx +0 -23
  330. package/src/components/icons/FullscreenExit.tsx +0 -23
  331. package/src/components/icons/GasStation.tsx +0 -36
  332. package/src/components/icons/Group.tsx +0 -30
  333. package/src/components/icons/History.tsx +0 -33
  334. package/src/components/icons/Image.tsx +0 -37
  335. package/src/components/icons/Info.tsx +0 -31
  336. package/src/components/icons/Link.tsx +0 -17
  337. package/src/components/icons/Linkedin.tsx +0 -23
  338. package/src/components/icons/Loading.tsx +0 -28
  339. package/src/components/icons/Logout.tsx +0 -27
  340. package/src/components/icons/Mail.tsx +0 -17
  341. package/src/components/icons/MapMarker.tsx +0 -26
  342. package/src/components/icons/MenuHorizontal.tsx +0 -29
  343. package/src/components/icons/MenuVertical.tsx +0 -29
  344. package/src/components/icons/Message.tsx +0 -23
  345. package/src/components/icons/Microphone.tsx +0 -23
  346. package/src/components/icons/Minus.tsx +0 -23
  347. package/src/components/icons/MinusCircle.tsx +0 -24
  348. package/src/components/icons/PaperClip.tsx +0 -23
  349. package/src/components/icons/Picture.tsx +0 -23
  350. package/src/components/icons/Plus.tsx +0 -18
  351. package/src/components/icons/Preview.tsx +0 -29
  352. package/src/components/icons/Print.tsx +0 -38
  353. package/src/components/icons/QuestionHelp.tsx +0 -30
  354. package/src/components/icons/Refresh.tsx +0 -30
  355. package/src/components/icons/SelectIcon.tsx +0 -28
  356. package/src/components/icons/Send.tsx +0 -17
  357. package/src/components/icons/Setting.tsx +0 -23
  358. package/src/components/icons/Share.tsx +0 -23
  359. package/src/components/icons/Sound.tsx +0 -23
  360. package/src/components/icons/SoundDeactivated.tsx +0 -27
  361. package/src/components/icons/Telegram.tsx +0 -26
  362. package/src/components/icons/ThumbDown.tsx +0 -29
  363. package/src/components/icons/ThumbUp.tsx +0 -29
  364. package/src/components/icons/Translation.tsx +0 -24
  365. package/src/components/icons/Twitter.tsx +0 -23
  366. package/src/components/icons/Upload.tsx +0 -34
  367. package/src/components/icons/User.tsx +0 -17
  368. package/src/components/icons/Warning.tsx +0 -24
  369. package/src/components/icons/WhatsApp.tsx +0 -24
  370. package/src/components/icons/icons.stories.css +0 -5
  371. package/src/components/icons/icons.stories.tsx +0 -81
  372. package/src/components/icons/loading.css +0 -14
  373. package/src/components/layouts/Chat.test.tsx +0 -40
  374. package/src/components/layouts/Chat.tsx +0 -69
  375. package/src/components/layouts/FullBody/FullBody.stories.tsx +0 -110
  376. package/src/components/layouts/FullPage.test.tsx +0 -65
  377. package/src/components/layouts/FullPage.tsx +0 -80
  378. package/src/components/layouts/HiddenChat.test.tsx +0 -40
  379. package/src/components/layouts/HiddenChat.tsx +0 -233
  380. package/src/components/layouts/Totem/Totem.stories.tsx +0 -131
  381. package/src/components/layouts/Totem.test.tsx +0 -40
  382. package/src/components/layouts/Totem.tsx +0 -49
  383. package/src/components/layouts/WebsiteAssistant.test.tsx +0 -40
  384. package/src/components/layouts/WebsiteAssistant.tsx +0 -132
  385. package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +0 -131
  386. package/src/components/layouts/ZoomedFullBody.test.tsx +0 -40
  387. package/src/components/layouts/ZoomedFullBody.tsx +0 -81
  388. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +0 -457
  389. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +0 -1045
  390. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +0 -460
  391. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +0 -566
  392. package/src/components/layouts/__snapshots__/WebsiteAssistant.test.tsx.snap +0 -59
  393. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +0 -523
  394. package/src/components/layouts/chat.css +0 -451
  395. package/src/components/layouts/hidden-chat.css +0 -276
  396. package/src/components/layouts/layouts.stories.tsx +0 -231
  397. package/src/components/layouts/totem.css +0 -221
  398. package/src/components/layouts/website-assistant.css +0 -677
  399. package/src/components/layouts/zoomed-full-body.css +0 -18
  400. package/src/components/ui/Alert.css +0 -93
  401. package/src/components/ui/Alert.stories.tsx +0 -137
  402. package/src/components/ui/Alert.test.tsx +0 -129
  403. package/src/components/ui/Alert.tsx +0 -123
  404. package/src/components/ui/Button.css +0 -167
  405. package/src/components/ui/Button.stories.tsx +0 -156
  406. package/src/components/ui/Button.test.tsx +0 -74
  407. package/src/components/ui/Button.tsx +0 -107
  408. package/src/components/ui/Card.css +0 -65
  409. package/src/components/ui/Card.stories.tsx +0 -95
  410. package/src/components/ui/Card.test.tsx +0 -47
  411. package/src/components/ui/Card.tsx +0 -48
  412. package/src/components/ui/Checkbox.css +0 -116
  413. package/src/components/ui/Checkbox.stories.tsx +0 -74
  414. package/src/components/ui/Checkbox.test.tsx +0 -28
  415. package/src/components/ui/Checkbox.tsx +0 -58
  416. package/src/components/ui/ConfirmDialog.css +0 -42
  417. package/src/components/ui/ConfirmDialog.stories.tsx +0 -216
  418. package/src/components/ui/ConfirmDialog.test.tsx +0 -124
  419. package/src/components/ui/ConfirmDialog.tsx +0 -58
  420. package/src/components/ui/Details.css +0 -66
  421. package/src/components/ui/Drawer.css +0 -270
  422. package/src/components/ui/Drawer.stories.tsx +0 -267
  423. package/src/components/ui/Drawer.test.tsx +0 -130
  424. package/src/components/ui/Drawer.tsx +0 -293
  425. package/src/components/ui/Dropdown.css +0 -173
  426. package/src/components/ui/Dropdown.tsx +0 -63
  427. package/src/components/ui/Expandable.css +0 -15
  428. package/src/components/ui/Expandable.stories.tsx +0 -180
  429. package/src/components/ui/Expandable.test.tsx +0 -107
  430. package/src/components/ui/Expandable.tsx +0 -121
  431. package/src/components/ui/Modal.css +0 -98
  432. package/src/components/ui/Modal.stories.tsx +0 -171
  433. package/src/components/ui/Modal.test.tsx +0 -111
  434. package/src/components/ui/Modal.tsx +0 -117
  435. package/src/components/ui/Select.css +0 -138
  436. package/src/components/ui/Select.stories.tsx +0 -79
  437. package/src/components/ui/Select.test.tsx +0 -84
  438. package/src/components/ui/Select.tsx +0 -79
  439. package/src/components/ui/Slider.css +0 -192
  440. package/src/components/ui/Slider.stories.tsx +0 -63
  441. package/src/components/ui/Slider.tsx +0 -142
  442. package/src/components/ui/Spin.css +0 -31
  443. package/src/components/ui/Spin.stories.tsx +0 -64
  444. package/src/components/ui/Spin.test.tsx +0 -41
  445. package/src/components/ui/Spin.tsx +0 -31
  446. package/src/components/ui/Table.css +0 -132
  447. package/src/components/ui/Tooltip.css +0 -171
  448. package/src/components/ui/Tooltip.stories.tsx +0 -109
  449. package/src/components/ui/Tooltip.test.tsx +0 -102
  450. package/src/components/ui/Tooltip.tsx +0 -163
  451. package/src/components/ui/__snapshots__/Alert.test.tsx.snap +0 -59
  452. package/src/components/ui/__snapshots__/Button.test.tsx.snap +0 -204
  453. package/src/components/ui/__snapshots__/Card.test.tsx.snap +0 -321
  454. package/src/components/ui/__snapshots__/Checkbox.test.tsx.snap +0 -131
  455. package/src/components/ui/__snapshots__/ConfirmDialog.test.tsx.snap +0 -35
  456. package/src/components/ui/__snapshots__/Drawer.test.tsx.snap +0 -67
  457. package/src/components/ui/__snapshots__/Expandable.test.tsx.snap +0 -159
  458. package/src/components/ui/__snapshots__/Modal.test.tsx.snap +0 -59
  459. package/src/components/ui/__snapshots__/Select.test.tsx.snap +0 -254
  460. package/src/components/ui/__snapshots__/Spin.test.tsx.snap +0 -193
  461. package/src/components/ui/__snapshots__/Tooltip.test.tsx.snap +0 -113
  462. package/src/components/ui/definitions.stories.tsx +0 -139
  463. package/src/context/visemeContext.tsx +0 -384
  464. package/src/helpers/chatPdfExport.ts +0 -544
  465. package/src/helpers/configuration.ts +0 -42
  466. package/src/helpers/constants.ts +0 -267
  467. package/src/helpers/convertDocument.test.ts +0 -67
  468. package/src/helpers/convertDocument.ts +0 -35
  469. package/src/helpers/credits.ts +0 -54
  470. package/src/helpers/error.test.ts +0 -29
  471. package/src/helpers/error.ts +0 -278
  472. package/src/helpers/imageCompression.ts +0 -230
  473. package/src/helpers/llmUsage.ts +0 -328
  474. package/src/helpers/markedExtendedTables.js +0 -217
  475. package/src/helpers/media.test.ts +0 -169
  476. package/src/helpers/media.ts +0 -81
  477. package/src/helpers/message.test.ts +0 -126
  478. package/src/helpers/message.ts +0 -219
  479. package/src/helpers/nats/getNatsConfig.ts +0 -148
  480. package/src/helpers/nats/isSessionExpiredError.test.ts +0 -38
  481. package/src/helpers/nats/isSessionExpiredError.ts +0 -51
  482. package/src/helpers/nats/useNats.test.tsx +0 -81
  483. package/src/helpers/nats/useNats.ts +0 -204
  484. package/src/helpers/nats/useNatsSession.test.ts +0 -16
  485. package/src/helpers/nats/useNatsSession.ts +0 -460
  486. package/src/helpers/piiDetection.test.ts +0 -186
  487. package/src/helpers/piiDetection.ts +0 -91
  488. package/src/helpers/sanitizer.ts +0 -17
  489. package/src/helpers/statistics.ts +0 -58
  490. package/src/helpers/stt/useSTT.ts +0 -515
  491. package/src/helpers/translations.ts +0 -39
  492. package/src/helpers/tts/ttsVoiceUtility.ts +0 -275
  493. package/src/helpers/tts/useTTS.ts +0 -621
  494. package/src/helpers/utils.test.ts +0 -321
  495. package/src/helpers/utils.ts +0 -586
  496. package/src/helpers/venue.ts +0 -36
  497. package/src/i18n.ts +0 -39
  498. package/src/index.stories.tsx +0 -220
  499. package/src/index.test.tsx +0 -156
  500. package/src/index.tsx +0 -592
  501. package/src/locales/de.json +0 -680
  502. package/src/locales/en.json +0 -754
  503. package/src/locales/es.json +0 -682
  504. package/src/locales/fr.json +0 -682
  505. package/src/locales/it.json +0 -750
  506. package/src/mocks/data.ts +0 -790
  507. package/src/styles.css +0 -126
  508. package/src/types/integration.test.ts +0 -32
  509. package/src/types/integration.ts +0 -31
  510. package/src/types/layout.ts +0 -50
  511. package/src/version.ts +0 -2
@@ -1,328 +0,0 @@
1
- export interface LlmUsageOnLine {
2
- provider?: string;
3
- model?: string;
4
- totalInputTokens?: number;
5
- inputCacheReadTokens?: number;
6
- inputCacheWriteTokens?: number;
7
- outputTokens?: number;
8
- durationMs?: number;
9
- energyImpact?: {
10
- energy?: number | { source?: string; parsedValue?: number };
11
- energyUnit?: string;
12
- gwp?: number | { source?: string; parsedValue?: number };
13
- gwpUnit?: string;
14
- wcf?: number | { source?: string; parsedValue?: number };
15
- wcfUnit?: string;
16
- };
17
- }
18
-
19
- export type UsageBadgeType = 'llm' | 'energy' | 'co2' | 'water';
20
- type NumericMetric = number | { source?: string; parsedValue?: number };
21
- type ImpactMetricType = 'energy' | 'co2' | 'water';
22
- type TranslateFn = (key: string, options?: { [key: string]: unknown }) => string;
23
-
24
- export interface LlmUsageLabels {
25
- llm: string;
26
- model: string;
27
- provider: string;
28
- tokens: string;
29
- input: string;
30
- output: string;
31
- cacheRead: string;
32
- cacheWrite: string;
33
- duration: string;
34
- energy: string;
35
- co2: string;
36
- water: string;
37
- usageBadgesHint: string;
38
- }
39
-
40
- export const BADGE_EMOJI: Record<UsageBadgeType, string> = {
41
- llm: '🤖',
42
- energy: '⚡',
43
- co2: '🌍',
44
- water: '💧',
45
- };
46
-
47
- export const escapeHtml = (value: string): string =>
48
- value
49
- .replaceAll('&', '&amp;')
50
- .replaceAll('<', '&lt;')
51
- .replaceAll('>', '&gt;')
52
- .replaceAll('"', '&quot;')
53
- .replaceAll("'", '&#39;');
54
-
55
- export const getMetricValue = (metric?: NumericMetric): number | undefined => {
56
- if (typeof metric === 'number' && Number.isFinite(metric)) return metric;
57
- if (!metric || typeof metric !== 'object') return undefined;
58
- if (
59
- typeof metric.parsedValue === 'number' &&
60
- Number.isFinite(metric.parsedValue)
61
- ) {
62
- return metric.parsedValue;
63
- }
64
- if (typeof metric.source === 'string') {
65
- const parsed = Number(metric.source);
66
- if (Number.isFinite(parsed)) return parsed;
67
- }
68
- return undefined;
69
- };
70
-
71
- const formatMetricValue = (value: number, locale = 'it-IT'): string => {
72
- if (!Number.isFinite(value)) return '—';
73
- if (value === 0) return '0';
74
-
75
- const absValue = Math.abs(value);
76
- return new Intl.NumberFormat(locale, {
77
- minimumFractionDigits: 0,
78
- maximumFractionDigits: absValue >= 1 ? 3 : 4,
79
- }).format(value);
80
- };
81
-
82
- export const formatIntegerValue = (value: number, locale = 'it-IT'): string => {
83
- if (!Number.isFinite(value)) return '0';
84
- return new Intl.NumberFormat(locale, { maximumFractionDigits: 0 }).format(
85
- value,
86
- );
87
- };
88
-
89
- export const formatDuration = (durationMs?: number, locale = 'it-IT'): string => {
90
- if (typeof durationMs !== 'number' || !Number.isFinite(durationMs)) {
91
- return '—';
92
- }
93
- if (durationMs < 1000) return `${formatIntegerValue(durationMs, locale)} ms`;
94
- return `${formatMetricValue(durationMs / 1000, locale)} s`;
95
- };
96
-
97
- const floorToSingleDecimal = (value: number): number =>
98
- Math.floor(value * 10) / 10;
99
-
100
- const formatComparisonNumber = (value: number, locale = 'it-IT'): string =>
101
- new Intl.NumberFormat(locale, {
102
- minimumFractionDigits: 1,
103
- maximumFractionDigits: 1,
104
- }).format(floorToSingleDecimal(value));
105
-
106
- const formatReadableDuration = (seconds: number, locale = 'it-IT'): string => {
107
- if (!Number.isFinite(seconds) || seconds <= 0) return '0 s';
108
- if (seconds < 60) return `${formatComparisonNumber(seconds, locale)} s`;
109
-
110
- const minutes = seconds / 60;
111
- if (minutes < 60) return `${formatComparisonNumber(minutes, locale)} min`;
112
-
113
- return `${formatComparisonNumber(minutes / 60, locale)} h`;
114
- };
115
-
116
- const formatReadableDistance = (meters: number, locale = 'it-IT'): string => {
117
- if (!Number.isFinite(meters) || meters <= 0) return '0 m';
118
- if (meters < 1000) return `${formatComparisonNumber(meters, locale)} m`;
119
- return `${formatComparisonNumber(meters / 1000, locale)} km`;
120
- };
121
-
122
- const getApiUnitToBaseFactor = (
123
- unitFromApi: string | undefined,
124
- metricType: ImpactMetricType,
125
- ): number => {
126
- const u = (unitFromApi ?? '').trim().toLowerCase();
127
- if (metricType === 'energy') {
128
- if (u === 'kwh') return 1;
129
- if (u === 'wh') return 0.001;
130
- if (u === 'mwh') return 0.000001;
131
- return 1;
132
- }
133
- if (metricType === 'co2') {
134
- if (u === 'kg' || u === 'kgco2eq') return 1;
135
- if (u === 'g') return 0.001;
136
- if (u === 'mg') return 0.000001;
137
- return 1;
138
- }
139
- if (u === 'l') return 1;
140
- if (u === 'ml') return 0.001;
141
- if (u === 'μl' || u === 'ul') return 0.000001;
142
- return 1;
143
- };
144
-
145
- export const formatImpactInReadableUnit = (
146
- value: number,
147
- metricType: ImpactMetricType,
148
- locale = 'it-IT',
149
- ): string => {
150
- const absValue = Math.abs(value);
151
-
152
- if (metricType === 'energy') {
153
- if (absValue >= 1) return `${formatMetricValue(value, locale)} kWh`;
154
- const wattHours = value * 1000;
155
- if (Math.abs(wattHours) >= 1) return `${formatMetricValue(wattHours, locale)} Wh`;
156
- return `${formatMetricValue(wattHours * 1000, locale)} mWh`;
157
- }
158
-
159
- if (metricType === 'co2') {
160
- if (absValue >= 1) return `${formatMetricValue(value, locale)} kg`;
161
- const grams = value * 1000;
162
- if (Math.abs(grams) >= 1) return `${formatMetricValue(grams, locale)} g`;
163
- return `${formatMetricValue(grams * 1000, locale)} mg`;
164
- }
165
-
166
- if (absValue >= 1) return `${formatMetricValue(value, locale)} L`;
167
- const milliliters = value * 1000;
168
- if (Math.abs(milliliters) >= 1) return `${formatMetricValue(milliliters, locale)} mL`;
169
- return `${formatMetricValue(milliliters * 1000, locale)} μL`;
170
- };
171
-
172
- export const formatImpactWithApiUnit = (
173
- value: number,
174
- unitFromApi: string | undefined,
175
- fallbackUnit: string,
176
- metricType: ImpactMetricType,
177
- locale = 'it-IT',
178
- ): string => {
179
- const factor = getApiUnitToBaseFactor(
180
- unitFromApi ?? fallbackUnit,
181
- metricType,
182
- );
183
- const baseValue = value * factor;
184
- return formatImpactInReadableUnit(baseValue, metricType, locale);
185
- };
186
-
187
- export const getImpactComparison = (
188
- value: number,
189
- metricType: ImpactMetricType,
190
- locale = 'it-IT',
191
- t: TranslateFn,
192
- ): string => {
193
- if (!Number.isFinite(value) || value <= 0) {
194
- return t('chatLogs.impactComparisonUnavailable');
195
- }
196
-
197
- if (metricType === 'energy') {
198
- const ledSeconds = (value * 1000 * 3600) / 10;
199
- return t('chatLogs.impactComparisonEnergy', {
200
- duration: formatReadableDuration(ledSeconds, locale),
201
- });
202
- }
203
-
204
- if (metricType === 'co2') {
205
- const averageCarMeters = (value / 0.12) * 1000;
206
- return t('chatLogs.impactComparisonCo2', {
207
- distance: formatReadableDistance(averageCarMeters, locale),
208
- });
209
- }
210
-
211
- const drops = (value * 1000) / 0.05;
212
- return t('chatLogs.impactComparisonWater', {
213
- count: formatComparisonNumber(drops, locale),
214
- });
215
- };
216
-
217
- const buildUsageBadgeHtml = ({
218
- badgeType,
219
- badgeClassName,
220
- label,
221
- value,
222
- lineIndex,
223
- emoji,
224
- }: {
225
- badgeType: UsageBadgeType;
226
- badgeClassName: string;
227
- label: string;
228
- value?: string;
229
- lineIndex: number;
230
- emoji: string;
231
- }): string => {
232
- const escapedLabel = escapeHtml(label);
233
- const valueHtml = value
234
- ? `<span class="memori-chat--usage-badge-value">${value}</span>`
235
- : '';
236
- const content =
237
- valueHtml ||
238
- `<span class="memori-chat--usage-badge-label">${escapedLabel}</span>`;
239
-
240
- return `<button type="button" class="memori-chat--usage-badge ${badgeClassName}" data-llm-badge-type="${badgeType}" data-line-index="${lineIndex}" aria-label="${escapedLabel}">${emoji} ${content}</button>`;
241
- };
242
-
243
- export const buildLlmUsageHtml = (
244
- usage: LlmUsageOnLine,
245
- labels: LlmUsageLabels,
246
- lineIndex: number,
247
- locale = 'it-IT',
248
- ): string => {
249
- const badges = [
250
- buildUsageBadgeHtml({
251
- badgeType: 'llm',
252
- badgeClassName: 'memori-chat--usage-badge-llm',
253
- label: labels.llm,
254
- lineIndex,
255
- emoji: BADGE_EMOJI.llm,
256
- }),
257
- ];
258
-
259
- const energy = getMetricValue(usage.energyImpact?.energy);
260
- const gwp = getMetricValue(usage.energyImpact?.gwp);
261
- const wcf = getMetricValue(usage.energyImpact?.wcf);
262
-
263
- if (typeof energy === 'number') {
264
- const energyFormatted = formatImpactWithApiUnit(
265
- energy,
266
- usage.energyImpact?.energyUnit,
267
- 'kWh',
268
- 'energy',
269
- locale,
270
- );
271
- badges.push(
272
- buildUsageBadgeHtml({
273
- badgeType: 'energy',
274
- badgeClassName: 'memori-chat--usage-badge-energy',
275
- label: `${labels.energy} ${energyFormatted}`,
276
- value: escapeHtml(energyFormatted),
277
- lineIndex,
278
- emoji: BADGE_EMOJI.energy,
279
- }),
280
- );
281
- }
282
-
283
- if (typeof gwp === 'number') {
284
- const co2Formatted = formatImpactWithApiUnit(
285
- gwp,
286
- usage.energyImpact?.gwpUnit,
287
- 'kgCO2eq',
288
- 'co2',
289
- locale,
290
- );
291
- badges.push(
292
- buildUsageBadgeHtml({
293
- badgeType: 'co2',
294
- badgeClassName: 'memori-chat--usage-badge-co2',
295
- label: `${labels.co2} ${co2Formatted}`,
296
- value: escapeHtml(co2Formatted),
297
- lineIndex,
298
- emoji: BADGE_EMOJI.co2,
299
- }),
300
- );
301
- }
302
-
303
- if (typeof wcf === 'number') {
304
- const waterFormatted = formatImpactWithApiUnit(
305
- wcf,
306
- usage.energyImpact?.wcfUnit,
307
- 'L',
308
- 'water',
309
- locale,
310
- );
311
- badges.push(
312
- buildUsageBadgeHtml({
313
- badgeType: 'water',
314
- badgeClassName: 'memori-chat--usage-badge-water',
315
- label: `${labels.water} ${waterFormatted}`,
316
- value: escapeHtml(waterFormatted),
317
- lineIndex,
318
- emoji: BADGE_EMOJI.water,
319
- }),
320
- );
321
- }
322
-
323
- return `<div class="memori-chat--llm-usage" data-llm-usage><hr class="memori-chat--llm-usage-hr" /><p class="memori-chat--llm-usage-hint">${escapeHtml(
324
- labels.usageBadgesHint,
325
- )}</p><div class="memori-chat--llm-usage-badges">${badges.join(
326
- '',
327
- )}</div></div>`;
328
- };
@@ -1,217 +0,0 @@
1
- export default function () {
2
- return {
3
- extensions: [
4
- {
5
- name: 'spanTable',
6
- level: 'block', // Is this a block-level or inline-level tokenizer?
7
- start(src) {
8
- return src.match(/^\n *([^\n ].*\|.*)\n/)?.index;
9
- }, // Hint to Marked.js to stop and check for a match
10
- tokenizer(src, tokens) {
11
- // const regex = this.tokenizer.rules.block.table;
12
- const regex = new RegExp(
13
- '^ *([^\\n ].*\\|.*\\n(?: *[^\\s].*\\n)*?)' + // Header
14
- ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' + // Align
15
- '(?:\\n((?:(?! *\\n| {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})' + // Cells
16
- '(?:\\n+|$)| {0,3}#{1,6} | {0,3}>| {4}[^\\n]| {0,3}(?:`{3,}' +
17
- '(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n| {0,3}(?:[*+-]|1[.)]) |' +
18
- '<\\/?(?:address|article|aside|base|basefont|blockquote|body|' +
19
- 'caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?: +|\\n|\\/?>)|<(?:script|pre|style|textarea|!--)).*(?:\\n|$))*)\\n*|$)'
20
- ); // Cells
21
- const cap = regex.exec(src);
22
-
23
- if (cap) {
24
- const item = {
25
- type: 'spanTable',
26
- header: cap[1].replace(/\n$/, '').split('\n'),
27
- align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
28
- rows: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [],
29
- };
30
-
31
- // Get first header row to determine how many columns
32
- item.header[0] = splitCells(item.header[0]);
33
-
34
- const colCount = item.header[0].reduce((length, header) => {
35
- return length + header.colspan;
36
- }, 0);
37
-
38
- if (colCount === item.align.length) {
39
- item.raw = cap[0];
40
-
41
- let i, j, k, row;
42
-
43
- // Get alignment row (:---:)
44
- let l = item.align.length;
45
-
46
- for (i = 0; i < l; i++) {
47
- if (/^ *-+: *$/.test(item.align[i])) {
48
- item.align[i] = 'right';
49
- } else if (/^ *:-+: *$/.test(item.align[i])) {
50
- item.align[i] = 'center';
51
- } else if (/^ *:-+ *$/.test(item.align[i])) {
52
- item.align[i] = 'left';
53
- } else {
54
- item.align[i] = null;
55
- }
56
- }
57
-
58
- // Get any remaining header rows
59
- l = item.header.length;
60
- for (i = 1; i < l; i++) {
61
- item.header[i] = splitCells(
62
- item.header[i],
63
- colCount,
64
- item.header[i - 1]
65
- );
66
- }
67
-
68
- // Get main table cells
69
- l = item.rows.length;
70
- for (i = 0; i < l; i++) {
71
- item.rows[i] = splitCells(
72
- item.rows[i],
73
- colCount,
74
- item.rows[i - 1]
75
- );
76
- }
77
-
78
- // header child tokens
79
- l = item.header.length;
80
- for (j = 0; j < l; j++) {
81
- row = item.header[j];
82
- for (k = 0; k < row.length; k++) {
83
- row[k].tokens = [];
84
- this.lexer.inline(row[k].text, row[k].tokens);
85
- }
86
- }
87
-
88
- // cell child tokens
89
- l = item.rows.length;
90
- for (j = 0; j < l; j++) {
91
- row = item.rows[j];
92
- for (k = 0; k < row.length; k++) {
93
- row[k].tokens = [];
94
- this.lexer.inline(row[k].text, row[k].tokens);
95
- }
96
- }
97
- return item;
98
- }
99
- }
100
- },
101
- renderer(token) {
102
- let i, j, row, cell, col, text;
103
- let output =
104
- '<div class="memori--responsive-table-wrapper"><table class="memori--table memori--table--compact">';
105
- output += '<thead>';
106
- for (i = 0; i < token.header.length; i++) {
107
- row = token.header[i];
108
- let col = 0;
109
- output += '<tr>';
110
- for (j = 0; j < row.length; j++) {
111
- cell = row[j];
112
- text = this.parser.parseInline(cell.tokens);
113
- output += getTableCell(text, cell, 'th', token.align[col]);
114
- col += cell.colspan;
115
- }
116
- output += '</tr>';
117
- }
118
- output += '</thead>';
119
- if (token.rows.length) {
120
- output += '<tbody>';
121
- for (i = 0; i < token.rows.length; i++) {
122
- row = token.rows[i];
123
- col = 0;
124
- output += '<tr>';
125
- for (j = 0; j < row.length; j++) {
126
- cell = row[j];
127
- text = this.parser.parseInline(cell.tokens);
128
- output += getTableCell(text, cell, 'td', token.align[col]);
129
- col += cell.colspan;
130
- }
131
- output += '</tr>';
132
- }
133
- output += '</tbody>';
134
- }
135
- output += '</table></div>';
136
- return output;
137
- },
138
- },
139
- ],
140
- };
141
- }
142
-
143
- const getTableCell = (text, cell, type, align) => {
144
- if (!cell.rowspan) {
145
- return '';
146
- }
147
- const tag =
148
- `<${type}` +
149
- `${cell.colspan > 1 ? ` colspan=${cell.colspan}` : ''}` +
150
- `${cell.rowspan > 1 ? ` rowspan=${cell.rowspan}` : ''}` +
151
- `${align ? ` align=${align}` : ''}>`;
152
- return `${tag + text}</${type}>\n`;
153
- };
154
-
155
- const splitCells = (tableRow, count, prevRow = []) => {
156
- const cells = [...tableRow.matchAll(/(?:[^|\\]|\\.?)+(?:\|+|$)/g)].map(
157
- x => x[0]
158
- );
159
-
160
- // Remove first/last cell in a row if whitespace only and no leading/trailing pipe
161
- if (!cells[0]?.trim()) {
162
- cells.shift();
163
- }
164
- if (!cells[cells.length - 1]?.trim()) {
165
- cells.pop();
166
- }
167
-
168
- let numCols = 0;
169
- let i, j, trimmedCell, prevCell, prevCols;
170
-
171
- for (i = 0; i < cells.length; i++) {
172
- trimmedCell = cells[i].split(/\|+$/)[0];
173
- cells[i] = {
174
- rowspan: 1,
175
- colspan: Math.max(cells[i].length - trimmedCell.length, 1),
176
- text: trimmedCell.trim().replace(/\\\|/g, '|'),
177
- // display escaped pipes as normal character
178
- };
179
-
180
- // Handle Rowspan
181
- if (trimmedCell.slice(-1) === '^' && prevRow.length) {
182
- // Find matching cell in previous row
183
- prevCols = 0;
184
- for (j = 0; j < prevRow.length; j++) {
185
- prevCell = prevRow[j];
186
- if (prevCols === numCols && prevCell.colspan === cells[i].colspan) {
187
- // merge into matching cell in previous row (the "target")
188
- cells[i].rowSpanTarget = prevCell.rowSpanTarget ?? prevCell;
189
- cells[i].rowSpanTarget.text += ` ${cells[i].text.slice(0, -1)}`;
190
- cells[i].rowSpanTarget.rowspan += 1;
191
- cells[i].rowspan = 0;
192
- break;
193
- }
194
- prevCols += prevCell.colspan;
195
- if (prevCols > numCols) {
196
- break;
197
- }
198
- }
199
- }
200
-
201
- numCols += cells[i].colspan;
202
- }
203
-
204
- // Force main cell rows to match header column count
205
- if (numCols > count) {
206
- cells.splice(count);
207
- } else {
208
- while (numCols < count) {
209
- cells.push({
210
- colspan: 1,
211
- text: '',
212
- });
213
- numCols += 1;
214
- }
215
- }
216
- return cells;
217
- };