@memori.ai/memori-react 8.34.0 → 8.35.1

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 (57) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.css +7 -1
  3. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +4 -1
  4. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +3 -3
  5. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  6. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +139 -89
  7. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  8. package/dist/components/MemoriWidget/MemoriWidget.js +10 -8
  9. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  10. package/dist/components/MicrophoneButton/MicrophoneButton.css +1 -0
  11. package/dist/components/MobileSessionPanel/MobileSessionPanel.css +377 -0
  12. package/dist/components/MobileSessionPanel/MobileSessionPanel.d.ts +57 -0
  13. package/dist/components/MobileSessionPanel/MobileSessionPanel.js +159 -0
  14. package/dist/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -0
  15. package/dist/components/PositionPopover/PositionPopover.css +107 -112
  16. package/dist/components/PositionPopover/PositionPopover.js +23 -18
  17. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  18. package/dist/components/StartPanel/StartPanel.js +1 -0
  19. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  20. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +2 -2
  21. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  22. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +23 -25
  23. package/dist/components/layouts/fullpage.css +21 -9
  24. package/dist/version.d.ts +1 -1
  25. package/dist/version.js +1 -1
  26. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +7 -1
  27. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +4 -1
  28. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +4 -4
  29. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  30. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +139 -89
  31. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  32. package/esm/components/MemoriWidget/MemoriWidget.js +10 -8
  33. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  34. package/esm/components/MicrophoneButton/MicrophoneButton.css +1 -0
  35. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +377 -0
  36. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +57 -0
  37. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +157 -0
  38. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -0
  39. package/esm/components/PositionPopover/PositionPopover.css +107 -112
  40. package/esm/components/PositionPopover/PositionPopover.js +25 -20
  41. package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
  42. package/esm/components/StartPanel/StartPanel.js +1 -0
  43. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  44. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +2 -2
  45. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  46. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +23 -25
  47. package/esm/components/layouts/fullpage.css +21 -9
  48. package/esm/version.d.ts +1 -1
  49. package/esm/version.js +1 -1
  50. package/package.json +2 -2
  51. package/src/components/Chat/Chat.stories.tsx +127 -1
  52. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +300 -162
  53. package/src/components/MemoriWidget/MemoriWidget.tsx +5 -3
  54. package/src/components/MicrophoneButton/MicrophoneButton.css +1 -0
  55. package/src/components/StartPanel/StartPanel.tsx +1 -0
  56. package/src/mocks/data.ts +143 -13
  57. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
 
2
2
 
