@memori.ai/memori-react 8.41.4 → 8.41.5

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 (187) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  3. package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  4. package/dist/components/FilePreview/FilePreview.js +1 -3
  5. package/dist/components/FilePreview/FilePreview.js.map +1 -1
  6. package/dist/components/MediaWidget/MediaItemWidget.js +1 -3
  7. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  8. package/dist/components/MediaWidget/MediaPreviewModal.js +2 -6
  9. package/dist/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  10. package/dist/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  11. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js +117 -0
  12. package/dist/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  13. package/dist/helpers/message.d.ts +1 -1
  14. package/dist/helpers/message.js +4 -4
  15. package/dist/helpers/message.js.map +1 -1
  16. package/dist/helpers/nats/natsBundled.js +13224 -0
  17. package/dist/helpers/utils.js +9 -3
  18. package/dist/helpers/utils.js.map +1 -1
  19. package/dist/version.d.ts +1 -1
  20. package/dist/version.js +1 -1
  21. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +6 -3
  22. package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
  23. package/esm/components/FilePreview/FilePreview.js +1 -3
  24. package/esm/components/FilePreview/FilePreview.js.map +1 -1
  25. package/esm/components/MediaWidget/MediaItemWidget.js +2 -4
  26. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  27. package/esm/components/MediaWidget/MediaPreviewModal.js +2 -6
  28. package/esm/components/MediaWidget/MediaPreviewModal.js.map +1 -1
  29. package/esm/components/MemoriArtifactSystem/utils/applyEdits.d.ts +8 -0
  30. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js +112 -0
  31. package/esm/components/MemoriArtifactSystem/utils/applyEdits.js.map +1 -0
  32. package/esm/helpers/message.d.ts +1 -1
  33. package/esm/helpers/message.js +2 -2
  34. package/esm/helpers/message.js.map +1 -1
  35. package/esm/helpers/nats/natsBundled.js +13225 -0
  36. package/esm/helpers/utils.js +9 -3
  37. package/esm/helpers/utils.js.map +1 -1
  38. package/esm/version.d.ts +1 -1
  39. package/esm/version.js +1 -1
  40. package/package.json +1 -1
  41. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +8 -4
  42. package/src/components/FilePreview/FilePreview.tsx +1 -3
  43. package/src/components/MediaWidget/MediaItemWidget.tsx +2 -3
  44. package/src/components/MediaWidget/MediaPreviewModal.tsx +2 -6
  45. package/src/helpers/message.test.ts +28 -1
  46. package/src/helpers/message.ts +4 -4
  47. package/src/helpers/utils.test.ts +49 -0
  48. package/src/helpers/utils.ts +16 -3
  49. package/src/version.ts +1 -1
  50. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
  51. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -36
  52. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -116
  53. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
  54. package/dist/components/DrawerFooter/DrawerFooter.css +0 -62
  55. package/dist/components/DrawerFooter/DrawerFooter.d.ts +0 -12
  56. package/dist/components/DrawerFooter/DrawerFooter.js +0 -10
  57. package/dist/components/DrawerFooter/DrawerFooter.js.map +0 -1
  58. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
  59. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -62
  60. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +0 -292
  61. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
  62. package/dist/components/PositionPopover/PositionPopover.css +0 -219
  63. package/dist/components/PositionPopover/PositionPopover.d.ts +0 -20
  64. package/dist/components/PositionPopover/PositionPopover.js +0 -187
  65. package/dist/components/PositionPopover/PositionPopover.js.map +0 -1
  66. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
  67. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -41
  68. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
  69. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +0 -690
  70. package/dist/components/layouts/fullpage.css +0 -396
  71. package/dist/helpers/usePressTooltip.d.ts +0 -13
  72. package/dist/helpers/usePressTooltip.js +0 -23
  73. package/dist/helpers/usePressTooltip.js.map +0 -1
  74. package/dist/icons/FacebookIcon.d.ts +0 -3
  75. package/dist/icons/FacebookIcon.js +0 -6
  76. package/dist/icons/FacebookIcon.js.map +0 -1
  77. package/dist/icons/LinkedinIcon.d.ts +0 -3
  78. package/dist/icons/LinkedinIcon.js +0 -6
  79. package/dist/icons/LinkedinIcon.js.map +0 -1
  80. package/dist/icons/MemoriIcon.d.ts +0 -3
  81. package/dist/icons/MemoriIcon.js +0 -8
  82. package/dist/icons/MemoriIcon.js.map +0 -1
  83. package/dist/icons/TelegramIcon.d.ts +0 -3
  84. package/dist/icons/TelegramIcon.js +0 -6
  85. package/dist/icons/TelegramIcon.js.map +0 -1
  86. package/dist/icons/TwitterIcon.d.ts +0 -3
  87. package/dist/icons/TwitterIcon.js +0 -6
  88. package/dist/icons/TwitterIcon.js.map +0 -1
  89. package/dist/icons/WhatsappIcon.d.ts +0 -3
  90. package/dist/icons/WhatsappIcon.js +0 -6
  91. package/dist/icons/WhatsappIcon.js.map +0 -1
  92. package/dist/icons/artifacts/DocumentIcon.d.ts +0 -3
  93. package/dist/icons/artifacts/DocumentIcon.js +0 -6
  94. package/dist/icons/artifacts/DocumentIcon.js.map +0 -1
  95. package/dist/icons/artifacts/HtmlIcon.d.ts +0 -3
  96. package/dist/icons/artifacts/HtmlIcon.js +0 -6
  97. package/dist/icons/artifacts/HtmlIcon.js.map +0 -1
  98. package/dist/icons/artifacts/JavascriptIcon.d.ts +0 -3
  99. package/dist/icons/artifacts/JavascriptIcon.js +0 -6
  100. package/dist/icons/artifacts/JavascriptIcon.js.map +0 -1
  101. package/dist/icons/artifacts/MarkdownIcon.d.ts +0 -3
  102. package/dist/icons/artifacts/MarkdownIcon.js +0 -6
  103. package/dist/icons/artifacts/MarkdownIcon.js.map +0 -1
  104. package/dist/icons/artifacts/PythonIcon.d.ts +0 -3
  105. package/dist/icons/artifacts/PythonIcon.js +0 -6
  106. package/dist/icons/artifacts/PythonIcon.js.map +0 -1
  107. package/dist/icons/artifacts/SvgIcon.d.ts +0 -3
  108. package/dist/icons/artifacts/SvgIcon.js +0 -6
  109. package/dist/icons/artifacts/SvgIcon.js.map +0 -1
  110. package/dist/icons/artifacts/XmlIcon.d.ts +0 -3
  111. package/dist/icons/artifacts/XmlIcon.js +0 -6
  112. package/dist/icons/artifacts/XmlIcon.js.map +0 -1
  113. package/dist/icons/artifacts/cssIcon.d.ts +0 -3
  114. package/dist/icons/artifacts/cssIcon.js +0 -6
  115. package/dist/icons/artifacts/cssIcon.js.map +0 -1
  116. package/dist/testUtils.d.ts +0 -5
  117. package/dist/testUtils.js +0 -18
  118. package/dist/testUtils.js.map +0 -1
  119. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +0 -367
  120. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +0 -36
  121. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +0 -113
  122. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +0 -1
  123. package/esm/components/DrawerFooter/DrawerFooter.css +0 -62
  124. package/esm/components/DrawerFooter/DrawerFooter.d.ts +0 -12
  125. package/esm/components/DrawerFooter/DrawerFooter.js +0 -8
  126. package/esm/components/DrawerFooter/DrawerFooter.js.map +0 -1
  127. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +0 -437
  128. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +0 -62
  129. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +0 -289
  130. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +0 -1
  131. package/esm/components/PositionPopover/PositionPopover.css +0 -219
  132. package/esm/components/PositionPopover/PositionPopover.d.ts +0 -20
  133. package/esm/components/PositionPopover/PositionPopover.js +0 -182
  134. package/esm/components/PositionPopover/PositionPopover.js.map +0 -1
  135. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.d.ts +0 -4
  136. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +0 -38
  137. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +0 -1
  138. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +0 -690
  139. package/esm/components/layouts/fullpage.css +0 -396
  140. package/esm/helpers/usePressTooltip.d.ts +0 -13
  141. package/esm/helpers/usePressTooltip.js +0 -20
  142. package/esm/helpers/usePressTooltip.js.map +0 -1
  143. package/esm/icons/FacebookIcon.d.ts +0 -3
  144. package/esm/icons/FacebookIcon.js +0 -4
  145. package/esm/icons/FacebookIcon.js.map +0 -1
  146. package/esm/icons/LinkedinIcon.d.ts +0 -3
  147. package/esm/icons/LinkedinIcon.js +0 -4
  148. package/esm/icons/LinkedinIcon.js.map +0 -1
  149. package/esm/icons/MemoriIcon.d.ts +0 -3
  150. package/esm/icons/MemoriIcon.js +0 -6
  151. package/esm/icons/MemoriIcon.js.map +0 -1
  152. package/esm/icons/TelegramIcon.d.ts +0 -3
  153. package/esm/icons/TelegramIcon.js +0 -4
  154. package/esm/icons/TelegramIcon.js.map +0 -1
  155. package/esm/icons/TwitterIcon.d.ts +0 -3
  156. package/esm/icons/TwitterIcon.js +0 -4
  157. package/esm/icons/TwitterIcon.js.map +0 -1
  158. package/esm/icons/WhatsappIcon.d.ts +0 -3
  159. package/esm/icons/WhatsappIcon.js +0 -4
  160. package/esm/icons/WhatsappIcon.js.map +0 -1
  161. package/esm/icons/artifacts/DocumentIcon.d.ts +0 -3
  162. package/esm/icons/artifacts/DocumentIcon.js +0 -4
  163. package/esm/icons/artifacts/DocumentIcon.js.map +0 -1
  164. package/esm/icons/artifacts/HtmlIcon.d.ts +0 -3
  165. package/esm/icons/artifacts/HtmlIcon.js +0 -4
  166. package/esm/icons/artifacts/HtmlIcon.js.map +0 -1
  167. package/esm/icons/artifacts/JavascriptIcon.d.ts +0 -3
  168. package/esm/icons/artifacts/JavascriptIcon.js +0 -4
  169. package/esm/icons/artifacts/JavascriptIcon.js.map +0 -1
  170. package/esm/icons/artifacts/MarkdownIcon.d.ts +0 -3
  171. package/esm/icons/artifacts/MarkdownIcon.js +0 -4
  172. package/esm/icons/artifacts/MarkdownIcon.js.map +0 -1
  173. package/esm/icons/artifacts/PythonIcon.d.ts +0 -3
  174. package/esm/icons/artifacts/PythonIcon.js +0 -4
  175. package/esm/icons/artifacts/PythonIcon.js.map +0 -1
  176. package/esm/icons/artifacts/SvgIcon.d.ts +0 -3
  177. package/esm/icons/artifacts/SvgIcon.js +0 -4
  178. package/esm/icons/artifacts/SvgIcon.js.map +0 -1
  179. package/esm/icons/artifacts/XmlIcon.d.ts +0 -3
  180. package/esm/icons/artifacts/XmlIcon.js +0 -4
  181. package/esm/icons/artifacts/XmlIcon.js.map +0 -1
  182. package/esm/icons/artifacts/cssIcon.d.ts +0 -3
  183. package/esm/icons/artifacts/cssIcon.js +0 -4
  184. package/esm/icons/artifacts/cssIcon.js.map +0 -1
  185. package/esm/testUtils.d.ts +0 -5
  186. package/esm/testUtils.js +0 -15
  187. package/esm/testUtils.js.map +0 -1
