@memori.ai/memori-react 8.8.5 → 8.9.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 (176) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +28 -0
  3. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +0 -1
  4. package/dist/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  5. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +0 -10
  6. package/dist/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  7. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js +0 -9
  8. package/dist/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
  9. package/dist/components/Chat/Chat.css +31 -0
  10. package/dist/components/Chat/Chat.js +17 -3
  11. package/dist/components/Chat/Chat.js.map +1 -1
  12. package/dist/components/ChatBubble/ChatBubble.js +1 -2
  13. package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
  14. package/dist/components/ChatInputs/ChatInputs.css +23 -0
  15. package/dist/components/ChatInputs/ChatInputs.d.ts +1 -0
  16. package/dist/components/ChatInputs/ChatInputs.js +37 -21
  17. package/dist/components/ChatInputs/ChatInputs.js.map +1 -1
  18. package/dist/components/ChatTextArea/ChatTextArea.css +31 -0
  19. package/dist/components/ChatTextArea/ChatTextArea.d.ts +1 -0
  20. package/dist/components/ChatTextArea/ChatTextArea.js +9 -2
  21. package/dist/components/ChatTextArea/ChatTextArea.js.map +1 -1
  22. package/dist/components/FilePreview/FilePreview.css +39 -0
  23. package/dist/components/Header/Header.js +3 -16
  24. package/dist/components/Header/Header.js.map +1 -1
  25. package/dist/components/MediaWidget/LinkItemWidget.js +1 -1
  26. package/dist/components/MediaWidget/LinkItemWidget.js.map +1 -1
  27. package/dist/components/MediaWidget/MediaItemWidget.js +5 -9
  28. package/dist/components/MediaWidget/MediaItemWidget.js.map +1 -1
  29. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +65 -51
  30. package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  31. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.d.ts +5 -0
  32. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js +287 -0
  33. package/dist/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -0
  34. package/dist/components/MemoriWidget/MemoriWidget.d.ts +12 -0
  35. package/dist/components/MemoriWidget/MemoriWidget.js +12 -3
  36. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  37. package/dist/components/Snippet/Snippet.js +4 -3
  38. package/dist/components/Snippet/Snippet.js.map +1 -1
  39. package/dist/components/StartPanel/StartPanel.css +14 -0
  40. package/dist/components/StartPanel/StartPanel.js +2 -2
  41. package/dist/components/StartPanel/StartPanel.js.map +1 -1
  42. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +0 -21
  43. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  44. package/dist/components/VenueWidget/VenueWidget.js +0 -1
  45. package/dist/components/VenueWidget/VenueWidget.js.map +1 -1
  46. package/dist/components/layouts/HiddenChat.js +0 -15
  47. package/dist/components/layouts/HiddenChat.js.map +1 -1
  48. package/dist/components/layouts/chat.css +2 -2
  49. package/dist/context/visemeContext.js +0 -6
  50. package/dist/context/visemeContext.js.map +1 -1
  51. package/dist/helpers/constants.d.ts +11 -0
  52. package/dist/helpers/constants.js +24 -2
  53. package/dist/helpers/constants.js.map +1 -1
  54. package/dist/helpers/tts/useTTS.js +0 -3
  55. package/dist/helpers/tts/useTTS.js.map +1 -1
  56. package/dist/helpers/utils.d.ts +1 -0
  57. package/dist/helpers/utils.js +6 -1
  58. package/dist/helpers/utils.js.map +1 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/locales/de.json +2 -0
  61. package/dist/locales/en.json +2 -0
  62. package/dist/locales/es.json +2 -0
  63. package/dist/locales/fr.json +2 -0
  64. package/dist/locales/it.json +2 -0
  65. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js +0 -1
  66. package/esm/components/Avatar/AvatarView/AvatarComponent/avatarComponent.js.map +1 -1
  67. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js +0 -10
  68. package/esm/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.js.map +1 -1
  69. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js +0 -9
  70. package/esm/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.js.map +1 -1
  71. package/esm/components/Chat/Chat.css +31 -0
  72. package/esm/components/Chat/Chat.js +18 -4
  73. package/esm/components/Chat/Chat.js.map +1 -1
  74. package/esm/components/ChatBubble/ChatBubble.js +1 -2
  75. package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
  76. package/esm/components/ChatInputs/ChatInputs.css +23 -0
  77. package/esm/components/ChatInputs/ChatInputs.d.ts +1 -0
  78. package/esm/components/ChatInputs/ChatInputs.js +37 -21
  79. package/esm/components/ChatInputs/ChatInputs.js.map +1 -1
  80. package/esm/components/ChatTextArea/ChatTextArea.css +31 -0
  81. package/esm/components/ChatTextArea/ChatTextArea.d.ts +1 -0
  82. package/esm/components/ChatTextArea/ChatTextArea.js +9 -2
  83. package/esm/components/ChatTextArea/ChatTextArea.js.map +1 -1
  84. package/esm/components/FilePreview/FilePreview.css +39 -0
  85. package/esm/components/Header/Header.js +3 -16
  86. package/esm/components/Header/Header.js.map +1 -1
  87. package/esm/components/MediaWidget/LinkItemWidget.js +1 -1
  88. package/esm/components/MediaWidget/LinkItemWidget.js.map +1 -1
  89. package/esm/components/MediaWidget/MediaItemWidget.js +5 -9
  90. package/esm/components/MediaWidget/MediaItemWidget.js.map +1 -1
  91. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +65 -51
  92. package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
  93. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.d.ts +5 -0
  94. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js +282 -0
  95. package/esm/components/MemoriArtifactSystem/utils/ArtifactAPI.js.map +1 -0
  96. package/esm/components/MemoriWidget/MemoriWidget.d.ts +12 -0
  97. package/esm/components/MemoriWidget/MemoriWidget.js +12 -3
  98. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  99. package/esm/components/Snippet/Snippet.js +4 -3
  100. package/esm/components/Snippet/Snippet.js.map +1 -1
  101. package/esm/components/StartPanel/StartPanel.css +14 -0
  102. package/esm/components/StartPanel/StartPanel.js +3 -3
  103. package/esm/components/StartPanel/StartPanel.js.map +1 -1
  104. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +0 -21
  105. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  106. package/esm/components/VenueWidget/VenueWidget.js +0 -1
  107. package/esm/components/VenueWidget/VenueWidget.js.map +1 -1
  108. package/esm/components/layouts/HiddenChat.js +0 -15
  109. package/esm/components/layouts/HiddenChat.js.map +1 -1
  110. package/esm/components/layouts/chat.css +2 -2
  111. package/esm/context/visemeContext.js +0 -6
  112. package/esm/context/visemeContext.js.map +1 -1
  113. package/esm/helpers/constants.d.ts +11 -0
  114. package/esm/helpers/constants.js +22 -1
  115. package/esm/helpers/constants.js.map +1 -1
  116. package/esm/helpers/tts/useTTS.js +0 -3
  117. package/esm/helpers/tts/useTTS.js.map +1 -1
  118. package/esm/helpers/utils.d.ts +1 -0
  119. package/esm/helpers/utils.js +4 -0
  120. package/esm/helpers/utils.js.map +1 -1
  121. package/esm/index.js.map +1 -1
  122. package/esm/locales/de.json +2 -0
  123. package/esm/locales/en.json +2 -0
  124. package/esm/locales/es.json +2 -0
  125. package/esm/locales/fr.json +2 -0
  126. package/esm/locales/it.json +2 -0
  127. package/package.json +1 -1
  128. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +0 -1
  129. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +0 -17
  130. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.ts +0 -20
  131. package/src/components/Chat/Chat.css +31 -0
  132. package/src/components/Chat/Chat.stories.tsx +503 -9
  133. package/src/components/Chat/Chat.tsx +22 -2
  134. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +73 -73
  135. package/src/components/ChatBubble/ChatBubble.tsx +1 -2
  136. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +25 -25
  137. package/src/components/ChatInputs/ChatInputs.css +23 -0
  138. package/src/components/ChatInputs/ChatInputs.tsx +36 -14
  139. package/src/components/ChatTextArea/ChatTextArea.css +31 -0
  140. package/src/components/ChatTextArea/ChatTextArea.tsx +11 -1
  141. package/src/components/FilePreview/FilePreview.css +39 -0
  142. package/src/components/Header/Header.tsx +0 -13
  143. package/src/components/MediaWidget/LinkItemWidget.tsx +1 -1
  144. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +33 -0
  145. package/src/components/MediaWidget/MediaItemWidget.tsx +7 -10
  146. package/src/components/MediaWidget/__snapshots__/LinkItemWidget.test.tsx.snap +4 -4
  147. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +6 -6
  148. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +2 -2
  149. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +766 -2
  150. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +103 -89
  151. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +307 -0
  152. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +373 -0
  153. package/src/components/MemoriWidget/MemoriWidget.tsx +26 -4
  154. package/src/components/Snippet/Snippet.tsx +3 -2
  155. package/src/components/StartPanel/StartPanel.css +14 -0
  156. package/src/components/StartPanel/StartPanel.tsx +23 -10
  157. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +206 -84
  158. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +0 -23
  159. package/src/components/VenueWidget/VenueWidget.tsx +0 -1
  160. package/src/components/layouts/HiddenChat.tsx +0 -16
  161. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +204 -82
  162. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +408 -164
  163. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +204 -82
  164. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +204 -82
  165. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +204 -82
  166. package/src/components/layouts/chat.css +2 -2
  167. package/src/context/visemeContext.tsx +0 -7
  168. package/src/helpers/constants.ts +28 -3
  169. package/src/helpers/tts/useTTS.ts +0 -2
  170. package/src/helpers/utils.ts +5 -0
  171. package/src/index.tsx +0 -1
  172. package/src/locales/de.json +2 -0
  173. package/src/locales/en.json +2 -0
  174. package/src/locales/es.json +2 -0
  175. package/src/locales/fr.json +2 -0
  176. package/src/locales/it.json +2 -0
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
6
  const ArtifactContext_1 = require("../../context/ArtifactContext");