3
+ ## [8.35.1](https://github.com/memori-ai/memori-react/compare/v8.35.0...v8.35.1) (2026-04-29)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * update login button visibility logic in MemoriWidget component ([f80da5c](https://github.com/memori-ai/memori-react/commit/f80da5ca22075ad299d54c4808f94c709e850369))
9
+
10
+ ## [8.35.0](https://github.com/memori-ai/memori-react/compare/v8.34.0...v8.35.0) (2026-04-28)
11
+
12
+
13
+ ### Features
14
+
15
+ * implement enhanced artifact detection and processing in ArtifactHandler component ([00d0b36](https://github.com/memori-ai/memori-react/commit/00d0b36803a5a8584de4397301a08e12c1413f82))
16
+
17
+
18
+ ### Maintenance
19
+
20
+ * enhance artifact handling in Chat component with new test cases ([d64f5cb](https://github.com/memori-ai/memori-react/commit/d64f5cb2f65b30a0ce81cf1564cb67053e59f94f))
21
+ * update [@memori](https://github.com/memori).ai/memori-api-client to version 6.22.0 ([a425cec](https://github.com/memori-ai/memori-react/commit/a425cec379a9086ea12b1407f718c7de3a01d46f))
22
+
3
23
  ## [8.34.0](https://github.com/memori-ai/memori-react/compare/v8.33.0...v8.34.0) (2026-04-20)
4
24
 
5
25
 
@@ -293,12 +293,18 @@
293
293
  display: flex;
294
294
  flex-direction: column;
295
295
  flex-shrink: 0;
296
- padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
296
+ padding: 16px 24px;
297
+ margin-bottom: 1rem;
297
298
  /* border-top: 0.5px solid var(--color-border-tertiary, var(--memori-border-color, #e5e7eb)); */
298
299
  background: var(--memori-main-background);
299
300
  gap: 12px;
300
301
  }
301
302
 
303
+ .memori-chat-history-drawer--header-download-button {
304
+ display: flex;
305
+ align-self: baseline;
306
+ }
307
+
302
308
  .memori-chat-resume-drawer--chips-row {
303
309
  display: flex;
304
310
  flex-wrap: wrap;
@@ -1,3 +1,5 @@
1
+ import React from 'react';
2
+ import { ChatLog } from '@memori.ai/memori-api-client/dist/types';
1
3
  import './ChatResumeDrawer.css';
2
4
  export interface ResumeDrawerMessage {
3
5
  id: string;
@@ -16,6 +18,7 @@ export interface ChatResumeDrawerProps {
16
18
  isOpen: boolean;
17
19
  onClose: () => void;
18
20
  onBack?: () => void;
21
+ onExportChat: (chatLog: ChatLog, e: React.MouseEvent) => void;
19
22
  embedded?: boolean;
20
23
  session: {
21
24
  title: string;
@@ -30,5 +33,5 @@ export interface ChatResumeDrawerProps {
30
33
  onResume: (prompt?: string) => void;
31
34
  isLoading?: boolean;
32
35
  }
33
- declare const ChatResumeDrawer: ({ isOpen, onClose, onBack, embedded, session, onResume, isLoading, }: ChatResumeDrawerProps) => JSX.Element | null;
36
+ declare const ChatResumeDrawer: ({ isOpen, onClose, onBack, embedded, session, onResume, isLoading, onExportChat, }: ChatResumeDrawerProps) => JSX.Element | null;
34
37
  export default ChatResumeDrawer;
@@ -25,7 +25,7 @@ const stripMarkdownChars = (value) => {
25
25
  .trim();
26
26
  };
27
27
  const escapeAttachmentAttr = (value) => value.replaceAll('"', '"');
28
- const ChatResumeDrawer = ({ isOpen, onClose, onBack, embedded = false, session, onResume, isLoading = false, }) => {
28
+ const ChatResumeDrawer = ({ isOpen, onClose, onBack, embedded = false, session, onResume, isLoading = false, onExportChat, }) => {
29
29
  const panelRef = (0, react_1.useRef)(null);
30
30
  const backButtonRef = (0, react_1.useRef)(null);
31
31
  const [shouldRender, setShouldRender] = (0, react_1.useState)(isOpen);
@@ -95,9 +95,9 @@ const ChatResumeDrawer = ({ isOpen, onClose, onBack, embedded = false, session,
95
95
  }), [session.messages]);
96
96
  if (!embedded && !shouldRender)
97
97
  return null;
98
- const content = ((0, jsx_runtime_1.jsxs)("div", { ref: panelRef, className: `memori-chat-resume-drawer--panel ${embedded ? 'memori-chat-resume-drawer--panel-embedded' : ''}`, onClick: event => event.stopPropagation(), children: [(0, jsx_runtime_1.jsxs)("header", { className: "memori-chat-resume-drawer--header", children: [(0, jsx_runtime_1.jsx)(ui_1.Button, { ref: backButtonRef, variant: "ghost", type: "button", className: "memori-chat-resume-drawer--header-icon-button", onClick: onBack || onClose, "aria-label": "Back", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowLeft, { size: 16 }) }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-resume-drawer--header-main", children: [(0, jsx_runtime_1.jsx)("h2", { className: "memori-chat-resume-drawer--title", title: safeTitle, children: safeTitle }), (0, jsx_runtime_1.jsx)("p", { className: "memori-chat-resume-drawer--subtitle", children: session.subtitle })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-resume-drawer--thread", children: [isLoading && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--skeletons", children: [0, 1, 2].map(item => ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--skeleton-bubble" }, item))) })), !isLoading && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--embedded-chat", children: (0, jsx_runtime_1.jsx)(Chat_1.default, { memori: EMPTY_MEMORI, sessionID: "chat-resume-drawer", history: history, pushMessage: NOOP, simulateUserPrompt: NOOP, setSendOnEnter: NOOP, setAttachmentsMenuOpen: NOOP, onChangeUserMessage: NOOP, sendMessage: NOOP, setEnableFocusChatInput: NOOP, stopAudio: NOOP, startListening: NOOP, stopListening: NOOP, showInputs: false, showAIicon: true, showCopyButton: true, isHistoryView: true }) }))] }), (0, jsx_runtime_1.jsx)("footer", { className: "memori-chat-resume-drawer--actions", children: (0, jsx_runtime_1.jsxs)(ui_1.Button, { className: "memori-chat-resume-drawer--resume-cta", variant: "primary", onClick: () => onResume(), children: ["Riprendi conversazione ", (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowUpRight, { size: 16 })] }) })] }));
98
+ const content = ((0, jsx_runtime_1.jsxs)("div", { ref: panelRef, className: `memori-chat-resume-drawer--panel ${embedded ? 'memori-chat-resume-drawer--panel-embedded' : ''}`, onClick: event => event.stopPropagation(), children: [(0, jsx_runtime_1.jsxs)("header", { className: "memori-chat-resume-drawer--header", children: [(0, jsx_runtime_1.jsx)(ui_1.Button, { ref: backButtonRef, variant: "ghost", type: "button", className: "memori-chat-resume-drawer--header-icon-button", onClick: onBack || onClose, "aria-label": "Back", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowLeft, { size: 16 }) }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-resume-drawer--header-main", children: [(0, jsx_runtime_1.jsx)("h2", { className: "memori-chat-resume-drawer--title", title: safeTitle, children: safeTitle }), (0, jsx_runtime_1.jsx)("p", { className: "memori-chat-resume-drawer--subtitle", children: session.subtitle })] }), (0, jsx_runtime_1.jsx)(ui_1.Button, { variant: "ghost", size: "sm", className: "memori-chat-history-drawer--header-download-button", "aria-label": "Download", title: "Download", icon: (0, jsx_runtime_1.jsx)(lucide_react_1.Download, {}), onClick: (e) => onExportChat(session, e) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-resume-drawer--thread", children: [isLoading && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--skeletons", children: [0, 1, 2].map(item => ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--skeleton-bubble" }, item))) })), !isLoading && ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--embedded-chat", children: (0, jsx_runtime_1.jsx)(Chat_1.default, { memori: EMPTY_MEMORI, sessionID: "chat-resume-drawer", history: history, pushMessage: NOOP, simulateUserPrompt: NOOP, setSendOnEnter: NOOP, setAttachmentsMenuOpen: NOOP, onChangeUserMessage: NOOP, sendMessage: NOOP, setEnableFocusChatInput: NOOP, stopAudio: NOOP, startListening: NOOP, stopListening: NOOP, showInputs: false, showAIicon: true, showCopyButton: true, isHistoryView: true }) }))] }), (0, jsx_runtime_1.jsx)("footer", { className: "memori-chat-resume-drawer--actions", children: (0, jsx_runtime_1.jsxs)(ui_1.Button, { className: "memori-chat-resume-drawer--resume-cta", variant: "primary", onClick: () => onResume(), children: ["Riprendi conversazione ", (0, jsx_runtime_1.jsx)(lucide_react_1.ArrowUpRight, { size: 16 })] }) })] }));
99
99
  if (embedded) {
100
- return (0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--embedded-shell", children: content });
100
+ return ((0, jsx_runtime_1.jsx)("div", { className: "memori-chat-resume-drawer--embedded-shell", children: content }));
101
101
  }
102
102
  return ((0, jsx_runtime_1.jsxs)("div", { className: `memori-chat-resume-drawer ${isVisible ? 'memori-chat-resume-drawer--open' : ''}`, role: "dialog", "aria-modal": "true", "aria-label": "Riprendi conversazione", children: [(0, jsx_runtime_1.jsx)(ui_1.Button, { className: "memori-chat-resume-drawer--backdrop", type: "button", "aria-label": "Close resume drawer", onClick: onClose }), content] }));
103
103
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ChatResumeDrawer.js","sourceRoot":"","sources":["../../../src/components/ChatHistoryDrawer/ChatResumeDrawer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatResumeDrawer.js","sourceRoot":"","sources":["../../../src/components/ChatHistoryDrawer/ChatResumeDrawer.tsx"],"names":[],"mappings":"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"}
@@ -10,84 +10,143 @@ const ChevronDown_1 = tslib_1.__importDefault(require("../../../icons/ChevronDow
10
10
  const ChevronLeft_1 = tslib_1.__importDefault(require("../../../icons/ChevronLeft"));
11
11
  const ChevronUp_1 = tslib_1.__importDefault(require("../../../icons/ChevronUp"));
12
12
  const utils_1 = require("../../../../helpers/utils");
13
+ const formatBytes = (bytes) => {
14
+ if (bytes === 0)
15
+ return '0 Bytes';
16
+ const k = 1024;
17
+ const sizes = ['Bytes', 'KB', 'MB'];
18
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
19
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
20
+ };
21
+ const hashContent = (str) => {
22
+ let hash = 0;
23
+ const len = Math.min(str.length, 200);
24
+ for (let i = 0; i < len; i++) {
25
+ hash = (hash << 5) - hash + str.charCodeAt(i);
26
+ hash |= 0;
27
+ }
28
+ return Math.abs(hash).toString(36);
29
+ };
30
+ const CLASS_ATTR_RE = /class\s*=\s*["']([^"']*)["']/i;
31
+ const hasMemoriArtifactClass = (openingTag) => {
32
+ const m = openingTag.match(CLASS_ATTR_RE);
33
+ if (!m)
34
+ return false;
35
+ return /\bmemori-artifact\b/.test(m[1]);
36
+ };
37
+ const detectArtifacts = (text, isFromUser, messageKey) => {
38
+ var _a;
39
+ if (!text || isFromUser)
40
+ return [];
41
+ const cleaned = (0, utils_1.stripReasoningTags)(text);
42
+ const artifacts = [];
43
+ let searchFrom = 0;
44
+ let artifactNum = 0;
45
+ const OPEN_TAG_RE = /<output\b([^>]*)>/gi;
46
+ while (searchFrom < cleaned.length) {
47
+ OPEN_TAG_RE.lastIndex = searchFrom;
48
+ const openMatch = OPEN_TAG_RE.exec(cleaned);
49
+ if (!openMatch)
50
+ break;
51
+ const fullOpenTag = openMatch[0];
52
+ const openStart = openMatch.index;
53
+ const openEnd = openStart + fullOpenTag.length;
54
+ if (!hasMemoriArtifactClass(fullOpenTag)) {
55
+ searchFrom = openEnd;
56
+ continue;
57
+ }
58
+ let depth = 1;
59
+ let pos = openEnd;
60
+ let closeStart = -1;
61
+ while (pos < cleaned.length && depth > 0) {
62
+ const nextOpen = cleaned.indexOf('<output', pos);
63
+ const nextClose = cleaned.indexOf('</output>', pos);
64
+ if (nextClose === -1) {
65
+ closeStart = cleaned.length;
66
+ depth = 0;
67
+ break;
68
+ }
69
+ if (nextOpen !== -1 && nextOpen < nextClose) {
70
+ depth++;
71
+ pos = nextOpen + '<output'.length;
72
+ }
73
+ else {
74
+ depth--;
75
+ if (depth === 0) {
76
+ closeStart = nextClose;
77
+ }
78
+ else {
79
+ pos = nextClose + '</output>'.length;
80
+ }
81
+ }
82
+ }
83
+ if (closeStart === -1) {
84
+ searchFrom = openEnd;
85
+ continue;
86
+ }
87
+ const content = cleaned.slice(openEnd, closeStart).trim();
88
+ const mimeTypeMatch = fullOpenTag.match(/data-mimetype\s*=\s*["']([^"']+)["']/i);
89
+ const mimeType = ((_a = mimeTypeMatch === null || mimeTypeMatch === void 0 ? void 0 : mimeTypeMatch[1]) === null || _a === void 0 ? void 0 : _a.trim()) || 'text/plain';
90
+ const dataTitleMatch = fullOpenTag.match(/data-title\s*=\s*["']([^"']+)["']/i);
91
+ const htmlTitleMatch = content.match(/<title>([^<]+)<\/title>/i);
92
+ const title = (dataTitleMatch === null || dataTitleMatch === void 0 ? void 0 : dataTitleMatch[1]) ||
93
+ (htmlTitleMatch === null || htmlTitleMatch === void 0 ? void 0 : htmlTitleMatch[1]) ||
94
+ `${mimeType.toUpperCase()} Artifact`;
95
+ artifactNum++;
96
+ const stableId = `artifact-${messageKey}-${artifactNum}-${hashContent(content)}`;
97
+ artifacts.push({
98
+ id: stableId,
99
+ content,
100
+ mimeType,
101
+ title,
102
+ timestamp: new Date(),
103
+ size: content.length,
104
+ });
105
+ searchFrom =
106
+ closeStart === cleaned.length
107
+ ? cleaned.length
108
+ : closeStart + '</output>'.length;
109
+ }
110
+ return artifacts;
111
+ };
13
112
  const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
14
113
  var _a;
15
114
  const { openArtifact, state, closeArtifact } = (0, ArtifactContext_1.useArtifact)();
16
- const messageText = (0, react_1.useMemo)(() => {
17
- return message.translatedText || message.text || '';
18
- }, [message.translatedText, message.text]);
19
- const messageId = (0, react_1.useMemo)(() => {
20
- return `${message.timestamp}-${message.fromUser}`;
21
- }, [message.timestamp, message.fromUser]);
115
+ const messageText = (0, react_1.useMemo)(() => message.text || '', [message.text]);
116
+ const translatedMessageText = (0, react_1.useMemo)(() => message.translatedText || '', [message.translatedText]);
117
+ const messageKey = (0, react_1.useMemo)(() => `${message.timestamp}-${message.fromUser ? '1' : '0'}`, [message.timestamp, message.fromUser]);
22
118
  const dispatchArtifactCreatedEvent = (0, react_1.useCallback)((artifact) => {
23
119
  const event = new CustomEvent('artifactCreated', {
24
- detail: {
25
- artifact,
26
- message,
27
- },
120
+ detail: { artifact, message },
28
121
  });
29
122
  document.dispatchEvent(event);
30
123
  }, [message]);
31
- const detectArtifacts = (0, react_1.useCallback)((text, isFromUser) => {
32
- if (!text || isFromUser) {
33
- return [];
34
- }
35
- text = (0, utils_1.stripReasoningTags)(text);
36
- const artifacts = [];
37
- const artifactRegex = /<output\s+class="memori-artifact"[^>]*data-mimetype="([^"]+)"[^>]*>([\s\S]*?)<\/output>/gi;
38
- const titleRegex = {
39
- dataTitle: /data-title\s*=\s*["\']([^"']+)["\']/i,
40
- htmlTitle: /<title>([^<]+)<\/title>/gi
41
- };
42
- const findTitle = (mimeType, content, outputTag) => {
43
- const dataTitleMatch = outputTag.match(/data-title\s*=\s*["\']([^"']+)["\']/i);
44
- if (dataTitleMatch) {
45
- return dataTitleMatch[1];
46
- }
47
- const htmlTitleMatch = content.match(/<title>([^<]+)<\/title>/i);
48
- if (htmlTitleMatch) {
49
- return htmlTitleMatch[1];
50
- }
51
- return `${mimeType.toUpperCase()} Artifact`;
52
- };
53
- let match;
54
- let artifactNum = 0;
55
- while ((match = artifactRegex.exec(text)) !== null) {
56
- artifactNum++;
57
- const mimeType = match[1];
58
- const content = match[2].trim();
59
- const outputTag = match[0];
60
- const artifact = {
61
- id: `artifact-${Date.now()}-${artifactNum}-${Math.random().toString(36).substr(2, 9)}`,
62
- content,
63
- mimeType,
64
- title: findTitle(mimeType, content, outputTag),
65
- timestamp: new Date(),
66
- size: content.length,
67
- };
68
- artifacts.push(artifact);
69
- }
70
- return artifacts;
71
- }, []);
72
124
  const artifacts = (0, react_1.useMemo)(() => {
73
- return detectArtifacts(messageText, message.fromUser || false);
74
- }, [messageText, message.fromUser, detectArtifacts]);
125
+ const fromUser = message.fromUser || false;
126
+ const primary = detectArtifacts(messageText, fromUser, messageKey);
127
+ if (primary.length > 0)
128
+ return primary;
129
+ return detectArtifacts(translatedMessageText, fromUser, messageKey);
130
+ }, [messageText, translatedMessageText, message.fromUser, messageKey]);
75
131
  (0, react_1.useEffect)(() => {
76
- if (messageText.length > 0 && artifacts.length > 0) {
77
- artifacts.forEach(artifact => {
78
- dispatchArtifactCreatedEvent(artifact);
79
- });
80
- if (!isChatlogPanel) {
81
- setTimeout(() => {
82
- openArtifact(artifacts[0]);
83
- }, 100);
84
- }
132
+ if (!messageText || artifacts.length === 0)
133
+ return;
134
+ artifacts.forEach(artifact => dispatchArtifactCreatedEvent(artifact));
135
+ if (!isChatlogPanel) {
136
+ const timer = setTimeout(() => openArtifact(artifacts[0]), 100);
137
+ return () => clearTimeout(timer);
85
138
  }
86
- }, [messageId, artifacts, dispatchArtifactCreatedEvent, isChatlogPanel, openArtifact]);
139
+ }, [
140
+ messageKey,
141
+ messageText,
142
+ artifacts,
143
+ dispatchArtifactCreatedEvent,
144
+ isChatlogPanel,
145
+ openArtifact,
146
+ ]);
87
147
  const handleArtifactClick = (0, react_1.useCallback)((artifact) => {
88
148
  var _a;
89
- if (state.isDrawerOpen &&
90
- ((_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id) === artifact.id) {
149
+ if (state.isDrawerOpen && ((_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id) === artifact.id) {
91
150
  closeArtifact();
92
151
  }
93
152
  else {
@@ -115,33 +174,24 @@ const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
115
174
  }, []);
116
175
  if (artifacts.length === 0)
117
176
  return null;
118
- return ((0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column', gap: '10px' }, children: artifacts.map((artifact) => {
119
- var _a, _b, _c, _d;
177
+ return ((0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column', gap: '10px' }, children: artifacts.map(artifact => {
178
+ var _a;
120
179
  const isSelected = state.isDrawerOpen && ((_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id) === artifact.id;
121
- return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: `memori-artifact-handler${isSelected ? ' memori-artifact-handler--selected' : ''}`, onClick: () => handleArtifactClick(artifact), style: isSelected ? {
122
- border: '2px solid var(--memori-primary, #3b82f6)',
123
- boxShadow: '0 0 0 3px rgba(59, 130, 246, 0.1)',
124
- } : undefined, children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-handler-icon", children: getIconForMimeType(artifact.mimeType) }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-handler-info", children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-handler-title", children: artifact.title }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-handler-meta", children: [artifact.mimeType, " \u2022", ' ', formatBytes(artifact.size || 0)] })] }), (0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-handler-action", children: isChatlogPanel ? (state.isDrawerOpen &&
125
- ((_b = state.currentArtifact) === null || _b === void 0 ? void 0 : _b.id) === artifact.id ? ((0, jsx_runtime_1.jsx)(ChevronUp_1.default, { className: "memori-artifact-handler-action-icon" })) : ((0, jsx_runtime_1.jsx)(ChevronDown_1.default, { className: "memori-artifact-handler-action-icon" }))) : state.isDrawerOpen &&
126
- ((_c = state.currentArtifact) === null || _c === void 0 ? void 0 : _c.id) === artifact.id ? ((0, jsx_runtime_1.jsx)(ChevronLeft_1.default, { className: "memori-artifact-handler-action-icon" })) : ((0, jsx_runtime_1.jsx)(ChevronRight_1.default, { className: "memori-artifact-handler-action-icon" })) })] }), state.isDrawerOpen &&
127
- ((_d = state.currentArtifact) === null || _d === void 0 ? void 0 : _d.id) === artifact.id && ((0, jsx_runtime_1.jsx)(ArtifactDrawer_1.default, { isChatLogPanel: isChatlogPanel }))] }, artifact.id));
180
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: `memori-artifact-handler${isSelected ? ' memori-artifact-handler--selected' : ''}`, onClick: () => handleArtifactClick(artifact), style: isSelected
181
+ ? {
182
+ border: '2px solid var(--memori-primary, #3b82f6)',
183
+ boxShadow: '0 0 0 3px rgba(59, 130, 246, 0.1)',
184
+ }
185
+ : undefined, children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-handler-icon", children: getIconForMimeType(artifact.mimeType) }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-handler-info", children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-handler-title", children: artifact.title }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-handler-meta", children: [artifact.mimeType, " \u2022 ", formatBytes(artifact.size || 0)] })] }), (0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-handler-action", children: isChatlogPanel ? (isSelected ? ((0, jsx_runtime_1.jsx)(ChevronUp_1.default, { className: "memori-artifact-handler-action-icon" })) : ((0, jsx_runtime_1.jsx)(ChevronDown_1.default, { className: "memori-artifact-handler-action-icon" }))) : isSelected ? ((0, jsx_runtime_1.jsx)(ChevronLeft_1.default, { className: "memori-artifact-handler-action-icon" })) : ((0, jsx_runtime_1.jsx)(ChevronRight_1.default, { className: "memori-artifact-handler-action-icon" })) })] }), isSelected && (0, jsx_runtime_1.jsx)(ArtifactDrawer_1.default, { isChatLogPanel: isChatlogPanel })] }, artifact.id));
128
186
  }) }));
