@memori.ai/memori-react 7.4.1 → 7.4.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "7.4.1",
2
+ "version": "7.4.3",
3
3
  "name": "@memori.ai/memori-react",
4
4
  "author": "Memori Srl",
5
5
  "main": "dist/index.js",
@@ -292,7 +292,7 @@
292
292
  },
293
293
  "dependencies": {
294
294
  "@headlessui/react": "1.7.4",
295
- "@memori.ai/memori-api-client": "^5.1.0",
295
+ "@memori.ai/memori-api-client": "^5.1.1",
296
296
  "@react-three/drei": "8.20.2",
297
297
  "@react-three/fiber": "7.0.25",
298
298
  "classnames": "2.3.2",
@@ -101,7 +101,7 @@
101
101
  }
102
102
  }
103
103
 
104
- .memori-chat--bubble p+p {
104
+ .memori-chat--bubble p + p {
105
105
  margin-top: 0.5em;
106
106
  }
107
107
 
@@ -266,7 +266,6 @@
266
266
  }
267
267
 
268
268
  @keyframes wave {
269
-
270
269
  0%,
271
270
  60%,
272
271
  100% {
@@ -282,6 +281,10 @@
282
281
  width: 100%;
283
282
  }
284
283
 
285
- .memori-chat--bubble mjx-container[jax='CHTML'][display='true'] {
284
+ .memori-chat--bubble output {
285
+ display: none;
286
+ }
287
+
288
+ .dot mjx-container[jax='CHTML'][display='true'] {
286
289
  text-align: left;
287
- }
290
+ }
@@ -298,6 +298,19 @@ WithMarkdownCode.args = {
298
298
  },
299
299
  };
300
300
 
301
+ export const WithOutputCode = Template.bind({});
302
+ WithOutputCode.args = {
303
+ memori,
304
+ apiUrl: 'https://backend.memori.ai',
305
+ tenant,
306
+ message: {
307
+ fromUser: false,
308
+ text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.\n\n```markdown\n# titolo\n```\n\nSed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n\n<output class="memori-output">{ "data": [ 0, 1, 2 ] }</output>',
309
+ initial: false,
310
+ generatedByAI: true,
311
+ },
312
+ };
313
+
301
314
  export const WithMarkdownTable = Template.bind({});