7
7
  const ChevronRight_1 = tslib_1.__importDefault(require("../../../icons/ChevronRight"));
8
8
  const ArtifactDrawer_1 = tslib_1.__importDefault(require("../ArtifactDrawer/ArtifactDrawer"));
@@ -11,9 +11,8 @@ const ChevronLeft_1 = tslib_1.__importDefault(require("../../../icons/ChevronLef
11
11
  const ChevronUp_1 = tslib_1.__importDefault(require("../../../icons/ChevronUp"));
12
12
  const utils_1 = require("../../../../helpers/utils");
13
13
  const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
14
- var _a, _b, _c;
14
+ var _a;
15
15
  const { openArtifact, state, closeArtifact } = (0, ArtifactContext_1.useArtifact)();
16
- const [currentArtifact, setCurrentArtifact] = (0, react_1.useState)(null);
17
16
  const messageText = (0, react_1.useMemo)(() => {
18
17
  return message.translatedText || message.text || '';
19
18
  }, [message.translatedText, message.text]);
@@ -30,9 +29,7 @@ const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
30
29
  document.dispatchEvent(event);
31
30
  }, [message]);
32
31
  const detectArtifacts = (0, react_1.useCallback)((text, isFromUser) => {
33
- console.log('Detecting artifacts from text:', (text === null || text === void 0 ? void 0 : text.substring(0, 100)) + '...');
34
32
  if (!text || isFromUser) {
35
- console.log('No text or message is from user, returning empty array');
36
33
  return [];
37
34
  }
38
35
  text = (0, utils_1.stripReasoningTags)(text);
@@ -42,40 +39,34 @@ const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
42
39
  dataTitle: /data-title\s*=\s*["\']([^"']+)["\']/i,
43
40
  htmlTitle: /<title>([^<]+)<\/title>/gi
44
41
  };
45
- const findTitle = (mimeType, content) => {
46
- var _a, _b;
47
- console.log('Finding title for mimetype:', mimeType);
48
- return ((_a = titleRegex.dataTitle.exec(content)) === null || _a === void 0 ? void 0 : _a[1]) || ((_b = titleRegex.htmlTitle.exec(content)) === null || _b === void 0 ? void 0 : _b[1]) || `${mimeType.toUpperCase()} Artifact`;
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`;
49
52
  };
50
53
  let match;
54
+ let artifactNum = 0;
51
55
  while ((match = artifactRegex.exec(text)) !== null) {
52
- console.log('Found complete artifact match', match);
56
+ artifactNum++;
53
57
  const mimeType = match[1];
54
58
  const content = match[2].trim();
55
- console.log('Artifact mimetype:', mimeType);
56
- console.log('Content length:', content.length);
57
- if (content.length > 50) {
58
- const artifact = {
59
- id: `artifact-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
60
- content,
61
- mimeType,
62
- title: findTitle(mimeType, text),
63
- timestamp: new Date(),
64
- size: content.length,
65
- };
66
- console.log('Created artifact:', {
67
- id: artifact.id,
68
- mimeType: artifact.mimeType,
69
- title: artifact.title,
70
- size: artifact.size
71
- });
72
- artifacts.push(artifact);
73
- }
74
- else {
75
- console.log('Skipping artifact - content too short');
76
- }
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);
77
69
  }
