@memori.ai/memori-react 8.33.0 → 8.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) 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/Header/ChatConsumptionDropdown.d.ts +1 -0
  7. package/dist/components/Header/ChatConsumptionDropdown.js +3 -2
  8. package/dist/components/Header/ChatConsumptionDropdown.js.map +1 -1
  9. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +139 -89
  10. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  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.js +6 -1
  16. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  17. package/dist/components/StartPanel/StartPanel.js +1 -0
  18. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  19. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js +2 -2
  20. package/dist/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  21. package/dist/components/layouts/WebsiteAssistant/website-assistant.css +23 -25
  22. package/dist/components/layouts/fullpage.css +21 -9
  23. package/dist/version.d.ts +1 -1
  24. package/dist/version.js +1 -1
  25. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.css +7 -1
  26. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +4 -1
  27. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js +4 -4
  28. package/esm/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  29. package/esm/components/Header/ChatConsumptionDropdown.d.ts +1 -0
  30. package/esm/components/Header/ChatConsumptionDropdown.js +3 -2
  31. package/esm/components/Header/ChatConsumptionDropdown.js.map +1 -1
  32. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +139 -89
  33. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  34. package/esm/components/MobileSessionPanel/MobileSessionPanel.css +377 -0
  35. package/esm/components/MobileSessionPanel/MobileSessionPanel.d.ts +57 -0
  36. package/esm/components/MobileSessionPanel/MobileSessionPanel.js +157 -0
  37. package/esm/components/MobileSessionPanel/MobileSessionPanel.js.map +1 -0
  38. package/esm/components/PositionPopover/PositionPopover.js +6 -1
  39. package/esm/components/PositionPopover/PositionPopover.js.map +1 -1
  40. package/esm/components/StartPanel/StartPanel.js +1 -0
  41. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  42. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js +2 -2
  43. package/esm/components/layouts/WebsiteAssistant/WebsiteAssistant.js.map +1 -1
  44. package/esm/components/layouts/WebsiteAssistant/website-assistant.css +23 -25
  45. package/esm/components/layouts/fullpage.css +21 -9
  46. package/esm/version.d.ts +1 -1
  47. package/esm/version.js +1 -1
  48. package/package.json +2 -2
  49. package/src/components/Chat/Chat.stories.tsx +127 -1
  50. package/src/components/Header/ChatConsumptionDropdown.test.tsx +31 -0
  51. package/src/components/Header/ChatConsumptionDropdown.tsx +20 -11
  52. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +300 -162
  53. package/src/components/StartPanel/StartPanel.tsx +1 -0
  54. package/src/mocks/data.ts +143 -13
  55. package/src/version.ts +1 -1
@@ -7,84 +7,143 @@ import ChevronDown from '../../../icons/ChevronDown';
7
7
  import ChevronLeft from '../../../icons/ChevronLeft';
8
8
  import ChevronUp from '../../../icons/ChevronUp';
9
9
  import { stripReasoningTags } from '../../../../helpers/utils';