302
315
  WithMarkdownTable.args = {
303
316
  memori,
@@ -72,6 +72,7 @@ import {
72
72
  stripEmojis,
73
73
  escapeHTML,
74
74
  stripMarkdown,
75
+ stripOutputTags,
75
76
  } from '../../helpers/utils';
76
77
  import { anonTag } from '../../helpers/constants';
77
78
  import { getErrori18nKey } from '../../helpers/error';
@@ -437,7 +438,6 @@ const MemoriWidget = ({
437
438
  postTimeoutEvent,
438
439
  postTagChangedEvent,
439
440
  getSession,
440
- getContentQualityIndexes,
441
441
  getExpertReferences,
442
442
  } = client;
443
443
 
@@ -1920,7 +1920,7 @@ const MemoriWidget = ({
1920
1920
  `<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="https://www.w3.org/2001/mstts" xmlns:emo="http://www.w3.org/2009/10/emotionml" xml:lang="${getCultureCodeByLanguage(
1921
1921
  userLang
1922
1922
  )}"><voice name="${getTTSVoice(userLang)}"><s>${replaceTextWithPhonemes(
1923
- escapeHTML(stripMarkdown(stripEmojis(text))),
1923
+ escapeHTML(stripOutputTags(stripMarkdown(stripEmojis(text)))),
1924
1924
  userLang.toLowerCase()
1925
1925
  )}</s></voice></speak>`,
1926
1926
  result => {
@@ -1,158 +1,4 @@
1
- import {
2
- Stats,
3
- GamificationLevel,
4
- EventLog,
5
- UsersLog,
6
- Memori,
7
- Invitation,
8
- } from '@memori.ai/memori-api-client/dist/types';
9
- import memoriApiClient from '@memori.ai/memori-api-client';
10
-
11
- const { deleteSession, getStatistics, initSession } = memoriApiClient();
12
-
13
- const conversionTable: { [key: string]: number } = {
14
- totalReceivers: 0.2,
15
- receiversWithMemories: 0.4,
16
- totalMemories: 0.2,
17
- publicMemories: 0.4,
18
- memoriesWithMedia: 0.4,
19
- totalQuestions: 0.2,
20
- publicQuestions: 0.3,
21
- questionsWithMoreThanOneAnswer: 0.4,
22
- totalStories: 0.2,
23
- publicStories: 0.4,
24
- storiesWithDate: 0.5,
25
- storiesWithPlace: 0.4,
26
- storiesWithDateAndPlace: 0.6,
27
- unansweredQuestions: 0,
28
- successfulCorrelations: 0,
29
- failedCorrelations: 0,
30
- };
31
-
32
- export const BADGES_MAP: Map<number, string> = new Map([
33
- [0, '🆕'],
34
- [10, '🐹'],
35
- [20, '🐇'],
36
- [30, '🐰'],
37
- [40, '💡'],
38
- [50, '🏆'],
39
- [60, '🏅'],
40
- [70, '🥉'],
41
- [80, '🥈'],
42
- [90, '🥇'],
43
- [100, '🔥'],
44
- [110, '🎓'],
45
- [120, '🤖'],
46
- [130, '👾'],
47
- [150, '🌍'],
48
- [180, '💜'],
49
- [200, '💙'],
50
- [250, '🧡'],
51
- [300, '💚'],
52
- [350, '💛'],
53
- [400, '💖'],
54
- [450, '💝'],
55
- [500, '🖤'],
56
- [550, '❤️'],
57
- [600, '🧠'],
58
- ]);
59
-
60
- export const getBadge = (points: number): string => {
61
- const unlockedBadges = Array.from(BADGES_MAP.keys()).filter(
62
- (k: number) => k <= points
63
- );
64
-
65
- if (unlockedBadges.length > 0) {
66
- const lastBadge = unlockedBadges[unlockedBadges.length - 1];
67
- return BADGES_MAP.get(lastBadge) as string;
68
- }
69
-
70
- return '';
71
- };
72
-
73
- export const getNextBadge = (
74
- badge: string
75
- ): { points: number; badge: string } | undefined => {
76
- if (badge === '🆕') {
77
- return { points: 10, badge: '🐹' };
78
- }
79
- let nextBadgePoints;
80
- let nextBadge;
81
-
82
- let currentSeen = false;
83
- for (const [key, value] of BADGES_MAP) {
84
- if (currentSeen) {
85
- nextBadgePoints = key;
86
- nextBadge = value;
87
- break;
88
- }
89
-
90
- if (value === badge) {
91
- currentSeen = true;
92
- }
93
- }
94
-
95
- return nextBadge && nextBadgePoints
96
- ? {
97
- points: nextBadgePoints,
98
- badge: nextBadge,
99
- }
100
- : undefined;
101
- };
102
-
103
- export const getPointsForBadge = (badge: string): number => {
104
- let points = 0;
105
-
106
- for (const [key, value] of BADGES_MAP) {
107
- if (value === badge) {
108
- points = key;
109
- break;
110
- }
111
- }
112
-
113
- return points;
114
- };
115
-
116
- export const getPointsFromStats = (stats: Stats): number => {
117
- let points = 0;
118
- Object.entries(stats).forEach(stat => {
119
- if (stat[0] in conversionTable) {
120
- points += stat[1] * conversionTable[stat[0]];
121
- }
122
- });
123
- return Math.trunc(points);
124
- };
125
-
126
- export const getGamificationLevel = (points: number): GamificationLevel => {
127
- const roundedPoints = Math.round(points);
128
- const badge = getBadge(roundedPoints);
129
- const pointsForCurrentBadge = getPointsForBadge(badge);
130
- const nextBadge = getNextBadge(badge);
131
-
132
- return {
133
- points: roundedPoints,
134
- badge,
135
- pointsForCurrentBadge,
136
- nextBadge,
137
- };
138
- };
139
-
140
- export const getGamificationLevelByStats = (
141
- stats: Stats
142
- ): GamificationLevel => {
143
- const floatPoints = getPointsFromStats(stats);
144
- const points = Math.round(floatPoints);
145
- const badge = getBadge(points);
146
- const pointsForCurrentBadge = getPointsForBadge(badge);
147
- const nextBadge = getNextBadge(badge);
148
-
149
- return {
150
- points,
151
- badge,
152
- pointsForCurrentBadge,
153
- nextBadge,
154
- };
155
- };
1
+ import { EventLog, UsersLog } from '@memori.ai/memori-api-client/dist/types';
156
2
 
157
3
  const groupBy = <T>(array: T[], predicate: (v: T) => string) =>
158
4
  array.reduce((acc, value) => {
@@ -210,43 +56,3 @@ export const eventLogGroupUsersByDate = (eventLogs: EventLog[]): UsersLog[] => {
210
56
  });
211
57
  return userLogs;
212
58
  };
213
-
214
- export const getMemoriUnansQuestions = async (memori: Memori) => {
215
- if (memori.privacyType === 'SECRET' || !memori.isGiver) return 0;
216
- try {
217
- if (!memori.giverTag && !!memori.receivedInvitations?.length) {
218
- let giverInvitation = memori.receivedInvitations.find(
219
- (i: Invitation) => i.type === 'GIVER' && i.state === 'ACCEPTED'
220
- );
221
-
222
- if (giverInvitation) {
223
- memori.giverTag = giverInvitation.tag;
224
- memori.giverPIN = giverInvitation.pin;
225
- }
226
- }
227
-
228
- const { sessionID, currentState, ...response } = await initSession({
229
- memoriID: memori.engineMemoriID ?? '',
230
- password: memori.secretToken,
231
- tag: memori.giverTag,
232
- pin: memori.giverPIN,
233
- });
234
-
235
- if (response.resultCode !== 0 || !sessionID) {
236
- return 0;
237
- }
238
-
239
- const { statistics, ...resp } = await getStatistics(sessionID);
240
-
241
- await deleteSession(sessionID);
242
-
243
- if (statistics && resp.resultCode === 0) {
244
- return statistics.unansweredQuestions;
245
- }
246
-
247
- return 0;
248
- } catch (e) {
249
- console.log(e);
250
- return 0;
251
- }
252
- };
@@ -1,4 +1,9 @@
1
- import { difference, stripEmojis, stripMarkdown } from './utils';
1
+ import {
2
+ difference,
3
+ stripEmojis,
4
+ stripMarkdown,
5
+ stripOutputTags,
6
+ } from './utils';
2
7
 
3
8
  describe('Utils/difference', () => {
4
9
  it('should return the difference between two objects with numeric values', () => {
@@ -120,3 +125,17 @@ describe('utils/stripMarkdown', () => {
120
125
  expect(result).toEqual('');
121
126
  });
122
127
  });
128
+
129
+ describe('utils/stripOutputTags', () => {
130
+ it('should remove output tag', () => {
131
+ const result = stripOutputTags('test\n<output>pippo</output>');
132
+ expect(result).toEqual('test\n');
133
+ });
134
+
135
+ it('should remove output tag with class', () => {
136
+ const result = stripOutputTags(
137
+ 'test\n<output class="memori-output">pippo</output>'
138
+ );
139
+ expect(result).toEqual('test\n');
140
+ });
141
+ });
@@ -180,6 +180,18 @@ export const stripMarkdown = (text: string) => {
180
180
  return text;
181
181
  };
182
182
 
183
+ export const stripOutputTags = (text: string): string => {
184
+ let hasTags = text.includes('</output>');
185
+
186
+ if (!hasTags) return text;
187
+
188
+ let output = text.split('</output>');
189
+ let textBefore = output[0].split('<output')[0];
190
+ let textAfter = output[1];
191
+
192
+ return stripOutputTags(textBefore + textAfter);
193
+ };
194
+
183
195
  export const escapeHTML = (text: string) => {
184
196
  const el = document.createElement('textarea');
185
197
  el.textContent = text;
@@ -1,213 +0,0 @@
1
- import { EventLog, Stats } from '@memori.ai/memori-api-client/dist/types';
2
- import {
3
- getBadge,
4
- getNextBadge,
5
- getPointsForBadge,
6
- getPointsFromStats,
7
- getGamificationLevel,
8
- eventLogGroupUsersByDate,
9
- getGamificationLevelByStats,
10
- } from './statistics';
11
-
12
- export const stats: Stats = {
13
- totalReceivers: 2,
14
- receiversWithMemories: 1,
15
- totalMemories: 50,
16
- publicMemories: 30,
17
- memoriesWithMedia: 25,
18
- totalQuestions: 35,
19
- publicQuestions: 30,
20
- questionsWithMoreThanOneAnswer: 20,
21
- totalStories: 15,
22
- publicStories: 10,
23
- storiesWithDate: 5,
24
- storiesWithPlace: 3,
25
- storiesWithDateAndPlace: 2,
26
- unansweredQuestions: 10,
27
- successfulCorrelations: 5,
28
- failedCorrelations: 1,
29
- };
30
-
31
- export const eventLogs: EventLog[] = [
32
- {
33
- eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e82',
34
- eventType: 'MemoriOpened',
35
- ipAddress: '::ffff:10.11.12.14',
36
- memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
37
- timestamp: '2022-04-15T15:00:27.534191',
38
- userAgent: 'RestSharp/106.13.0.0',
39
- },
40
- {
41
- eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e83',
42
- eventType: 'MemoriOpened',
43
- ipAddress: '::ffff:10.11.12.13',
44
- memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
45
- timestamp: '2022-04-15T15:00:27.534191',
46
- userAgent: 'RestSharp/106.13.0.0',
47
- },
48
- {
49
- eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e84',
50
- eventType: 'MemoriClosed',
51
- ipAddress: '::ffff:10.11.12.13',
52
- memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
53
- timestamp: '2022-04-15T15:10:27.534191',
54
- userAgent: 'RestSharp/106.13.0.0',
55
- },
56
- {
57
- eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e85',
58
- eventType: 'MemoriOpened',
59
- ipAddress: '::ffff:10.11.12.13',
60
- memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
61
- timestamp: '2022-04-15T15:15:27.534191',
62
- userAgent: 'RestSharp/106.13.0.0',
63
- },
64
- {
65
- eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e86',
66
- eventType: 'MemoriClosed',
67
- ipAddress: '::ffff:10.11.12.13',
68
- memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
69
- timestamp: '2022-04-15T15:20:27.534191',
70
- userAgent: 'RestSharp/106.13.0.0',
71
- },
72
- {
73
- eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e88',
74
- eventType: 'MemoriClosed',
75
- ipAddress: undefined,
76
- memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
77
- timestamp: '2022-04-15T15:28:27.534191',
78
- userAgent: 'RestSharp/106.13.0.0',
79
- },
80
- ];
81
-
82
- describe('getBadge', () => {
83
- it('should return 🆕 badge for 0 points', () => {
84
- expect(getBadge(0)).toBe('🆕');
85
- });
86
- it('should return 🐹 for 10 points', () => {
87
- expect(getBadge(10)).toBe('🐹');
88
- });
89
- it('should return 🥇 for 99 points', () => {
90
- expect(getBadge(99)).toBe('🥇');
91
- });
92
- it('should return 🥇 for 99.9 points with round', () => {
93
- expect(getBadge(99.9)).toBe('🥇');
94
- });
95
- it('should return 🔥 for 100 points', () => {
96
- expect(getBadge(100)).toBe('🔥');
97
- });
98
- it('should return 🔥 for 101 points', () => {
99
- expect(getBadge(101)).toBe('🔥');
100
- });
101
- it('should return 🌎 for 150 points', () => {
102
- expect(getBadge(150)).toBe('🌍');
103
- });
104
- it('should return 🧠 for 1000 points', () => {
105
- expect(getBadge(1000)).toBe('🧠');
106
- });
107
- });
108
-
109
- describe('getNextBadge', () => {
110
- it('should return { points: 10, badge: "🐹" } for 🆕 badge', () => {
111
- expect(getNextBadge('🆕')).toEqual({ points: 10, badge: '🐹' });
112
- });
113
- it('should return { points: 150, badge: "🌍" } for 👾', () => {
114
- expect(getNextBadge('👾')).toEqual({ points: 150, badge: '🌍' });
115
- });
116
- it('should return { points: 600, badge: "🧠" } for ❤', () => {
117
- expect(getNextBadge('❤️')).toEqual({ points: 600, badge: '🧠' });
118
- });
119
- });
120
-
121
- describe('getPointsForBadge', () => {
122
- it('should return 0 for "new" badge', () => {
123
- expect(getPointsForBadge('🆕')).toBe(0);
124
- });
125
- it('should return 10 for 🐹', () => {
126
- expect(getPointsForBadge('🐹')).toBe(10);
127
- });
128
- it('should return 150 for 🌎', () => {
129
- expect(getPointsForBadge('🌍')).toBe(150);
130
- });
131
- it('should return 600 for 🧠', () => {
132
- expect(getPointsForBadge('🧠')).toBe(600);
133
- });
134
- });
135
-
136
- describe('getPointsFromStats', () => {
137
- it('should return 0 for no stats', () => {
138
- expect(getPointsFromStats({} as Stats)).toBe(0);
139
- });
140
- it('should return x for stats', () => {
141
- expect(getPointsFromStats(stats)).toBe(68);
142
- });
143
- });
144
-
145
- describe('getGamificationLevel', () => {
146
- it('should return correct level for 0 points', () => {
147
- expect(getGamificationLevel(0)).toEqual({
148
- points: 0,
149
- badge: '🆕',
150
- pointsForCurrentBadge: 0,
151
- nextBadge: { points: 10, badge: '🐹' },
152
- });
153
- });
154
- it('should return correct level with 68 points', () => {
155
- expect(getGamificationLevel(68.34)).toEqual({
156
- points: 68,
157
- badge: '🏅',
158
- pointsForCurrentBadge: 60,
159
- nextBadge: { points: 70, badge: '🥉' },
160
- });
161
- });
162
- it('should return correct level with 100 points', () => {
163
- expect(getGamificationLevel(100)).toEqual({
164
- points: 100,
165
- badge: '🔥',
166
- pointsForCurrentBadge: 100,
167
- nextBadge: { points: 110, badge: '🎓' },
168
- });
169
- });
170
- it('should return correct level with 68 points and correct float round', () => {
171
- expect(getGamificationLevel(67.84)).toEqual({
172
- points: 68,
173
- badge: '🏅',
174
- pointsForCurrentBadge: 60,
175
- nextBadge: { points: 70, badge: '🥉' },
176
- });
177
- });
178
- it('should return correct level with 99.9 points', () => {
179
- expect(getGamificationLevel(99.9)).toEqual({
180
- points: 100,
181
- badge: '🔥',
182
- pointsForCurrentBadge: 100,
183
- nextBadge: { points: 110, badge: '🎓' },
184
- });
185
- });
186
- it('should return correct level with overflow 9999 points', () => {
187
- expect(getGamificationLevel(9999)).toEqual({
188
- points: 9999,
189
- badge: '🧠',
190
- pointsForCurrentBadge: 600,
191
- nextBadge: undefined,
192
- });
193
- });
194
- });
195
-
196
- describe('getGamificationLevelByStats', () => {
197
- it('should return correct level for no stats', () => {
198
- expect(getGamificationLevelByStats({} as Stats)).toEqual({
199
- points: 0,
200
- badge: '🆕',
201
- pointsForCurrentBadge: 0,
202
- nextBadge: { points: 10, badge: '🐹' },
203
- });
204
- });
205
- it('should return correct level for stats', () => {
206
- expect(getGamificationLevelByStats(stats)).toEqual({
207
- points: 68,
208
- badge: '🏅',
209
- pointsForCurrentBadge: 60,
210
- nextBadge: { points: 70, badge: '🥉' },
211
- });
212
- });
213
- });