129
187
  };
130
- const formatBytes = (bytes) => {
131
- if (bytes === 0)
132
- return '0 Bytes';
133
- const k = 1024;
134
- const sizes = ['Bytes', 'KB', 'MB'];
135
- const i = Math.floor(Math.log(bytes) / Math.log(k));
136
- return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
137
- };
138
- const MemoizedArtifactHandler = (0, react_1.memo)(ArtifactHandler, (prevProps, nextProps) => {
139
- const prevMessageText = prevProps.message.translatedText || prevProps.message.text || '';
140
- const nextMessageText = nextProps.message.translatedText || nextProps.message.text || '';
141
- return (prevProps.isChatlogPanel === nextProps.isChatlogPanel &&
142
- prevMessageText === nextMessageText &&
143
- prevProps.message.fromUser === nextProps.message.fromUser &&
144
- prevProps.message.timestamp === nextProps.message.timestamp);
188
+ const MemoizedArtifactHandler = (0, react_1.memo)(ArtifactHandler, (prev, next) => {
189
+ const prevText = prev.message.text || prev.message.translatedText || '';
190
+ const nextText = next.message.text || next.message.translatedText || '';
191
+ return (prev.isChatlogPanel === next.isChatlogPanel &&
192
+ prevText === nextText &&
193
+ prev.message.fromUser === next.message.fromUser &&
194
+ prev.message.timestamp === next.message.timestamp);
145
195
  });
146
196
  exports.default = MemoizedArtifactHandler;
147
197
  //# sourceMappingURL=ArtifactHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactHandler.js","sourceRoot":"","sources":["../../../../../src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArtifactHandler.js","sourceRoot":"","sources":["../../../../../src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx"],"names":[],"mappings":"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"}
@@ -1717,15 +1717,17 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1717
1717
  const showFullHistory = showOnlyLastMessages === undefined
1718
1718
  ? selectedLayout !== 'TOTEM' && selectedLayout !== 'WEBSITE_ASSISTANT'
1719
1719
  : !showOnlyLastMessages;
1720
+ const canShowLoginButton = !(tenant === null || tenant === void 0 ? void 0 : tenant.ssoLogin) &&
1721
+ ((_y = showLogin !== null && showLogin !== void 0 ? showLogin : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showLogin) !== null && _y !== void 0 ? _y : memori.requireLoginToken);
1720
1722
  const headerProps = {
1721
1723
  memori: {
1722
1724
  ...memori,
1723
- ownerUserID: (_z = (_y = memori.ownerUserID) !== null && _y !== void 0 ? _y : ownerUserID) !== null && _z !== void 0 ? _z : undefined,
1725
+ ownerUserID: (_0 = (_z = memori.ownerUserID) !== null && _z !== void 0 ? _z : ownerUserID) !== null && _0 !== void 0 ? _0 : undefined,
1724
1726
  },
1725
1727
  apiClient: client,
1726
1728
  tenant,
1727
1729
  history,
1728
- showShare: (_0 = showShare !== null && showShare !== void 0 ? showShare : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showShare) !== null && _0 !== void 0 ? _0 : true,
1730
+ showShare: (_1 = showShare !== null && showShare !== void 0 ? showShare : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showShare) !== null && _1 !== void 0 ? _1 : true,
1729
1731
  position,
1730
1732
  layout: selectedLayout,
1731
1733
  additionalSettings,
@@ -1733,20 +1735,20 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1733
1735
  setShowSettingsDrawer,
1734
1736
  setShowKnownFactsDrawer,
1735
1737
  setShowExpertsDrawer,
1736
- enableAudio: (_1 = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _1 !== void 0 ? _1 : true,
1738
+ enableAudio: (_2 = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _2 !== void 0 ? _2 : true,
1737
1739
  speakerMuted: speakerMuted !== null && speakerMuted !== void 0 ? speakerMuted : false,
1738
1740
  setSpeakerMuted: (mute) => {
1739
1741
  toggleMute(mute);
1740
1742
  },
1741
1743
  setShowChatHistoryDrawer,
1742
- showSettings: (_2 = showSettings !== null && showSettings !== void 0 ? showSettings : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showSettings) !== null && _2 !== void 0 ? _2 : true,
1743
- showChatHistory: (_3 = showChatHistory !== null && showChatHistory !== void 0 ? showChatHistory : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showChatHistory) !== null && _3 !== void 0 ? _3 : true,
1744
+ showSettings: (_3 = showSettings !== null && showSettings !== void 0 ? showSettings : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showSettings) !== null && _3 !== void 0 ? _3 : true,
1745
+ showChatHistory: (_4 = showChatHistory !== null && showChatHistory !== void 0 ? showChatHistory : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showChatHistory) !== null && _4 !== void 0 ? _4 : true,
1744
1746
  showMessageConsumption: enableMessageConsumption,
1745
1747
  hasUserActivatedSpeak,
1746
1748
  showReload: selectedLayout === 'TOTEM',
1747
- showClear: (_4 = showClear !== null && showClear !== void 0 ? showClear : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showClear) !== null && _4 !== void 0 ? _4 : false,
1749
+ showClear: (_5 = showClear !== null && showClear !== void 0 ? showClear : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showClear) !== null && _5 !== void 0 ? _5 : false,
1748
1750
  clearHistory: () => setHistory(h => h.slice(-1)),
1749
- showLogin: (_5 = showLogin !== null && showLogin !== void 0 ? showLogin : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showLogin) !== null && _5 !== void 0 ? _5 : memori.requireLoginToken,
1751
+ showLogin: canShowLoginButton,
1750
1752
  setShowLoginDrawer,
1751
1753
  loginToken,
1752
1754
  user,
@@ -1802,7 +1804,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1802
1804
  isUserLoggedIn: !!loginToken && !!(user === null || user === void 0 ? void 0 : user.userID),
1803
1805
  hasInitialSession: !!initialSessionID,
1804
1806
  notEnoughCredits: needsCredits && !hasEnoughCredits,
1805
- showLogin: showLogin !== null && showLogin !== void 0 ? showLogin : memori.requireLoginToken,
1807
+ showLogin: canShowLoginButton,
1806
1808
  setShowLoginDrawer,
1807
1809
  user,
1808
1810
  };