78
- console.log('Detected artifacts:', artifacts.length);
79
70
  return artifacts;
80
71
  }, []);
81
72
  const artifacts = (0, react_1.useMemo)(() => {
@@ -86,32 +77,55 @@ const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
86
77
  artifacts.forEach(artifact => {
87
78
  dispatchArtifactCreatedEvent(artifact);
88
79
  });
89
- if (isChatlogPanel) {
90
- setCurrentArtifact(artifacts[0]);
91
- }
92
- else {
80
+ if (!isChatlogPanel) {
93
81
  setTimeout(() => {
94
82
  openArtifact(artifacts[0]);
95
- setCurrentArtifact(artifacts[0]);
96
83
  }, 100);
97
84
  }
98
85
  }
99
86
  }, [messageId, artifacts, dispatchArtifactCreatedEvent, isChatlogPanel, openArtifact]);
87
+ const handleArtifactClick = (0, react_1.useCallback)((artifact) => {
88
+ var _a;
89
+ if (state.isDrawerOpen &&
90
+ ((_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id) === artifact.id) {
91
+ closeArtifact();
92
+ }
93
+ else {
94
+ openArtifact(artifact);
95
+ }
96
+ }, [state.isDrawerOpen, (_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id, closeArtifact, openArtifact]);
97
+ const getIconForMimeType = (0, react_1.useCallback)((mimeType) => {
98
+ if (mimeType.includes('html'))
99
+ return '🌐';
100
+ if (mimeType.includes('markdown'))
101
+ return '📝';
102
+ if (mimeType.includes('javascript') || mimeType.includes('typescript'))
103
+ return '📜';
104
+ if (mimeType.includes('python'))
105
+ return '🐍';
106
+ if (mimeType.includes('json'))
107
+ return '📊';
108
+ if (mimeType.includes('css'))
109
+ return '🎨';
110
+ if (mimeType.includes('xml'))
111
+ return '📋';
112
+ if (mimeType.includes('svg'))
113
+ return '🖼️';
114
+ return '📄';
115
+ }, []);
100
116
  if (artifacts.length === 0)
101
117
  return null;
102
- return ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', gap: '10px' }, children: [(0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-handler", onClick: () => {
103
- var _a;
104
- if (state.isDrawerOpen &&
105
- ((_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id) === (currentArtifact === null || currentArtifact === void 0 ? void 0 : currentArtifact.id)) {
106
- closeArtifact();
107
- }
108
- else {
109
- openArtifact(currentArtifact);
110
- }
111
- }, children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-handler-icon", children: "\uD83D\uDCC4" }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-handler-info", children: [(0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-handler-title", children: currentArtifact === null || currentArtifact === void 0 ? void 0 : currentArtifact.title }), (0, jsx_runtime_1.jsxs)("div", { className: "memori-artifact-handler-meta", children: [currentArtifact === null || currentArtifact === void 0 ? void 0 : currentArtifact.mimeType, " \u2022", ' ', formatBytes((currentArtifact === null || currentArtifact === void 0 ? void 0 : currentArtifact.size) || 0)] })] }), (0, jsx_runtime_1.jsx)("div", { className: "memori-artifact-handler-action", children: isChatlogPanel ? (state.isDrawerOpen &&
112
- ((_a = state.currentArtifact) === null || _a === void 0 ? void 0 : _a.id) === (currentArtifact === null || currentArtifact === void 0 ? void 0 : currentArtifact.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 &&
113
- ((_b = state.currentArtifact) === null || _b === void 0 ? void 0 : _b.id) === (currentArtifact === null || currentArtifact === void 0 ? void 0 : currentArtifact.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" })) })] }, currentArtifact === null || currentArtifact === void 0 ? void 0 : currentArtifact.id), state.isDrawerOpen &&
114
- ((_c = state.currentArtifact) === null || _c === void 0 ? void 0 : _c.id) === (currentArtifact === null || currentArtifact === void 0 ? void 0 : currentArtifact.id) && ((0, jsx_runtime_1.jsx)(ArtifactDrawer_1.default, { isChatLogPanel: isChatlogPanel }))] }));
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;
120
+ 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));
128
+ }) }));
115
129
  };