10
+ const formatBytes = (bytes) => {
11
+ if (bytes === 0)
12
+ return '0 Bytes';
13
+ const k = 1024;
14
+ const sizes = ['Bytes', 'KB', 'MB'];
15
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
16
+ return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
17
+ };
18
+ const hashContent = (str) => {
19
+ let hash = 0;
20
+ const len = Math.min(str.length, 200);
21
+ for (let i = 0; i < len; i++) {
22
+ hash = (hash << 5) - hash + str.charCodeAt(i);
23
+ hash |= 0;
24
+ }
25
+ return Math.abs(hash).toString(36);
26
+ };
27
+ const CLASS_ATTR_RE = /class\s*=\s*["']([^"']*)["']/i;
28
+ const hasMemoriArtifactClass = (openingTag) => {
29
+ const m = openingTag.match(CLASS_ATTR_RE);
30
+ if (!m)
31
+ return false;
32
+ return /\bmemori-artifact\b/.test(m[1]);
33
+ };
34
+ const detectArtifacts = (text, isFromUser, messageKey) => {
35
+ var _a;
36
+ if (!text || isFromUser)
37
+ return [];
38
+ const cleaned = stripReasoningTags(text);
39
+ const artifacts = [];
40
+ let searchFrom = 0;
41
+ let artifactNum = 0;
42
+ const OPEN_TAG_RE = /<output\b([^>]*)>/gi;
43
+ while (searchFrom < cleaned.length) {
44
+ OPEN_TAG_RE.lastIndex = searchFrom;
45
+ const openMatch = OPEN_TAG_RE.exec(cleaned);
46
+ if (!openMatch)
47
+ break;
48
+ const fullOpenTag = openMatch[0];
49
+ const openStart = openMatch.index;
50
+ const openEnd = openStart + fullOpenTag.length;
51
+ if (!hasMemoriArtifactClass(fullOpenTag)) {
52
+ searchFrom = openEnd;
53
+ continue;
54
+ }
55
+ let depth = 1;
56
+ let pos = openEnd;
57
+ let closeStart = -1;
58
+ while (pos < cleaned.length && depth > 0) {
59
+ const nextOpen = cleaned.indexOf('<output', pos);
60
+ const nextClose = cleaned.indexOf('</output>', pos);
61
+ if (nextClose === -1) {
62
+ closeStart = cleaned.length;
63
+ depth = 0;
64
+ break;
65
+ }
66
+ if (nextOpen !== -1 && nextOpen < nextClose) {
67
+ depth++;
68
+ pos = nextOpen + '<output'.length;
69
+ }
70
+ else {
71
+ depth--;
72
+ if (depth === 0) {
73
+ closeStart = nextClose;
74
+ }
75
+ else {
76
+ pos = nextClose + '</output>'.length;
77
+ }
78
+ }
79
+ }
80
+ if (closeStart === -1) {
81
+ searchFrom = openEnd;
82
+ continue;
83
+ }
84
+ const content = cleaned.slice(openEnd, closeStart).trim();
85
+ const mimeTypeMatch = fullOpenTag.match(/data-mimetype\s*=\s*["']([^"']+)["']/i);
86
+ const mimeType = ((_a = mimeTypeMatch === null || mimeTypeMatch === void 0 ? void 0 : mimeTypeMatch[1]) === null || _a === void 0 ? void 0 : _a.trim()) || 'text/plain';
87
+ const dataTitleMatch = fullOpenTag.match(/data-title\s*=\s*["']([^"']+)["']/i);
88
+ const htmlTitleMatch = content.match(/<title>([^<]+)<\/title>/i);
89
+ const title = (dataTitleMatch === null || dataTitleMatch === void 0 ? void 0 : dataTitleMatch[1]) ||
90
+ (htmlTitleMatch === null || htmlTitleMatch === void 0 ? void 0 : htmlTitleMatch[1]) ||
91
+ `${mimeType.toUpperCase()} Artifact`;
92
+ artifactNum++;
93
+ const stableId = `artifact-${messageKey}-${artifactNum}-${hashContent(content)}`;
94
+ artifacts.push({
95
+ id: stableId,
96
+ content,
97
+ mimeType,
98
+ title,
99
+ timestamp: new Date(),
100
+ size: content.length,
101
+ });
102
+ searchFrom =
103
+ closeStart === cleaned.length
104
+ ? cleaned.length
105
+ : closeStart + '</output>'.length;
106
+ }
107
+ return artifacts;
108
+ };
10
109
  const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
11
110
  var _a;
12
111
  const { openArtifact, state, closeArtifact } = useArtifact();
13
- const messageText = useMemo(() => {
14
- return message.translatedText || message.text || '';
15
- }, [message.translatedText, message.text]);
16
- const messageId = useMemo(() => {
17
- return `${message.timestamp}-${message.fromUser}`;
18
- }, [message.timestamp, message.fromUser]);
112
+ const messageText = useMemo(() => message.text || '', [message.text]);
113
+ const translatedMessageText = useMemo(() => message.translatedText || '', [message.translatedText]);
114
+ const messageKey = useMemo(() => `${message.timestamp}-${message.fromUser ? '1' : '0'}`, [message.timestamp, message.fromUser]);
19
115
  const dispatchArtifactCreatedEvent = useCallback((artifact) => {
20
116
  const event = new CustomEvent('artifactCreated', {
21
- detail: {
22
- artifact,
23
- message,
24
- },
117
+ detail: { artifact, message },
25
118
  });
26
119
  document.dispatchEvent(event);
27
120
  }, [message]);