@@ -251,9 +251,15 @@ export const stripReasoningTags = (text) => {
251
251
  return strippedText;
252
252
  };
253
253
  export const stripHTML = (text) => {
254
- const el = document.createElement('div');
255
- el.innerHTML = text;
256
- return el.textContent || '';
254
+ if (typeof DOMParser !== 'undefined') {
255
+ try {
256
+ return (new DOMParser().parseFromString(text, 'text/html').body.textContent ||
257
+ '');
258
+ }
259
+ catch (_a) {
260
+ }
261
+ }
262
+ return text.replace(/<[^>]*>/g, '');
257
263
  };
258
264
  export const withLinksOpenInNewTab = (html) => html.replace(/<a\s+/gi, '<a target="_blank" rel="noopener noreferrer" ');
259
265
  export const escapeHTML = (text) => {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAY,oBAAoB,EAAe,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE;IAC1C,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QACrE,OAAO,cAAc,CAAC;KACvB;IAED,IAAI,gBAAgB,IAAI,SAAS,EAAE;QACjC,cAAc,GAAG,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC;KAC/C;SAAM,IAAI,kBAAkB,IAAI,SAAS,EAAE;QAC1C,cAAc,GAAI,SAAiB,CAAC,gBAAgB,GAAG,CAAC,CAAC;KAC1D;SAAM;QACL,MAAM,EAAE,GACN,MAAM,IAAI,YAAY,IAAI,MAAM,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACrE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,kBAAkB,EAAE;YACzC,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;SAC/B;aAAM,IAAI,aAAa,IAAI,MAAM,EAAE;YAClC,cAAc,GAAG,IAAI,CAAC;SACvB;aAAM;YAEL,IAAI,EAAE,GAAI,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,SAAS,CAAC;YACvC,cAAc;gBACZ,yCAAyC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClD,wCAAwC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrD;KACF;IAGD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAGF,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAOxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAY,EAAE;IAC5C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QACrE,OAAO,KAAK,CAAC;KACd;IACD,IAAI,CAAC,cAAc,EAAE,EAAE;QACrB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,GAAG,CAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,SAAS,KAAI,EAAE,CAAC;IAC/C,IACE,sEAAsE,CAAC,IAAI,CACzE,EAAE,CACH,EACD;QACA,OAAO,IAAI,CAAC;KACb;IAED,OAAO,MAAM,CAAC,UAAU,IAAI,0BAA0B,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAY,EAAE;;IACjC,IAAI,QAAQ,GACV,CAAA,MAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,aAAa,0CAAE,QAAQ;SAC3C,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA;QACnB,SAAS,CAAC;IACZ,IAAI,SAAS,GAAG,CAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,SAAS,KAAI,SAAS,CAAC;IAE3D,IAAI,KAAK,GACP;QACE,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;QAChB,MAAM;QACN,QAAQ;QACR,MAAM;KACP,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAEpB,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,IAAI,QAAQ,CAAC,CAAC;IAE1D,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAY,EAAE;;IACrC,IAAI,QAAQ,GACV,CAAA,MAAC,SAAiB,aAAjB,SAAS,uBAAT,SAAS,CAAU,aAAa,0CAAE,QAAQ;SAC3C,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA;QACnB,SAAS,CAAC;IAEZ,IAAI,SAAS,GACX,QAAQ,CAAC,WAAW,EAAE,KAAK,SAAS;QACpC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAG1C,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAY,EAAE;IACpC,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAEnD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,QAAQ,IAAI,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;IAE7D,OAAO,UAAU,IAAI,QAAQ,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAY,EAAE;IACvC,IAAI,OAAO,SAAS,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAEnD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACtC,OAAO,CACL,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5B,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC7B,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CACnC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAEnB,gFAAgF,CAAC;AACnF,MAAM,CAAC,MAAM,SAAS,GAAG,gDAAgD,CAAC;AAC1E,MAAM,CAAC,MAAM,aAAa,GAAG,yCAAyC,CAAC;AACvE,MAAM,CAAC,MAAM,aAAa,GAAG,+BAA+B,CAAC;AAE7D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,IAAI;QACF,OAAO,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;KAC9B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CAAI,KAAQ,EAAE,KAAa;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAI,KAAK,CAAC,CAAC;IAE/D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,EAAK,EACL,KAAa;IAEb,MAAM,SAAS,GAAG,MAAM,EAAsB,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAM,CAAW,IAAI,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,EAAE,CAAC;QACxB,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAET,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE;QACtB,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEhC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACzC,IAAI,UAAU,CAAC,OAAO,EAAE;gBACtB,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;aAC7B;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC,CAAiB,EACpB,CAAC,KAAK,CAAC,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;IAC9C,IACE,IAAI;SACD,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACzB,IAAI,EAAE;SACN,WAAW,EAAE;QAChB,IAAI;aACD,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;aAC1B,IAAI,EAAE;aACN,WAAW,EAAE;QAEhB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE;IAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;IAE5C,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAE9C,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAEvC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAEpD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAEvD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEpC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAErC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEpC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAElC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC3C,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAE7C,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEzC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IAEhD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,QAAgB,EAAW,EAAE;;IAClE,MAAM,GAAG,GAAG,IAAI,CAAA,MAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,0CAAE,WAAW,EAAE,KAAI,EAAE,EAAE,CAAC;IACjE,OAAQ,sBAA4C,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACrE,CAAC,CAAC;AASF,MAAM,yBAAyB,GAC7B,2FAA2F,CAAC;AAE9F,MAAM,2BAA2B,GAC/B,sDAAsD,CAAC;AAEzD,MAAM,CAAC,MAAM,mCAAmC,GAAG,CACjD,IAAY,EACgB,EAAE;;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,WAAW,GAA+B,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;QAC1C,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,0CAAE,IAAI,EAAE,KAAI,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtD,WAAW,CAAC,IAAI,CAAC;YACf,QAAQ;YACR,IAAI;YACJ,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;YACvB,GAAG;SACJ,CAAC,CAAC;KACJ;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAY,EAAE;IAClE,OAAO,mCAAmC,CAAC,OAAO,CAAC,CAAC,GAAG,CACrD,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAiB,EAAE;;IACtE,MAAM,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAC1B,sDAAsD,CACvD,CAAC;IACF,MAAM,MAAM,GAAG,CAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,0CAAE,IAAI,EAAE,KAAI,EAAE,CAAC;IACxC,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAY,EAAU,EAAE;IAClE,MAAM,0BAA0B,GAAG,2FAA2F,CAAC;IAC/H,OAAO,IAAI;SACR,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC;SACzC,OAAO,CAAC,yDAAyD,EAAE,EAAE,CAAC;SACtE,OAAO,CAAC,qDAAqD,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,UAG7C,EAAU,EAAE;;IACX,OAAA,CAAA,MAAA,UAAU,CAAC,GAAG,0CAAE,IAAI,EAAE;QACtB,qBAAqB,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QAC/C,EAAE,CAAA;CAAA,CAAC;AAEL,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,UAK7C,EAAW,EAAE;IACZ,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3D,MAAM,QAAQ,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5B,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO;QACxC,CAAC,CAAC,2BAA2B,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;QACxD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CAAC,eAAe,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE;IACtD,MAAM,cAAc,GAAG,wBAAwB,CAAC;IAEhD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACb;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAGtD,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE;IACjD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;IAEjD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACjC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAGzD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;IACxC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC;AAC9B,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5D,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,+CAA+C,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC9C,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,CAAC,SAAS,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,SAAiB,EACjB,IAAwB,EACxB,EAAE;IACF,IAAI;QACF,IAAI,IAAI,EAAE;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;SAC5B;QACD,OAAO,EAAE,CAAC;KACX;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IAEjD,IAAI,gBAAgB,GAAG,OAAO,CAAC;IAE/B,IAAI,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE;QAClC,gBAAgB,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;KACpE;IAED,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,aAAa,EAAE;QACtD,gBAAgB,GAAG,gBAAgB;aAChC,KAAK,CAAC,GAAG,CAAC;aACV,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;aACvB,IAAI,CAAC,GAAG,CAAC;aACT,MAAM,CAAC,YAAY,CAAC,CAAC;KACzB;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAA2B,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAChC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YACxB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAA+B,EAC/B,MAA8B,EACN,EAAE,CAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACxC,IAAI,IAAI,GAA2B,EAAE,GAAG,KAAK,EAAE,CAAC;IAEhD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,EAAE;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;KACzB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,EAAE,EAAE,CAAC,CAAC;AAET,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,IAAI;QACF,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC7C;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE;QACP,QAAQ,EAAE,CAAC,8BAA8B,CAAC;KAC3C;IACD,OAAO,EAAE;QACP,gBAAgB,EAAE,6BAA6B;KAChD;IACD,GAAG,EAAE;QACH,UAAU,EAAE;YACV,CAAC,GAAG,EAAE,GAAG,CAAC;YACV,CAAC,KAAK,EAAE,KAAK,CAAC;SACf;QACD,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,cAAc,EAAE,IAAI;KACrB;IACD,SAAS,EAAE;QACT,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,GAAG;KACjB;IACD,kBAAkB,EAAE,IAAI;IACxB,KAAK,EAAE;QACL,YAAY,EAAE,MAAM;KACrB;IACD,GAAG,EAAE;QACH,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,GAAG,6DAA6D,CAAC;IAC3E,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,gBAAgB,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAEjC,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC;IAE/B,oBAAoB,EAAE,CAAC;AACzB,CAAC,CAAC;AAOF,MAAM,UAAU,gBAAgB,CAAC,SAAsC;IACrE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC1C,IAAI,QAAQ,YAAY,oBAAoB,EAAE;YAE5C,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;YACzB,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC;YAGzB,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;YAGxB,IAAI,QAAQ,CAAC,GAAG,EAAE;gBAChB,QAAQ,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC;aAC9B;SACF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AASD,MAAM,UAAU,aAAa,CAAC,MAAW;IACvC,OAAO,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC;AACvC,CAAC;AAQD,MAAM,UAAU,aAAa,CAAC,MAAW;IACvC,IAAI,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,YAAY,KAAK,CAAC,cAAc,EAAE;QAC3E,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;KAC3B;IAED,IAAI,UAAU,IAAI,MAAM,EAAE;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;gBAClC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAa,EAAE,EAAE;oBACxC,IAAI,QAAQ,YAAY,KAAK,CAAC,QAAQ,EAAE;wBACtC,QAAQ,CAAC,OAAO,EAAE,CAAC;qBACpB;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,YAAY,KAAK,CAAC,QAAQ,EAAE;gBAC9D,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC3B;SACF;KACF;IAED,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;KACxC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,cAAc,GAAG,KAAK,EAAE,EAAE;IAC1E,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;KAC/B;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;KAC3C;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
package/esm/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const version = "8.41.4";
1
+ export declare const version = "8.41.5";
package/esm/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '8.41.4';
1
+ export const version = '8.41.5';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "8.41.4",
2
+ "version": "8.41.5",
3
3
  "name": "@memori.ai/memori-react",
4
4
  "author": "Memori Srl",
5
5
  "main": "dist/index.js",
@@ -35,17 +35,21 @@ const PROVIDER_CONFIGS: Record<string, ProviderConfig> = {
35
35
  statusPage: 'https://status.mistral-data.com/',
36
36
  apiComponentName: ['Mistral'],
37
37
  },
38
+ // Use status.claude.com directly: status.anthropic.com 302-redirects and
39
+ // browsers block the redirected response (missing CORS on the redirect).
38
40
  Anthropic: {
39
- statusUrl: 'https://status.anthropic.com/api/v2/summary.json',
40
- statusPage: 'https://status.anthropic.com/',
41
- apiComponentName: ['api.anthropic.com'],
41
+ statusUrl: 'https://status.claude.com/api/v2/summary.json',
42
+ statusPage: 'https://status.claude.com/',
43
+ apiComponentName: [
44
+ 'Claude API (api.anthropic.com)',
45
+ 'api.anthropic.com',
46
+ ],
42
47
  },
43
48
  };