116
130
  const formatBytes = (bytes) => {
117
131
  if (bytes === 0)
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ import { Message } from '@memori.ai/memori-api-client/dist/types';
2
+ export declare const initMemoriArtifactAPI: () => void;
3
+ export declare const ArtifactAPIBridge: ({ pushMessage, }: {
4
+ pushMessage: (message: Message) => void;
5
+ }) => null;
@@ -0,0 +1,287 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArtifactAPIBridge = exports.initMemoriArtifactAPI = void 0;
4
+ const react_1 = require("react");
5
+ const ArtifactContext_1 = require("../context/ArtifactContext");
6
+ const pendingCalls = [];
7
+ let isReady = false;
8
+ const initMemoriArtifactAPI = () => {
9
+ if (typeof window === 'undefined')
10
+ return;
11
+ if (window.MemoriArtifactAPI) {
12
+ return;
13
+ }
14
+ window.MemoriArtifactAPI = {
15
+ _isReady: () => isReady,
16
+ _setReady: (ready) => { isReady = ready; },
17
+ _getPendingCalls: () => pendingCalls,
18
+ _clearPendingCalls: () => { pendingCalls.length = 0; },
19
+ openArtifact: (artifact) => {
20
+ if (!isReady) {
21
+ pendingCalls.push({ method: 'openArtifact', args: [artifact] });
22
+ }
23
+ },
24
+ createAndOpenArtifact: (content, mimeType, title) => {
25
+ if (!isReady) {
26
+ pendingCalls.push({ method: 'createAndOpenArtifact', args: [content, mimeType, title] });
27
+ }
28
+ },
29
+ createFromOutputElement: (outputElement) => {
30
+ if (!isReady) {
31
+ pendingCalls.push({ method: 'createFromOutputElement', args: [outputElement] });
32
+ return 'pending';
33
+ }
34
+ return 'not-ready';
35
+ },
36
+ closeArtifact: () => {
37
+ if (!isReady) {
38
+ pendingCalls.push({ method: 'closeArtifact', args: [] });
39
+ }
40
+ },
41
+ toggleFullscreen: () => {
42
+ if (!isReady) {
43
+ pendingCalls.push({ method: 'toggleFullscreen', args: [] });
44
+ }
45
+ },
46
+ getState: () => {
47
+ if (!isReady) {
48
+ return { currentArtifact: null, isDrawerOpen: false, isFullscreen: false };
49
+ }
50
+ return { currentArtifact: null, isDrawerOpen: false, isFullscreen: false };
51
+ },
52
+ };
53
+ };
54
+ exports.initMemoriArtifactAPI = initMemoriArtifactAPI;
55
+ (0, exports.initMemoriArtifactAPI)();
56
+ const ArtifactAPIBridge = ({ pushMessage, }) => {
57
+ const { openArtifact, closeArtifact, toggleFullscreen, state } = (0, ArtifactContext_1.useArtifact)();
58
+ const apiRef = (0, react_1.useRef)(null);
59
+ (0, react_1.useEffect)(() => {
60
+ if (typeof window !== 'undefined') {
61
+ const windowApi = window.MemoriArtifactAPI;
62
+ apiRef.current = {
63
+ openArtifact: (artifact) => {
64
+ openArtifact(artifact);
65
+ },
66
+ createAndOpenArtifact: (content, mimeType = 'html', title) => {
67
+ const autoTitle = title || getTitleFromMimeType(mimeType);
68
+ const artifact = {
69
+ id: `artifact-${Date.now()}-${Math.random()
70
+ .toString(36)
71
+ .substr(2, 9)}`,
72
+ content,
73
+ mimeType,
74
+ title: autoTitle,
75
+ timestamp: new Date(),
76
+ size: content.length,
77
+ };
78
+ let messageText = content;
79
+ if (!messageText.includes('<output class="memori-artifact">')) {
80
+ messageText = `<output class="memori-artifact" data-mimetype="${mimeType}" data-title="${autoTitle}">${content}</output>`;
81
+ }
82
+ pushMessage({
83
+ text: messageText,
84
+ timestamp: new Date().toISOString(),
85
+ fromUser: false,
86
+ media: [],
87
+ initial: false,
88
+ translatedText: undefined,
89
+ questionAnswered: undefined,
90
+ generatedByAI: false,
91
+ contextVars: undefined,
92
+ date: undefined,
93
+ placeName: undefined,
94
+ placeLatitude: undefined,
95
+ placeLongitude: undefined,
96
+ placeUncertaintyKm: undefined,
97
+ });
98
+ openArtifact(artifact);
99
+ },
100
+ createFromOutputElement: (outputElement) => {
101
+ const content = outputElement.innerHTML;
102
+ const mimeType = outputElement.getAttribute('data-mimetype') || 'html';
103
+ const title = outputElement.getAttribute('data-title') ||
104
+ getTitleFromMimeType(mimeType);
105
+ outputElement.style.display = 'none';
106
+ outputElement.setAttribute('data-memori-processed', 'true');
107
+ const artifact = {
108
+ id: `artifact-${Date.now()}-${Math.random()
109
+ .toString(36)
110
+ .substr(2, 9)}`,
111
+ content,
112
+ mimeType,
113
+ title,
114
+ timestamp: new Date(),
115
+ size: content.length,
116
+ };
117
+ let messageText = content;
118
+ if (!messageText.includes('<output class="memori-artifact">')) {
119
+ messageText = `<output class="memori-artifact" data-mimetype="${mimeType}" data-title="${title}">${content}</output>`;
120
+ }
121
+ pushMessage({
122
+ text: messageText,
123
+ timestamp: new Date().toISOString(),
124
+ fromUser: false,
125
+ media: [],
126
+ initial: false,
127
+ translatedText: undefined,
128
+ questionAnswered: undefined,
129
+ generatedByAI: false,
130
+ contextVars: undefined,
131
+ date: undefined,
132
+ placeName: undefined,
133
+ placeLatitude: undefined,
134
+ placeLongitude: undefined,
135
+ placeUncertaintyKm: undefined,
136
+ });
137
+ openArtifact(artifact);
138
+ return artifact.id;
139
+ },
140
+ closeArtifact: () => {
141
+ closeArtifact();
142
+ },
143
+ toggleFullscreen: () => {
144
+ toggleFullscreen();
145
+ },
146
+ getState: () => {
147
+ return {
148
+ currentArtifact: state.currentArtifact,
149
+ isDrawerOpen: state.isDrawerOpen,
150
+ isFullscreen: state.isFullscreen,
151
+ };
152
+ },
153
+ };
154
+ if (windowApi) {
155
+ windowApi.openArtifact = apiRef.current.openArtifact;
156
+ windowApi.createAndOpenArtifact = apiRef.current.createAndOpenArtifact;
157
+ windowApi.createFromOutputElement = apiRef.current.createFromOutputElement;
158
+ windowApi.closeArtifact = apiRef.current.closeArtifact;
159
+ windowApi.toggleFullscreen = apiRef.current.toggleFullscreen;
160
+ windowApi.getState = apiRef.current.getState;
161
+ windowApi._setReady(true);
162
+ const pendingCalls = windowApi._getPendingCalls();
163
+ if (pendingCalls.length > 0) {
164
+ pendingCalls.forEach((call) => {
165
+ try {
166
+ const method = apiRef.current[call.method];
167
+ if (method) {
168
+ method(...call.args);
169
+ }
170
+ }
171
+ catch (error) {
172
+ }
173
+ });
174
+ windowApi._clearPendingCalls();
175
+ }
176
+ }
177
+ else {
178
+ window.MemoriArtifactAPI = {
179
+ ...apiRef.current,
180
+ _isReady: true,
181
+ _pendingCalls: [],
182
+ _setReady: (ready) => {
183
+ window.MemoriArtifactAPI._isReady = ready;
184
+ },
185
+ _getPendingCalls: () => {
186
+ return window.MemoriArtifactAPI._pendingCalls;
187
+ },
188
+ _clearPendingCalls: () => {
189
+ window.MemoriArtifactAPI._pendingCalls = [];
190
+ },
191
+ };
192
+ }
193
+ }
194
+ return () => {
195
+ if (typeof window !== 'undefined') {
196
+ delete window.MemoriArtifactAPI;
197
+ }
198
+ };
199
+ }, [openArtifact, closeArtifact, toggleFullscreen, state, pushMessage]);
200
+ return null;
201
+ };
202
+ exports.ArtifactAPIBridge = ArtifactAPIBridge;
203
+ function getTitleFromMimeType(mimeType) {
204
+ if (mimeType.includes('html'))
205
+ return 'HTML Document';
206
+ if (mimeType.includes('markdown'))
207
+ return 'Markdown Document';
208
+ if (mimeType.includes('javascript'))
209
+ return 'JavaScript Code';
210
+ if (mimeType.includes('python'))
211
+ return 'Python Code';
212
+ if (mimeType.includes('json'))
213
+ return 'JSON Data';
214
+ if (mimeType.includes('css'))
215
+ return 'CSS Stylesheet';
216
+ if (mimeType.includes('typescript'))
217
+ return 'TypeScript Code';
218
+ if (mimeType.includes('xml'))
219
+ return 'XML Document';
220
+ if (mimeType.includes('svg'))
221
+ return 'SVG Image';
222
+ return 'Document';
223
+ }
224
+ function createArtifactHandler(content, mimeType, title) {
225
+ const handler = document.createElement('div');
226
+ handler.className = 'memori-artifact-handler';
227
+ handler.style.cssText = `
228
+ display: flex;
229
+ align-items: center;
230
+ gap: 12px;
231
+ padding: 16px;
232
+ margin: 12px 0;
233
+ background: white;
234
+ border: 1px solid #e5e7eb;
235
+ border-radius: 12px;
236
+ cursor: pointer;
237
+ transition: all 0.2s ease;
238
+ `;
239
+ const icon = getIconForMimeType(mimeType);
240
+ const size = `${(content.length / 1024).toFixed(1)} KB`;
241
+ handler.innerHTML = `
242
+ <div style="font-size: 32px;">${icon}</div>
243
+ <div style="flex: 1;">
244
+ <div style="font-weight: 600; margin-bottom: 4px;">${escapeHtml(title)}</div>
245
+ <div style="font-size: 13px; color: #6b7280;">${mimeType} • ${size}</div>
246
+ </div>
247
+ <div>
248
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
249
+ <polyline points="9 18 15 12 9 6"></polyline>
250
+ </svg>
251
+ </div>
252
+ `;
253
+ handler.addEventListener('mouseenter', () => {
254
+ handler.style.background = '#faf5ff';
255
+ handler.style.borderColor = '#9333ea';
256
+ });
257
+ handler.addEventListener('mouseleave', () => {
258
+ handler.style.background = 'white';
259
+ handler.style.borderColor = '#e5e7eb';
260
+ });
261
+ return handler;
262
+ }
263
+ function getIconForMimeType(mimeType) {
264
+ if (mimeType.includes('html'))
265
+ return '🌐';
266
+ if (mimeType.includes('markdown'))
267
+ return '📝';
268
+ if (mimeType.includes('javascript') || mimeType.includes('typescript'))
269
+ return '📜';
270
+ if (mimeType.includes('python'))
271
+ return '🐍';
272
+ if (mimeType.includes('json'))
273
+ return '📊';
274
+ if (mimeType.includes('css'))
275
+ return '🎨';
276
+ if (mimeType.includes('xml'))
277
+ return '📋';
278
+ if (mimeType.includes('svg'))
279
+ return '🖼️';
280
+ return '📄';
281
+ }
282
+ function escapeHtml(text) {
283
+ const div = document.createElement('div');
284
+ div.textContent = text;
285
+ return div.innerHTML;
286
+ }
287
+ //# sourceMappingURL=ArtifactAPI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArtifactAPI.js","sourceRoot":"","sources":["../../../../src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx"],"names":[],"mappings":"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"}
@@ -46,6 +46,18 @@ declare global {
46
46
  typeMessage: typeof typeMessage;
47
47
  typeMessageHidden: typeof typeMessageHidden;
48
48
  typeBatchMessages: typeof typeBatchMessages;
49
+ MemoriArtifactAPI?: {
50
+ openArtifact: (artifact: ArtifactData) => void;
51
+ createAndOpenArtifact: (content: string, mimeType?: string, title?: string) => void;
52
+ createFromOutputElement: (outputElement: HTMLOutputElement) => string;
53
+ closeArtifact: () => void;
54
+ toggleFullscreen: () => void;
55
+ getState: () => {
56
+ currentArtifact: ArtifactData | null;
57
+ isDrawerOpen: boolean;
58
+ isFullscreen: boolean;
59
+ };
60
+ };
49
61
  }
50
62
  }
