@memori.ai/memori-react 2.6.3 → 2.6.4

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 (50) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/components/Header/Header.css +2 -2
  3. package/dist/components/PoweredBy/PoweredBy.css +1 -1
  4. package/dist/components/layouts/chat.css +2 -3
  5. package/dist/components/ui/Select.css +1 -1
  6. package/dist/helpers/error.test.d.ts +1 -0
  7. package/dist/helpers/error.test.js +26 -0
  8. package/dist/helpers/error.test.js.map +1 -0
  9. package/dist/helpers/media.js +3 -2
  10. package/dist/helpers/media.js.map +1 -1
  11. package/dist/helpers/media.test.d.ts +1 -0
  12. package/dist/helpers/media.test.js +87 -0
  13. package/dist/helpers/media.test.js.map +1 -0
  14. package/dist/helpers/statistics.test.d.ts +3 -0
  15. package/dist/helpers/statistics.test.js +200 -0
  16. package/dist/helpers/statistics.test.js.map +1 -0
  17. package/dist/helpers/utils.test.d.ts +1 -0
  18. package/dist/helpers/utils.test.js +30 -0
  19. package/dist/helpers/utils.test.js.map +1 -0
  20. package/dist/styles.css +1 -1
  21. package/esm/components/Header/Header.css +2 -2
  22. package/esm/components/PoweredBy/PoweredBy.css +1 -1
  23. package/esm/components/layouts/chat.css +2 -3
  24. package/esm/components/ui/Select.css +1 -1
  25. package/esm/helpers/error.test.d.ts +1 -0
  26. package/esm/helpers/error.test.js +24 -0
  27. package/esm/helpers/error.test.js.map +1 -0
  28. package/esm/helpers/media.js +3 -2
  29. package/esm/helpers/media.js.map +1 -1
  30. package/esm/helpers/media.test.d.ts +1 -0
  31. package/esm/helpers/media.test.js +85 -0
  32. package/esm/helpers/media.test.js.map +1 -0
  33. package/esm/helpers/statistics.test.d.ts +3 -0
  34. package/esm/helpers/statistics.test.js +197 -0
  35. package/esm/helpers/statistics.test.js.map +1 -0
  36. package/esm/helpers/utils.test.d.ts +1 -0
  37. package/esm/helpers/utils.test.js +28 -0
  38. package/esm/helpers/utils.test.js.map +1 -0
  39. package/esm/styles.css +1 -1
  40. package/package.json +1 -1
  41. package/src/components/Header/Header.css +2 -2
  42. package/src/components/PoweredBy/PoweredBy.css +1 -1
  43. package/src/components/layouts/chat.css +2 -3
  44. package/src/components/ui/Select.css +1 -1
  45. package/src/helpers/error.test.ts +29 -0
  46. package/src/helpers/media.test.ts +133 -0
  47. package/src/helpers/media.ts +5 -2
  48. package/src/helpers/statistics.test.ts +213 -0
  49. package/src/helpers/utils.test.ts +31 -0
  50. package/src/styles.css +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
 
2
2
 
3
+ ## [2.6.4](https://github.com/memori-ai/memori-react/compare/v2.6.3...v2.6.4) (2023-07-12)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * media url with external links, add tests for helpers ([1e4244b](https://github.com/memori-ai/memori-react/commit/1e4244b2da8f44e10168c14f2caaea919990624c))
9
+
10
+
11
+ ### Maintenance
12
+
13
+ * run prettier ([575bf83](https://github.com/memori-ai/memori-react/commit/575bf838ec5beba0a738441b96225c453dae8b6f))
14
+
3
15
  ## [2.6.3](https://github.com/memori-ai/memori-react/compare/v2.6.2...v2.6.3) (2023-07-07)
4
16
 
5
17
 
@@ -25,7 +25,7 @@
25
25
  justify-content: center;
26
26
  }
27
27
 
28
- .memori-header--button+.memori-header--button {
28
+ .memori-header--button + .memori-header--button {
29
29
  margin-left: 0.25rem;
30
30
  }
31
31
 
@@ -58,4 +58,4 @@
58
58
 
59
59
  .memori-header .memori-share-button {
60
60
  margin-left: 0.25rem;
61
- }
61
+ }
@@ -42,4 +42,4 @@
42
42
  color: var(--memori-text-color, rgba(0, 0, 0, 0.85)) !important;
43
43
  opacity: 0.8;
44
44
  text-decoration: underline;
45
- }
45
+ }
@@ -6,7 +6,7 @@
6
6
  background: none;