28
- const detectArtifacts = useCallback((text, isFromUser) => {
29
- if (!text || isFromUser) {
30
- return [];
31
- }
32
- text = stripReasoningTags(text);
33
- const artifacts = [];
34
- const artifactRegex = /<output\s+class="memori-artifact"[^>]*data-mimetype="([^"]+)"[^>]*>([\s\S]*?)<\/output>/gi;
35
- const titleRegex = {
36
- dataTitle: /data-title\s*=\s*["\']([^"']+)["\']/i,
37
- htmlTitle: /<title>([^<]+)<\/title>/gi
38
- };
39
- const findTitle = (mimeType, content, outputTag) => {
40
- const dataTitleMatch = outputTag.match(/data-title\s*=\s*["\']([^"']+)["\']/i);
41
- if (dataTitleMatch) {
42
- return dataTitleMatch[1];
43
- }
44
- const htmlTitleMatch = content.match(/<title>([^<]+)<\/title>/i);
45
- if (htmlTitleMatch) {
46
- return htmlTitleMatch[1];
47
- }
48
- return `${mimeType.toUpperCase()} Artifact`;
49
- };
50
- let match;
51
- let artifactNum = 0;
52
- while ((match = artifactRegex.exec(text)) !== null) {
53
- artifactNum++;
54
- const mimeType = match[1];
55
- const content = match[2].trim();
56
- const outputTag = match[0];
57
- const artifact = {
58
- id: `artifact-${Date.now()}-${artifactNum}-${Math.random().toString(36).substr(2, 9)}`,
59
- content,
60
- mimeType,
61
- title: findTitle(mimeType, content, outputTag),
62
- timestamp: new Date(),
63
- size: content.length,
64
- };
65
- artifacts.push(artifact);
66
- }
67
- return artifacts;
68
- }, []);
69
121
  const artifacts = useMemo(() => {
70
- return detectArtifacts(messageText, message.fromUser || false);
71
- }, [messageText, message.fromUser, detectArtifacts]);
122
+ const fromUser = message.fromUser || false;
123
+ const primary = detectArtifacts(messageText, fromUser, messageKey);
124
+ if (primary.length > 0)
125
+ return primary;
126
+ return detectArtifacts(translatedMessageText, fromUser, messageKey);
127
+ }, [messageText, translatedMessageText, message.fromUser, messageKey]);
72
128
  useEffect(() => {
73
- if (messageText.length > 0 && artifacts.length > 0) {
74
- artifacts.forEach(artifact => {
75
- dispatchArtifactCreatedEvent(artifact);
76
- });
77
- if (!isChatlogPanel) {
78
- setTimeout(() => {
79
- openArtifact(artifacts[0]);
80
- }, 100);
81
- }
129
+ if (!messageText || artifacts.length === 0)
130
+ return;
131
+ artifacts.forEach(artifact => dispatchArtifactCreatedEvent(artifact));
132
+ if (!isChatlogPanel) {
133
+ const timer = setTimeout(() => openArtifact(artifacts[0]), 100);
134
+ return () => clearTimeout(timer);
82
135
  }
83
- }, [messageId, artifacts, dispatchArtifactCreatedEvent, isChatlogPanel, openArtifact]);
136
+ }, [
137
+ messageKey,
138
+ messageText,
139
+ artifacts,
140
+ dispatchArtifactCreatedEvent,
141
+ isChatlogPanel,
142
+ openArtifact,
143
+ ]);
84
144
  const handleArtifactClick = useCallback((artifact) => {
85
145
  var _a;
86
- if (state.isDrawerOpen &&
87
- ((_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id) === artifact.id) {
146
+ if (state.isDrawerOpen && ((_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id) === artifact.id) {
88
147
  closeArtifact();
89
148
  }
90
149
  else {
@@ -112,33 +171,24 @@ const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
112
171
  }, []);
113
172
  if (artifacts.length === 0)
114
173
  return null;
115
- return (_jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '10px' }, children: artifacts.map((artifact) => {
116
- var _a, _b, _c, _d;
174
+ return (_jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '10px' }, children: artifacts.map(artifact => {
175
+ var _a;
117
176
  const isSelected = state.isDrawerOpen && ((_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id) === artifact.id;
118
- return (_jsxs(React.Fragment, { children: [_jsxs("div", { className: `memori-artifact-handler${isSelected ? ' memori-artifact-handler--selected' : ''}`, onClick: () => handleArtifactClick(artifact), style: isSelected ? {
119
- border: '2px solid var(--memori-primary, #3b82f6)',
120
- boxShadow: '0 0 0 3px rgba(59, 130, 246, 0.1)',
121
- } : undefined, children: [_jsx("div", { className: "memori-artifact-handler-icon", children: getIconForMimeType(artifact.mimeType) }), _jsxs("div", { className: "memori-artifact-handler-info", children: [_jsx("div", { className: "memori-artifact-handler-title", children: artifact.title }), _jsxs("div", { className: "memori-artifact-handler-meta", children: [artifact.mimeType, " \u2022", ' ', formatBytes(artifact.size || 0)] })] }), _jsx("div", { className: "memori-artifact-handler-action", children: isChatlogPanel ? (state.isDrawerOpen &&
122
- ((_b = state.currentArtifact) === null || _b === void 0 ? void 0 : _b.id) === artifact.id ? (_jsx(ChevronUp, { className: "memori-artifact-handler-action-icon" })) : (_jsx(ChevronDown, { className: "memori-artifact-handler-action-icon" }))) : state.isDrawerOpen &&
123
- ((_c = state.currentArtifact) === null || _c === void 0 ? void 0 : _c.id) === artifact.id ? (_jsx(ChevronLeft, { className: "memori-artifact-handler-action-icon" })) : (_jsx(ChevronRight, { className: "memori-artifact-handler-action-icon" })) })] }), state.isDrawerOpen &&
124
- ((_d = state.currentArtifact) === null || _d === void 0 ? void 0 : _d.id) === artifact.id && (_jsx(ArtifactDrawer, { isChatLogPanel: isChatlogPanel }))] }, artifact.id));
177
+ return (_jsxs(React.Fragment, { children: [_jsxs("div", { className: `memori-artifact-handler${isSelected ? ' memori-artifact-handler--selected' : ''}`, onClick: () => handleArtifactClick(artifact), style: isSelected
178
+ ? {
179
+ border: '2px solid var(--memori-primary, #3b82f6)',
180
+ boxShadow: '0 0 0 3px rgba(59, 130, 246, 0.1)',
181
+ }
182
+ : undefined, children: [_jsx("div", { className: "memori-artifact-handler-icon", children: getIconForMimeType(artifact.mimeType) }), _jsxs("div", { className: "memori-artifact-handler-info", children: [_jsx("div", { className: "memori-artifact-handler-title", children: artifact.title }), _jsxs("div", { className: "memori-artifact-handler-meta", children: [artifact.mimeType, " \u2022 ", formatBytes(artifact.size || 0)] })] }), _jsx("div", { className: "memori-artifact-handler-action", children: isChatlogPanel ? (isSelected ? (_jsx(ChevronUp, { className: "memori-artifact-handler-action-icon" })) : (_jsx(ChevronDown, { className: "memori-artifact-handler-action-icon" }))) : isSelected ? (_jsx(ChevronLeft, { className: "memori-artifact-handler-action-icon" })) : (_jsx(ChevronRight, { className: "memori-artifact-handler-action-icon" })) })] }), isSelected && _jsx(ArtifactDrawer, { isChatLogPanel: isChatlogPanel })] }, artifact.id));
125
183
  }) }));
126
184
  };
127
- const formatBytes = (bytes) => {
128
- if (bytes === 0)
129
- return '0 Bytes';
130
- const k = 1024;
131
- const sizes = ['Bytes', 'KB', 'MB'];
132
- const i = Math.floor(Math.log(bytes) / Math.log(k));
133
- return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
134
- };
135
- const MemoizedArtifactHandler = memo(ArtifactHandler, (prevProps, nextProps) => {
136
- const prevMessageText = prevProps.message.translatedText || prevProps.message.text || '';
137
- const nextMessageText = nextProps.message.translatedText || nextProps.message.text || '';
138
- return (prevProps.isChatlogPanel === nextProps.isChatlogPanel &&
139
- prevMessageText === nextMessageText &&
140
- prevProps.message.fromUser === nextProps.message.fromUser &&
141
- prevProps.message.timestamp === nextProps.message.timestamp);
185
+ const MemoizedArtifactHandler = memo(ArtifactHandler, (prev, next) => {
186
+ const prevText = prev.message.text || prev.message.translatedText || '';
187
+ const nextText = next.message.text || next.message.translatedText || '';
188
+ return (prev.isChatlogPanel === next.isChatlogPanel &&
189
+ prevText === nextText &&
190
+ prev.message.fromUser === next.message.fromUser &&
191
+ prev.message.timestamp === next.message.timestamp);
142
192
  });
143
193
  export default MemoizedArtifactHandler;
144
194
  //# 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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"}