44
49
 
45
50
  // Modified to handle fetch errors, different component names, and check incidents
46
51
  const fetchProviderStatus = async (config: ProviderConfig): Promise<Status> => {
47
52
  try {
48
- // Use cross-fetch instead of native fetch
49
53
  const response = await fetch(config.statusUrl);
50
54
  if (!response.ok) {
51
55
  console.warn(`Status API returned ${response.status}`);
@@ -126,9 +126,7 @@ const FilePreview = ({
126
126
  if (isHtmlFile(file)) {
127
127
  let htmlContent = content;
128
128
  if (htmlContent.includes('&lt;') || htmlContent.includes('&quot;')) {
129
- const div = document.createElement('div');
130
- div.innerHTML = htmlContent;
131
- htmlContent = div.textContent || div.innerText || htmlContent;
129
+ htmlContent = stripHTML(htmlContent) || htmlContent;
132
130
  }
133
131
  htmlContent = stripDocumentAttachmentTags(htmlContent);
134
132
  return htmlContent;
@@ -11,6 +11,7 @@ import React, {
11
11
  import { getResourceUrl } from '../../helpers/media';
12
12
  import {
13
13
  withLinksOpenInNewTab,
14
+ stripHTML,
14
15
  stripDocumentAttachmentTags,
15
16
  isAssetOnlyDocumentAttachment,
16
17
  getDocumentAttachmentAssetUrl,
@@ -433,9 +434,7 @@ export const RenderMediaItem = memo(function RenderMediaItem({
433
434
  htmlContent.includes('<document_attachment')
434
435
  ) {
435
436
  if (htmlContent.includes('&lt;') || htmlContent.includes('&quot;')) {
436
- const div = document.createElement('div');
437
- div.innerHTML = htmlContent;
438
- htmlContent = div.textContent || div.innerText || htmlContent;
437
+ htmlContent = stripHTML(htmlContent) || htmlContent;
439
438
  }
440
439
  htmlContent = stripDocumentAttachmentTags(htmlContent);
441
440
  }
@@ -274,9 +274,7 @@ export function MediaPreviewModal({
274
274
  // HTML document attachment: display HTML content in a code-like format
275
275
  let htmlContent = medium.content || '';
276
276
  if (htmlContent.includes('&lt;') || htmlContent.includes('&quot;')) {
277
- const div = document.createElement('div');
278
- div.innerHTML = htmlContent;
279
- htmlContent = div.textContent || div.innerText || htmlContent;
277
+ htmlContent = stripHTML(htmlContent) || htmlContent;
280
278
  } else {
281
279
  htmlContent = stripDocumentAttachmentTags(htmlContent);
282
280
  }
@@ -296,9 +294,7 @@ export function MediaPreviewModal({
296
294
  // Other document attachments: render as plain text
297
295
  let displayContent = medium.content;
298
296
  if (displayContent.includes('&lt;') || displayContent.includes('&quot;')) {
299
- const div = document.createElement('div');
300
- div.innerHTML = displayContent;
301
- displayContent = div.textContent || div.innerText || displayContent;
297
+ displayContent = stripHTML(displayContent) || displayContent;
302
298
  } else {
303
299
  displayContent = stripDocumentAttachmentTags(displayContent);
304
300
  }
@@ -1,4 +1,24 @@
1
- import { renderMsg, stripAttachmentTags, stripAllInternalTags } from './message';
1
+ import {
2
+ renderMsg,
3
+ sanitizeMsg,
4
+ stripAttachmentTags,
5
+ stripAllInternalTags,
6
+ } from './message';
7
+
8
+ describe('sanitizeMsg', () => {
9
+ it('strips onerror from partner XSS img payload', () => {
10
+ const payload =
11
+ '<img src="immagine-inesistente.jpg" onerror="alert(\'XSS Eseguito!\')">';
12
+ const result = sanitizeMsg(payload);
13
+ expect(result).toBe('<img src="immagine-inesistente.jpg">');
14
+ expect(result).not.toMatch(/onerror/i);
15
+ });
16
+
17
+ it('strips svg onload handlers', () => {
18
+ const result = sanitizeMsg('<svg onload="alert(1)"></svg>');
19
+ expect(result).not.toMatch(/onload/i);
20
+ });
21
+ });
2
22
 
3
23
  describe('renderMsg', () => {
4
24
  it('should render message with reasoning and output tag adjacent correctly', () => {
@@ -11,6 +31,13 @@ describe('renderMsg', () => {
11
31
  '<details class="memori-think"><summary>Reasoning...</summary>L\'utente vuole che io elenchi i parametri dell\'ALBERO ESISTENTE.</details>\n\n<output class="rails-query" style="display:none">\nproject = Project.find("68d99b05783713e16737d32b")\n</output>\n\n<p>Recupero tutti i 7 parametri dell\'ALBERO ESISTENTE...</p>'
12
32
  );
13
33
  });
34
+
35
+ it('strips onerror from XSS img payload in rendered output', () => {
36
+ const payload =
37
+ '<img src="immagine-inesistente.jpg" onerror="alert(\'XSS Eseguito!\')">';
38
+ const result = renderMsg(payload, false, 'Reasoning...', false);
39
+ expect(result.text).not.toMatch(/onerror/i);
40
+ });
14
41
  });
15
42
 
16
43
  describe('stripAttachmentTags', () => {
@@ -85,6 +85,9 @@ export const truncateMessage = (message: string) => {
85
85
  return truncatedMessage;
86
86
  };
87
87
 
88
+ export const sanitizeMsg = (msg: string) =>
89
+ DOMPurify.sanitize(msg, { ADD_ATTR: ['target'] });
90
+
88
91
  export const renderMsg = (
89
92
  text: string,
90
93
  useMathFormatting = false,
@@ -196,9 +199,6 @@ export const renderMsg = (
196
199
  return { text: finalText };
197
200
  } catch (e) {
198
201
  console.error('Error rendering message:', e);
199
- return { text };
202
+ return { text: sanitizeMsg(text) };
200
203
  }
201
204
  };
202
-
203
- export const sanitizeMsg = (msg: string) =>
204
- DOMPurify.sanitize(msg, { ADD_ATTR: ['target'] });
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  difference,
3
3
  stripEmojis,
4
+ stripHTML,
4
5
  stripMarkdown,
5
6
  stripOutputTags,
6
7
  escapeHTML,
@@ -254,6 +255,54 @@ describe('utils/attachment helpers', () => {
254
255
  });
255
256
  });
256
257
 
258
+ describe('utils/stripHTML', () => {
259
+ it('strips tags and returns text content', () => {
260
+ expect(stripHTML('<p>Hello <strong>world</strong></p>')).toBe(
261
+ 'Hello world'
262
+ );
263
+ });
264
+
265
+ it('does not retain onerror from partner XSS payload', () => {
266
+ const payload =
267
+ '<img src="immagine-inesistente.jpg" onerror="alert(\'XSS Eseguito!\')">';
268
+ const result = stripHTML(payload);
269
+ expect(result).toBe('');
270
+ expect(result).not.toMatch(/onerror/i);
271
+ // Re-parse result: must not introduce an executable handler attribute
272
+ const reparsed = new DOMParser().parseFromString(result, 'text/html');
273
+ expect(reparsed.querySelector('[onerror]')).toBeNull();
274
+ expect(reparsed.querySelector('img')).toBeNull();
275
+ });
276
+
277
+ it('strips svg onload payloads without leaving handlers', () => {
278
+ const payload = '<svg onload="alert(1)"><text>x</text></svg>';
279
+ const result = stripHTML(payload);
280
+ expect(result).toBe('x');
281
+ expect(result).not.toMatch(/onload/i);
282
+ });
283
+
284
+ it('decodes HTML entities without executing nested markup', () => {
285
+ const encoded =
286
+ '&lt;img src="x" onerror="alert(1)"&gt;hello&lt;/img&gt;';
287
+ const result = stripHTML(encoded);
288
+ expect(result).toContain('hello');
289
+ // Entity-decoded text may contain the string "onerror" as text; ensure no live element
290
+ const reparsed = new DOMParser().parseFromString(
291
+ `<div>${result.replace(/</g, '&lt;')}</div>`,
292
+ 'text/html'
293
+ );
294
+ expect(reparsed.querySelector('[onerror]')).toBeNull();
295
+ });
296
+
297
+ it('handles nested tags', () => {
298
+ expect(stripHTML('<div><span>a</span><b>b</b></div>')).toBe('ab');
299
+ });
300
+
301
+ it('returns empty string for empty input', () => {
302
+ expect(stripHTML('')).toBe('');
303
+ });
304
+ });
305
+
257
306
  describe('utils/parsing combined', () => {
258
307
  it('should remove output tag from real message', () => {
259
308
  const result = escapeHTML(
@@ -363,10 +363,23 @@ export const stripReasoningTags = (text: string) => {
363
363
  return strippedText;
364
364
  };
365
365
 
366
+ /**
367
+ * Strip HTML tags / decode entities without executing scripts or event handlers.
368
+ * Uses an inert DOMParser document (no resource loads / onerror), unlike live innerHTML.
369
+ */
366
370
  export const stripHTML = (text: string) => {
367
- const el = document.createElement('div');
368
- el.innerHTML = text;
369
- return el.textContent || '';
371
+ if (typeof DOMParser !== 'undefined') {
372
+ try {
373
+ return (
374
+ new DOMParser().parseFromString(text, 'text/html').body.textContent ||
375
+ ''
376
+ );
377
+ } catch {
378
+ // fall through
379
+ }
380
+ }
381
+ // Non-DOM / parse failure: strip tags only (does not decode entities)
382
+ return text.replace(/<[^>]*>/g, '');
370
383
  };
371
384
 
372
385
  /** Ensures all <a> tags in HTML open in a new tab (target="_blank" rel="noopener noreferrer"). */
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // This file is auto-generated. Do not edit manually.
2
- export const version = '8.41.4';
2
+ export const version = '8.41.5';