7
7
  }
8
8
 
9
- .memori-widget>.memori-spin.memori-chat-layout {
9
+ .memori-widget > .memori-spin.memori-chat-layout {
10
10
  display: flex;
11
11
  height: 100%;
12
12
  flex-direction: column;
@@ -72,7 +72,6 @@
72
72
  }
73
73
 
74
74
  @media (max-width: 870px) {
75
-
76
75
  .memori-chat-layout--controls .memori--start-panel,
77
76
  .memori-chat-layout--controls .memori-chat--wrapper {
78
77
  width: 100%;
@@ -111,4 +110,4 @@
111
110
 
112
111
  .memori-chat-layout .memori-chat-inputs--mic {
113
112
  font-size: 125%;
114
- }
113
+ }
@@ -136,4 +136,4 @@ li.memori-select--option:focus {
136
136
  li.memori-select--option:focus {
137
137
  outline: 2px solid #63b3ed;
138
138
  outline-offset: 2px;
139
- }
139
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const error_1 = require("./error");
4
+ describe('Error helper for HTTP status codes', () => {
5
+ it('gets error i18n key correctly for 401', () => {
6
+ expect((0, error_1.getErrori18nKey)(401)).toBe('error.unauthorized');
7
+ });
8
+ it('gets error i18n key correctly for 404', () => {
9
+ expect((0, error_1.getErrori18nKey)(404)).toBe('error.notFound');
10
+ });
11
+ it('gets error i18n key correctly for 500', () => {
12
+ expect((0, error_1.getErrori18nKey)(500)).toBe('internal server error');
13
+ });
14
+ it('gets error i18n key correctly for 501', () => {
15
+ expect((0, error_1.getErrori18nKey)(501)).toBe('error.generic');
16
+ });
17
+ });
18
+ describe('Error helper for backend error codes', () => {
19
+ it('gets error i18n key correctly for -101', () => {
20
+ expect((0, error_1.getErrori18nKey)(-101)).toBe('errors.SESSION_NOT_FOUND');
21
+ });
22
+ it('gets error i18n key correctly for -51', () => {
23
+ expect((0, error_1.getErrori18nKey)(-51)).toBe('errors.MEMORI_NOT_FOUND');
24
+ });
25
+ });
26
+ //# sourceMappingURL=error.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.test.js","sourceRoot":"","sources":["../../src/helpers/error.test.ts"],"names":[],"mappings":";;AAAA,mCAA0C;AAE1C,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,IAAA,uBAAe,EAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,IAAA,uBAAe,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -16,8 +16,9 @@ const getResourceUrl = ({ type, resourceURI, sessionID, baseURL = '', apiURL = '
16
16
  }
17
17
  else if ((resourceURI.startsWith('https://') ||
18
18
  resourceURI.startsWith('http://')) &&
19
- new URL(resourceURI).hostname.includes('memori.ai')) {
20
- return `${resourceURI}${sessionID ? `/${sessionID}` : ''}`;
19
+ (new URL(resourceURI).hostname.includes('memori.ai') ||
20
+ new URL(resourceURI).hostname.includes('aclambda.online'))) {
21
+ return `${resourceURI}${resourceURI.endsWith('/') || !sessionID ? '' : '/'}${sessionID || ''}`;
21
22
  }
22
23
  else if (resourceURI.startsWith('cloud://')) {
23
24
  return `${(apiURL === null || apiURL === void 0 ? void 0 : apiURL.replace(/v2/, 'v1')) || ''}/CloudAsset/${resourceURI.replace('cloud://', '')}`;
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/helpers/media.ts"],"names":[],"mappings":";;;AAQO,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,WAAW,EACX,SAAS,EACT,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,EAAE,GACO,EAAU,EAAE;IAC9B,IAAI,UAAU,GACZ,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,GAAG,OAAO,yBAAyB;QACrC,CAAC,CAAC,GAAG,OAAO,0BAA0B,CAAC;IAE3C,IAAI;QACF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,UAAU,CAAC;SACnB;aAAM,IACL,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvC,CAAC,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC7C,SAAS,EACT;YACA,OAAO,GAAG,WAAW,yBAAyB,SAAS,EAAE,CAAC;SAC3D;aAAM,IACL,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC;YACjC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EACnD;YACA,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC5D;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC7C,OAAO,GACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI,EACjC,eAAe,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;SACtD;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC5C,OAAO,GACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI,EACjC,cAAc,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;SACpD;aAAM;YACL,OAAO,WAAW,IAAI,UAAU,CAAC;SAClC;KACF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,WAAW,IAAI,UAAU,CAAC;KAClC;AACH,CAAC,CAAC;AAzCW,QAAA,cAAc,kBAyCzB"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/helpers/media.ts"],"names":[],"mappings":";;;AAQO,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,WAAW,EACX,SAAS,EACT,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,EAAE,GACO,EAAU,EAAE;IAC9B,IAAI,UAAU,GACZ,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,GAAG,OAAO,yBAAyB;QACrC,CAAC,CAAC,GAAG,OAAO,0BAA0B,CAAC;IAE3C,IAAI;QACF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,UAAU,CAAC;SACnB;aAAM,IACL,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvC,CAAC,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC7C,SAAS,EACT;YACA,OAAO,GAAG,WAAW,yBAAyB,SAAS,EAAE,CAAC;SAC3D;aAAM,IACL,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC;YACjC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClD,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAC5D;YACA,OAAO,GAAG,WAAW,GACnB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACjD,GAAG,SAAS,IAAI,EAAE,EAAE,CAAC;SACtB;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC7C,OAAO,GACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI,EACjC,eAAe,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;SACtD;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC5C,OAAO,GACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI,EACjC,cAAc,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;SACpD;aAAM;YACL,OAAO,WAAW,IAAI,UAAU,CAAC;SAClC;KACF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,WAAW,IAAI,UAAU,CAAC;KAClC;AACH,CAAC,CAAC;AA5CW,QAAA,cAAc,kBA4CzB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const media_1 = require("./media");
4
+ const tenantID = 'app.memorytwin.com';
5
+ const sessionID = 'e995ac6f-8014-4ac0-9992-60fe87ae8b44';
6
+ const mediumID = 'a196b513-d745-4121-8913-8f457b999add';
7
+ describe('Media URL helper', () => {
8
+ it('Get default avatar URL with no url', async () => {
9
+ expect((0, media_1.getResourceUrl)({
10
+ type: 'avatar',
11
+ baseURL: 'https://twin.memori.ai',
12
+ apiURL: 'https://backend.memori.ai/api/v2',
13
+ })).toBe('https://twin.memori.ai/images/memoriAvatar.png');
14
+ });
15
+ it('Get default cover URL with no url', async () => {
16
+ expect((0, media_1.getResourceUrl)({
17
+ type: 'cover',
18
+ apiURL: 'https://backend.memori.ai/api/v2',
19
+ baseURL: 'https://twin.memori.ai',
20
+ })).toBe('https://twin.memori.ai/images/memoriCover.png');
21
+ });
22
+ it('Get correct URL for media', async () => {
23
+ expect((0, media_1.getResourceUrl)({
24
+ resourceURI: 'https://assets.memori.ai/api/v2/asset/0eed819c-b496-4419-a9a3-aacbe949bb7c.jpeg/',
25
+ sessionID: sessionID,
26
+ apiURL: 'https://backend.memori.ai/api/v2',
27
+ })).toBe(`https://assets.memori.ai/api/v2/asset/0eed819c-b496-4419-a9a3-aacbe949bb7c.jpeg/${sessionID}`);
28
+ });
29
+ it('Get correct URL for external media', async () => {
30
+ expect((0, media_1.getResourceUrl)({
31
+ resourceURI: 'https://api.lorem.space/image/game?w=150&h=220&hash=8B7BCDC2',
32
+ apiURL: 'https://backend.memori.ai/api/v2',
33
+ })).toBe('https://api.lorem.space/image/game?w=150&h=220&hash=8B7BCDC2');
34
+ });
35
+ it('Get correct URL for old memoriai/memory media', async () => {
36
+ expect((0, media_1.getResourceUrl)({
37
+ resourceURI: 'https://backend.memori.ai/api/v1/memoriai/memory/2d434f42-3e95-46ad-9bd5-a10b65977407/media/cloud/studio.memori.ai/2f7b56d1-06a2-4908-9dd3-ef30359b5d05.jpeg',
38
+ apiURL: 'https://backend.memori.ai/api/v2',
39
+ sessionID: sessionID,
40
+ })).toBe(`https://backend.memori.ai/api/v1/memoriai/memory/2d434f42-3e95-46ad-9bd5-a10b65977407/media/cloud/studio.memori.ai/2f7b56d1-06a2-4908-9dd3-ef30359b5d05.jpeg?memori-ai-session-id=${sessionID}`);
41
+ });
42
+ it('Get correct URL for old cloud://tenantID media', async () => {
43
+ expect((0, media_1.getResourceUrl)({
44
+ resourceURI: `cloud://${tenantID}/${mediumID}`,
45
+ apiURL: 'https://backend.memori.ai/api/v2',
46
+ sessionID: sessionID,
47
+ tenantID: tenantID,
48
+ })).toBe(`https://backend.memori.ai/api/v1/CloudAsset/${tenantID}/${mediumID}`);
49
+ });
50
+ it('Get correct URL for old cloud://tenantID media', async () => {
51
+ expect((0, media_1.getResourceUrl)({
52
+ resourceURI: `cloud://twin.memori.ai/5fc7cd8b-7c8f-4d92-83ad-f48d04b6aafe.jpeg
53
+ `,
54
+ apiURL: 'https://backend.memori.ai/api/v2',
55
+ sessionID: sessionID,
56
+ tenantID: 'twin.memori.ai',
57
+ })).toBe(`https://backend.memori.ai/api/v1/CloudAsset/twin.memori.ai/5fc7cd8b-7c8f-4d92-83ad-f48d04b6aafe.jpeg
58
+ `);
59
+ });
60
+ it('Get correct URL for old cloud://tenantID media', async () => {
61
+ expect((0, media_1.getResourceUrl)({
62
+ resourceURI: 'cloud://twin.memori.ai/6c30043c-9de1-4d13-87e4-c53adb3f9885.jpg',
63
+ apiURL: 'https://backend.memori.ai/api/v2',
64
+ sessionID: sessionID,
65
+ tenantID: 'twin.memori.ai',
66
+ })).toBe(`https://backend.memori.ai/api/v1/CloudAsset/twin.memori.ai/6c30043c-9de1-4d13-87e4-c53adb3f9885.jpg`);
67
+ });
68
+ it('Get correct URL for old cloud://tenantID media with old non-existent tenant', async () => {
69
+ expect((0, media_1.getResourceUrl)({
70
+ resourceURI: `cloud://twin.memori.ai/5fc7cd8b-7c8f-4d92-83ad-f48d04b6aafe.jpeg
71
+ `,
72
+ apiURL: 'https://backend.memori.ai/api/v2',
73
+ sessionID: sessionID,
74
+ tenantID: 'app.memorytwin.com',
75
+ })).toBe(`https://backend.memori.ai/api/v1/CloudAsset/twin.memori.ai/5fc7cd8b-7c8f-4d92-83ad-f48d04b6aafe.jpeg
76
+ `);
77
+ });
78
+ it('Get correct URL for old guid://tenant media', async () => {
79
+ expect((0, media_1.getResourceUrl)({
80
+ resourceURI: `guid://${mediumID}`,
81
+ apiURL: 'https://backend.memori.ai/api/v2',
82
+ sessionID: sessionID,
83
+ tenantID: tenantID,
84
+ })).toBe(`https://backend.memori.ai/api/v1/GuidAsset/${mediumID}`);
85
+ });
86
+ });
87
+ //# sourceMappingURL=media.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.test.js","sourceRoot":"","sources":["../../src/helpers/media.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { EventLog, Stats } from '@memori.ai/memori-api-client/dist/types';
2
+ export declare const stats: Stats;
3
+ export declare const eventLogs: EventLog[];
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.eventLogs = exports.stats = void 0;
4
+ const statistics_1 = require("./statistics");
5
+ exports.stats = {
6
+ totalReceivers: 2,
7
+ receiversWithMemories: 1,
8
+ totalMemories: 50,
9
+ publicMemories: 30,
10
+ memoriesWithMedia: 25,
11
+ totalQuestions: 35,
12
+ publicQuestions: 30,
13
+ questionsWithMoreThanOneAnswer: 20,
14
+ totalStories: 15,
15
+ publicStories: 10,
16
+ storiesWithDate: 5,
17
+ storiesWithPlace: 3,
18
+ storiesWithDateAndPlace: 2,
19
+ unansweredQuestions: 10,
20
+ successfulCorrelations: 5,
21
+ failedCorrelations: 1,
22
+ };
23
+ exports.eventLogs = [
24
+ {
25
+ eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e82',
26
+ eventType: 'MemoriOpened',
27
+ ipAddress: '::ffff:10.11.12.14',
28
+ memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
29
+ timestamp: '2022-04-15T15:00:27.534191',
30
+ userAgent: 'RestSharp/106.13.0.0',
31
+ },
32
+ {
33
+ eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e83',
34
+ eventType: 'MemoriOpened',
35
+ ipAddress: '::ffff:10.11.12.13',
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-418944b03e84',
42
+ eventType: 'MemoriClosed',
43
+ ipAddress: '::ffff:10.11.12.13',
44
+ memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
45
+ timestamp: '2022-04-15T15:10:27.534191',
46
+ userAgent: 'RestSharp/106.13.0.0',
47
+ },
48
+ {
49
+ eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e85',
50
+ eventType: 'MemoriOpened',
51
+ ipAddress: '::ffff:10.11.12.13',
52
+ memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
53
+ timestamp: '2022-04-15T15:15:27.534191',
54
+ userAgent: 'RestSharp/106.13.0.0',
55
+ },
56
+ {
57
+ eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e86',
58
+ eventType: 'MemoriClosed',
59
+ ipAddress: '::ffff:10.11.12.13',
60
+ memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
61
+ timestamp: '2022-04-15T15:20:27.534191',
62
+ userAgent: 'RestSharp/106.13.0.0',
63
+ },
64
+ {
65
+ eventLogID: '28c9f4c8-d7d5-44c4-9f79-418944b03e88',
66
+ eventType: 'MemoriClosed',
67
+ ipAddress: undefined,
68
+ memoriID: '1afe57c6-1b69-4a61-96ea-52bf7b8d158e',
69
+ timestamp: '2022-04-15T15:28:27.534191',
70
+ userAgent: 'RestSharp/106.13.0.0',
71
+ },
72
+ ];
73
+ describe('getBadge', () => {
74
+ it('should return 🆕 badge for 0 points', () => {
75
+ expect((0, statistics_1.getBadge)(0)).toBe('🆕');
76
+ });
77
+ it('should return 🐹 for 10 points', () => {
78
+ expect((0, statistics_1.getBadge)(10)).toBe('🐹');
79
+ });
80
+ it('should return 🥇 for 99 points', () => {
81
+ expect((0, statistics_1.getBadge)(99)).toBe('🥇');
82
+ });
83
+ it('should return 🥇 for 99.9 points with round', () => {
84
+ expect((0, statistics_1.getBadge)(99.9)).toBe('🥇');
85
+ });
86
+ it('should return 🔥 for 100 points', () => {
87
+ expect((0, statistics_1.getBadge)(100)).toBe('🔥');
88
+ });
89
+ it('should return 🔥 for 101 points', () => {
90
+ expect((0, statistics_1.getBadge)(101)).toBe('🔥');
91
+ });
92
+ it('should return 🌎 for 150 points', () => {
93
+ expect((0, statistics_1.getBadge)(150)).toBe('🌍');
94
+ });
95
+ it('should return 🧠 for 1000 points', () => {
96
+ expect((0, statistics_1.getBadge)(1000)).toBe('🧠');
97
+ });
98
+ });
99
+ describe('getNextBadge', () => {
100
+ it('should return { points: 10, badge: "🐹" } for 🆕 badge', () => {
101
+ expect((0, statistics_1.getNextBadge)('🆕')).toEqual({ points: 10, badge: '🐹' });
102
+ });
103
+ it('should return { points: 150, badge: "🌍" } for 👾', () => {
104
+ expect((0, statistics_1.getNextBadge)('👾')).toEqual({ points: 150, badge: '🌍' });
105
+ });
106
+ it('should return { points: 600, badge: "🧠" } for ❤', () => {
107
+ expect((0, statistics_1.getNextBadge)('❤️')).toEqual({ points: 600, badge: '🧠' });
108
+ });
109
+ });
110
+ describe('getPointsForBadge', () => {
111
+ it('should return 0 for "new" badge', () => {
112
+ expect((0, statistics_1.getPointsForBadge)('🆕')).toBe(0);
113
+ });
114
+ it('should return 10 for 🐹', () => {
115
+ expect((0, statistics_1.getPointsForBadge)('🐹')).toBe(10);
116
+ });
117
+ it('should return 150 for 🌎', () => {
118
+ expect((0, statistics_1.getPointsForBadge)('🌍')).toBe(150);
119
+ });
120
+ it('should return 600 for 🧠', () => {
121
+ expect((0, statistics_1.getPointsForBadge)('🧠')).toBe(600);
122
+ });
123
+ });
124
+ describe('getPointsFromStats', () => {
125
+ it('should return 0 for no stats', () => {
126
+ expect((0, statistics_1.getPointsFromStats)({})).toBe(0);
127
+ });
128
+ it('should return x for stats', () => {
129
+ expect((0, statistics_1.getPointsFromStats)(exports.stats)).toBe(68);
130
+ });
131
+ });
132
+ describe('getGamificationLevel', () => {
133
+ it('should return correct level for 0 points', () => {
134
+ expect((0, statistics_1.getGamificationLevel)(0)).toEqual({
135
+ points: 0,
136
+ badge: '🆕',
137
+ pointsForCurrentBadge: 0,
138
+ nextBadge: { points: 10, badge: '🐹' },
139
+ });
140
+ });
141
+ it('should return correct level with 68 points', () => {
142
+ expect((0, statistics_1.getGamificationLevel)(68.34)).toEqual({
143
+ points: 68,
144
+ badge: '🏅',
145
+ pointsForCurrentBadge: 60,
146
+ nextBadge: { points: 70, badge: '🥉' },
147
+ });
148
+ });
149
+ it('should return correct level with 100 points', () => {
150
+ expect((0, statistics_1.getGamificationLevel)(100)).toEqual({
151
+ points: 100,
152
+ badge: '🔥',
153
+ pointsForCurrentBadge: 100,
154
+ nextBadge: { points: 110, badge: '🎓' },
155
+ });
156
+ });
157
+ it('should return correct level with 68 points and correct float round', () => {
158
+ expect((0, statistics_1.getGamificationLevel)(67.84)).toEqual({
159
+ points: 68,
160
+ badge: '🏅',
161
+ pointsForCurrentBadge: 60,
162
+ nextBadge: { points: 70, badge: '🥉' },
163
+ });
164
+ });
165
+ it('should return correct level with 99.9 points', () => {
166
+ expect((0, statistics_1.getGamificationLevel)(99.9)).toEqual({
167
+ points: 100,
168
+ badge: '🔥',
169
+ pointsForCurrentBadge: 100,
170
+ nextBadge: { points: 110, badge: '🎓' },
171
+ });
172
+ });
173
+ it('should return correct level with overflow 9999 points', () => {
174
+ expect((0, statistics_1.getGamificationLevel)(9999)).toEqual({
175
+ points: 9999,
176
+ badge: '🧠',
177
+ pointsForCurrentBadge: 600,
178
+ nextBadge: undefined,
179
+ });
180
+ });
181
+ });
182
+ describe('getGamificationLevelByStats', () => {
183
+ it('should return correct level for no stats', () => {
184
+ expect((0, statistics_1.getGamificationLevelByStats)({})).toEqual({
185
+ points: 0,
186
+ badge: '🆕',
187
+ pointsForCurrentBadge: 0,
188
+ nextBadge: { points: 10, badge: '🐹' },
189
+ });
190
+ });
191
+ it('should return correct level for stats', () => {
192
+ expect((0, statistics_1.getGamificationLevelByStats)(exports.stats)).toEqual({
193
+ points: 68,
194
+ badge: '🏅',
195
+ pointsForCurrentBadge: 60,
196
+ nextBadge: { points: 70, badge: '🥉' },
197
+ });
198
+ });
199
+ });
200
+ //# sourceMappingURL=statistics.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statistics.test.js","sourceRoot":"","sources":["../../src/helpers/statistics.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ describe('Utils/difference', () => {
5
+ it('should return the difference between two objects with numeric values', () => {
6
+ const obj1 = { a: 1, b: 2, c: 3 };
7
+ const obj2 = { a: 1, b: 2, c: 4 };
8
+ const result = (0, utils_1.difference)(obj1, obj2);
9
+ expect(result).toEqual({ c: 4 });
10
+ });
11
+ it('should return the difference between two objects with new properties and strings', () => {
12
+ const obj1 = { a: 1, c: '' };
13
+ const obj2 = { a: 1, b: '', c: 'ciao' };
14
+ const result = (0, utils_1.difference)(obj1, obj2);
15
+ expect(result).toEqual({ b: '', c: 'ciao' });
16
+ });
17
+ it('should return the difference between two objects from null or undefined', () => {
18
+ const obj1 = { a: 1, c: null };
19
+ const obj2 = { a: 1, b: '', c: 'ciao' };
20
+ const result = (0, utils_1.difference)(obj1, obj2);
21
+ expect(result).toEqual({ b: '', c: 'ciao' });
22
+ });
23
+ it('should return the difference between two objects with lists', () => {
24
+ const obj1 = { a: [], b: 'thesame' };
25
+ const obj2 = { a: ['alpha', 'beta', 'gamma'], b: 'thesame' };
26
+ const result = (0, utils_1.difference)(obj1, obj2);
27
+ expect(result).toEqual({ a: ['alpha', 'beta', 'gamma'] });
28
+ });
29
+ });
30
+ //# sourceMappingURL=utils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../src/helpers/utils.test.ts"],"names":[],"mappings":";;AAAA,mCAAqC;AAErC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACjF,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAA,kBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/styles.css CHANGED
@@ -84,4 +84,4 @@ body.sb-show-main #root,
84
84
  --memori-modal--width: 100%;