51
63
  export interface LayoutProps {
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const ArtifactAPI_1 = require("../MemoriArtifactSystem/utils/ArtifactAPI");
5
6
  const react_1 = require("react");
6
7
  const react_i18next_1 = require("react-i18next");
7
8
  const memori_api_client_1 = tslib_1.__importDefault(require("@memori.ai/memori-api-client"));
@@ -999,7 +1000,6 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
999
1000
  const handleVisibilityChange = () => {
1000
1001
  const isVisible = !document.hidden;
1001
1002
  if (isVisible && !isTabVisible) {
1002
- console.log('Tab is now active/visible - starting date polling');
1003
1003
  sendDateChangedEvent({
1004
1004
  sessionID: sessionId,
1005
1005
  state: currentDialogState,
@@ -1007,7 +1007,6 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1007
1007
  startDatePolling();
1008
1008
  }
1009
1009
  else if (!isVisible && isTabVisible) {
1010
- console.log('Tab is now hidden - stopping date polling');
1011
1010
  stopDatePolling();
1012
1011
  }
1013
1012
  isTabVisible = isVisible;
@@ -1865,7 +1864,17 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
1865
1864
  }), "data-memori-name": memori === null || memori === void 0 ? void 0 : memori.name, "data-memori-id": memori === null || memori === void 0 ? void 0 : memori.engineMemoriID, "data-memori-secondary-id": memori === null || memori === void 0 ? void 0 : memori.memoriID, "data-memori-session-id": sessionId, "data-memori-integration": integration === null || integration === void 0 ? void 0 : integration.integrationID, "data-memori-engine-state": JSON.stringify({
1866
1865
  ...currentDialogState,
1867
1866
  sessionID: sessionId,
1868
- }), style: { height }, children: [(0, jsx_runtime_1.jsx)(Layout, { Header: Header_1.default, headerProps: headerProps, Avatar: Avatar_1.default, avatarProps: avatarProps, Chat: Chat_1.default, chatProps: chatProps, StartPanel: StartPanel_1.default, startPanelProps: startPanelProps, integrationStyle: integrationStyle, integrationBackground: integrationBackground, poweredBy: poweredBy, autoStart: autoStart, sessionId: sessionId, hasUserActivatedSpeak: hasUserActivatedSpeak, loading: loading }), (0, jsx_runtime_1.jsx)("audio", { id: "memori-audio", style: { display: 'none' }, src: "https://aisuru.com/intro.mp3" }), isClient && ((0, jsx_runtime_1.jsx)(Auth_1.default, { withModal: true, pwdOrTokens: authModalState, openModal: !!authModalState, setPwdOrTokens: setAuthModalState, showTokens: memori.privacyType === 'SECRET', onFinish: async (values) => {
1867
+ }), style: { height }, children: [(0, jsx_runtime_1.jsx)(Layout, { Header: Header_1.default, headerProps: headerProps, Avatar: Avatar_1.default, avatarProps: avatarProps, Chat: Chat_1.default, chatProps: chatProps, StartPanel: StartPanel_1.default, startPanelProps: startPanelProps, integrationStyle: integrationStyle, integrationBackground: integrationBackground, poweredBy: poweredBy, autoStart: autoStart, sessionId: sessionId, hasUserActivatedSpeak: hasUserActivatedSpeak, loading: loading }), (0, jsx_runtime_1.jsx)(ArtifactAPI_1.ArtifactAPIBridge, { pushMessage: (message) => {
1868
+ setHistory(history => {
1869
+ if (!history.length)
1870
+ return history;
1871
+ const lastMessage = history[history.length - 1];
1872
+ if (!lastMessage || lastMessage.fromUser)
1873
+ return history;
1874
+ const updatedLastMessage = { ...lastMessage, text: lastMessage.text + message.text };
1875
+ return [...history.slice(0, -1), updatedLastMessage];
1876
+ });
1877
+ } }), (0, jsx_runtime_1.jsx)("audio", { id: "memori-audio", style: { display: 'none' }, src: "https://aisuru.com/intro.mp3" }), isClient && ((0, jsx_runtime_1.jsx)(Auth_1.default, { withModal: true, pwdOrTokens: authModalState, openModal: !!authModalState, setPwdOrTokens: setAuthModalState, showTokens: memori.privacyType === 'SECRET', onFinish: async (values) => {
1869
1878
  var _a, _b, _c, _d;
1870
1879
  if (values['password'])
1871
1880
  setMemoriPwd(values['password']);