85
85
  --memori-modal--width--md: 80%;
86
86
  --memori-error-color: #ff4d4f;
87
- }
87
+ }
@@ -25,7 +25,7 @@
25
25
  justify-content: center;
26
26
  }
27
27
 
28
- .memori-header--button+.memori-header--button {
28
+ .memori-header--button + .memori-header--button {
29
29
  margin-left: 0.25rem;
30
30
  }
31
31
 
@@ -58,4 +58,4 @@
58
58
 
59
59
  .memori-header .memori-share-button {
60
60
  margin-left: 0.25rem;
61
- }
61
+ }
@@ -42,4 +42,4 @@
42
42
  color: var(--memori-text-color, rgba(0, 0, 0, 0.85)) !important;
43
43
  opacity: 0.8;
44
44
  text-decoration: underline;
45
- }
45
+ }
@@ -6,7 +6,7 @@
6
6
  background: none;
7
7
  }
8
8
 
9
- .memori-widget>.memori-spin.memori-chat-layout {
9
+ .memori-widget > .memori-spin.memori-chat-layout {
10
10
  display: flex;
11
11
  height: 100%;
12
12
  flex-direction: column;
@@ -72,7 +72,6 @@
72
72
  }
73
73
 
74
74
  @media (max-width: 870px) {
75
-
76
75
  .memori-chat-layout--controls .memori--start-panel,
77
76
  .memori-chat-layout--controls .memori-chat--wrapper {
78
77
  width: 100%;
@@ -111,4 +110,4 @@
111
110
 
112
111
  .memori-chat-layout .memori-chat-inputs--mic {
113
112
  font-size: 125%;
114
- }
113
+ }
@@ -136,4 +136,4 @@ li.memori-select--option:focus {
136
136
  li.memori-select--option:focus {
137
137
  outline: 2px solid #63b3ed;
138
138
  outline-offset: 2px;
139
- }
139
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import { getErrori18nKey } from './error';
2
+ describe('Error helper for HTTP status codes', () => {
3
+ it('gets error i18n key correctly for 401', () => {
4
+ expect(getErrori18nKey(401)).toBe('error.unauthorized');
5
+ });
6
+ it('gets error i18n key correctly for 404', () => {
7
+ expect(getErrori18nKey(404)).toBe('error.notFound');
8
+ });
9
+ it('gets error i18n key correctly for 500', () => {
10
+ expect(getErrori18nKey(500)).toBe('internal server error');
11
+ });
12
+ it('gets error i18n key correctly for 501', () => {
13
+ expect(getErrori18nKey(501)).toBe('error.generic');
14
+ });
15
+ });
16
+ describe('Error helper for backend error codes', () => {
17
+ it('gets error i18n key correctly for -101', () => {
18
+ expect(getErrori18nKey(-101)).toBe('errors.SESSION_NOT_FOUND');
19
+ });
20
+ it('gets error i18n key correctly for -51', () => {
21
+ expect(getErrori18nKey(-51)).toBe('errors.MEMORI_NOT_FOUND');
22
+ });
23
+ });
24
+ //# sourceMappingURL=error.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.test.js","sourceRoot":"","sources":["../../src/helpers/error.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -13,8 +13,9 @@ export const getResourceUrl = ({ type, resourceURI, sessionID, baseURL = '', api
13
13
  }
14
14
  else if ((resourceURI.startsWith('https://') ||
15
15
  resourceURI.startsWith('http://')) &&
16
- new URL(resourceURI).hostname.includes('memori.ai')) {
17
- return `${resourceURI}${sessionID ? `/${sessionID}` : ''}`;
16
+ (new URL(resourceURI).hostname.includes('memori.ai') ||
17
+ new URL(resourceURI).hostname.includes('aclambda.online'))) {
18
+ return `${resourceURI}${resourceURI.endsWith('/') || !sessionID ? '' : '/'}${sessionID || ''}`;
18
19
  }
19
20
  else if (resourceURI.startsWith('cloud://')) {
20
21
  return `${(apiURL === null || apiURL === void 0 ? void 0 : apiURL.replace(/v2/, 'v1')) || ''}/CloudAsset/${resourceURI.replace('cloud://', '')}`;
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/helpers/media.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,WAAW,EACX,SAAS,EACT,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,EAAE,GACO,EAAU,EAAE;IAC9B,IAAI,UAAU,GACZ,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,GAAG,OAAO,yBAAyB;QACrC,CAAC,CAAC,GAAG,OAAO,0BAA0B,CAAC;IAE3C,IAAI;QACF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,UAAU,CAAC;SACnB;aAAM,IACL,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvC,CAAC,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC7C,SAAS,EACT;YACA,OAAO,GAAG,WAAW,yBAAyB,SAAS,EAAE,CAAC;SAC3D;aAAM,IACL,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC;YACjC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EACnD;YACA,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC5D;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC7C,OAAO,GACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI,EACjC,eAAe,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;SACtD;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC5C,OAAO,GACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI,EACjC,cAAc,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;SACpD;aAAM;YACL,OAAO,WAAW,IAAI,UAAU,CAAC;SAClC;KACF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,WAAW,IAAI,UAAU,CAAC;KAClC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/helpers/media.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,IAAI,EACJ,WAAW,EACX,SAAS,EACT,OAAO,GAAG,EAAE,EACZ,MAAM,GAAG,EAAE,GACO,EAAU,EAAE;IAC9B,IAAI,UAAU,GACZ,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,GAAG,OAAO,yBAAyB;QACrC,CAAC,CAAC,GAAG,OAAO,0BAA0B,CAAC;IAE3C,IAAI;QACF,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,UAAU,CAAC;SACnB;aAAM,IACL,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACvC,CAAC,WAAW,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC7C,SAAS,EACT;YACA,OAAO,GAAG,WAAW,yBAAyB,SAAS,EAAE,CAAC;SAC3D;aAAM,IACL,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC;YACjC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClD,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,EAC5D;YACA,OAAO,GAAG,WAAW,GACnB,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACjD,GAAG,SAAS,IAAI,EAAE,EAAE,CAAC;SACtB;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC7C,OAAO,GACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI,EACjC,eAAe,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;SACtD;aAAM,IAAI,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;YAC5C,OAAO,GACL,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAI,EACjC,cAAc,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;SACpD;aAAM;YACL,OAAO,WAAW,IAAI,UAAU,CAAC;SAClC;KACF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,WAAW,IAAI,UAAU,CAAC;KAClC;AACH,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};