@memori.ai/memori-react 8.19.3 → 8.21.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.
- package/CHANGELOG.md +30 -0
- package/README.md +86 -3
- package/dist/components/ContentPreviewModal/ContentPreviewModal.css +0 -1
- package/dist/components/FilePreview/FilePreview.js +4 -1
- package/dist/components/FilePreview/FilePreview.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.d.ts +2 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +73 -37
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/components/layouts/fullpage.css +115 -0
- package/dist/helpers/piiDetection.d.ts +5 -0
- package/dist/helpers/piiDetection.js +45 -0
- package/dist/helpers/piiDetection.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/testUtils.d.ts +5 -0
- package/dist/testUtils.js +18 -0
- package/dist/testUtils.js.map +1 -0
- package/dist/types/layout.d.ts +16 -0
- package/dist/types/layout.js +3 -0
- package/dist/types/layout.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/esm/components/ContentPreviewModal/ContentPreviewModal.css +0 -1
- package/esm/components/FilePreview/FilePreview.js +4 -1
- package/esm/components/FilePreview/FilePreview.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.d.ts +2 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +73 -37
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/components/layouts/fullpage.css +115 -0
- package/esm/helpers/piiDetection.d.ts +5 -0
- package/esm/helpers/piiDetection.js +41 -0
- package/esm/helpers/piiDetection.js.map +1 -0
- package/esm/index.js +2 -2
- package/esm/index.js.map +1 -1
- package/esm/testUtils.d.ts +5 -0
- package/esm/testUtils.js +15 -0
- package/esm/testUtils.js.map +1 -0
- package/esm/types/layout.d.ts +16 -0
- package/esm/types/layout.js +2 -0
- package/esm/types/layout.js.map +1 -0
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/components/ContentPreviewModal/ContentPreviewModal.css +0 -1
- package/src/components/FilePreview/FilePreview.tsx +4 -1
- package/src/components/MemoriWidget/MemoriWidget.stories.tsx +2 -0
- package/src/components/MemoriWidget/MemoriWidget.tsx +76 -37
- package/src/helpers/piiDetection.test.ts +186 -0
- package/src/helpers/piiDetection.ts +91 -0
- package/src/index.stories.tsx +53 -0
- package/src/index.tsx +1 -1
- package/src/types/layout.ts +50 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.render = render;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_1 = require("@testing-library/react");
|
|
7
|
+
const ui_1 = require("@memori.ai/ui");
|
|
8
|
+
function AlertProviderWrapper({ children }) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsxs)(ui_1.AlertProvider, { children: [children, (0, jsx_runtime_1.jsx)(ui_1.AlertViewport, {})] }));
|
|
10
|
+
}
|
|
11
|
+
function render(ui, options) {
|
|
12
|
+
return (0, react_1.render)(ui, {
|
|
13
|
+
wrapper: AlertProviderWrapper,
|
|
14
|
+
...options,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
tslib_1.__exportStar(require("@testing-library/react"), exports);
|
|
18
|
+
//# sourceMappingURL=testUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../src/testUtils.tsx"],"names":[],"mappings":";;AAyCS,wBAAM;;;AAxCf,kDAIgC;AAChC,sCAA6D;AAM7D,SAAS,oBAAoB,CAAC,EAAE,QAAQ,EAAiC;IACvE,OAAO,CACL,wBAAC,kBAAa,eACX,QAAQ,EACT,uBAAC,kBAAa,KAAG,IACH,CACjB,CAAC;AACJ,CAAC;AAUD,SAAS,MAAM,CACb,EAAsB,EACtB,OAAwC;IAExC,OAAO,IAAA,cAAS,EAAC,EAAE,EAAE;QACnB,OAAO,EAAE,oBAAoB;QAC7B,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC;AAGD,iEAAuC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type LayoutName = 'DEFAULT' | 'FULLPAGE' | 'TOTEM' | 'CHAT' | 'WEBSITE_ASSISTANT' | 'HIDDEN_CHAT' | 'ZOOMED_FULL_BODY';
|
|
2
|
+
export interface PiiDetectionRule {
|
|
3
|
+
id: string;
|
|
4
|
+
label: Record<string, string>;
|
|
5
|
+
pattern: string;
|
|
6
|
+
message: Record<string, string>;
|
|
7
|
+
}
|
|
8
|
+
export interface PiiDetectionConfig {
|
|
9
|
+
enabled: boolean;
|
|
10
|
+
rules: PiiDetectionRule[];
|
|
11
|
+
errorMessage: Record<string, string>;
|
|
12
|
+
}
|
|
13
|
+
export type LayoutProp = LayoutName | {
|
|
14
|
+
name: LayoutName;
|
|
15
|
+
piiDetection?: PiiDetectionConfig;
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/types/layout.ts"],"names":[],"mappings":""}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "8.
|
|
1
|
+
export declare const version = "8.21.0";
|
package/dist/version.js
CHANGED
|
@@ -6,6 +6,7 @@ import Button from '../ui/Button';
|
|
|
6
6
|
import ContentPreviewModal from '../ContentPreviewModal';
|
|
7
7
|
import Snippet from '../Snippet/Snippet';
|
|
8
8
|
import { stripHTML, stripDocumentAttachmentTags } from '../../helpers/utils';
|
|
9
|
+
import { getFileExtensionFromMime } from '../MediaWidget/MediaItemWidget.utils';
|
|
9
10
|
const FilePreview = ({ previewFiles, removeFile, allowRemove = true, }) => {
|
|
10
11
|
var _a;
|
|
11
12
|
const [selectedFile, setSelectedFile] = useState(null);
|
|
@@ -95,7 +96,9 @@ const FilePreview = ({ previewFiles, removeFile, allowRemove = true, }) => {
|
|
|
95
96
|
};
|
|
96
97
|
return (_jsxs(_Fragment, { children: [previewFiles.length > 0 && (_jsx("div", { className: "memori--preview-container", children: _jsx("div", { className: "memori--preview-list", children: previewFiles.map((file) => (_jsxs("div", { className: `memori--preview-item ${isImageContent(file.content, file.type)
|
|
97
98
|
? 'memori--preview-item--image'
|
|
98
|
-
: 'memori--preview-item--document'}`, onClick: () => setSelectedFile(file), children: [isImageContent(file.content, file.type) ? (_jsx("div", { className: "memori--preview-thumbnail", children: _jsx("img", { src: file.content, alt: file.name }) })) : (_jsx(File, { className: "memori--preview-icon" })), _jsxs("div", { className: "memori--preview-file-info", children: [_jsx("span", { className: "memori--preview-filename", children: file.name }), _jsx("span", { className: "memori--preview-filetype", children:
|
|
99
|
+
: 'memori--preview-item--document'}`, onClick: () => setSelectedFile(file), children: [isImageContent(file.content, file.type) ? (_jsx("div", { className: "memori--preview-thumbnail", children: _jsx("img", { src: file.content, alt: file.name }) })) : (_jsx(File, { className: "memori--preview-icon" })), _jsxs("div", { className: "memori--preview-file-info", children: [_jsx("span", { className: "memori--preview-filename", children: file.name }), _jsx("span", { className: "memori--preview-filetype", children: file.mimeType
|
|
100
|
+
? getFileExtensionFromMime(file.mimeType)
|
|
101
|
+
: getFileType(file.name, file.type) })] }), allowRemove && (_jsx(Button, { shape: "rounded", icon: _jsx(CloseIcon, {}), danger: true, className: "memori--remove-button", onClick: e => {
|
|
99
102
|
e.stopPropagation();
|
|
100
103
|
removeFile(file.id, file === null || file === void 0 ? void 0 : file.mediumID);
|
|
101
104
|
} }))] }, file.id))) }) })), _jsx(ContentPreviewModal, { open: !!selectedFile, onClose: () => setSelectedFile(null), title: selectedFile === null || selectedFile === void 0 ? void 0 : selectedFile.name, isImage: !!selectedFile &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilePreview.js","sourceRoot":"","sources":["../../../src/components/FilePreview/FilePreview.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AACzD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"FilePreview.js","sourceRoot":"","sources":["../../../src/components/FilePreview/FilePreview.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,mBAAmB,MAAM,wBAAwB,CAAC;AACzD,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAShF,MAAM,WAAW,GAAG,CAAC,EACnB,YAAY,EACZ,UAAU,EACV,WAAW,GAAG,IAAI,GAEJ,EAAE,EAAE;;IAClB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAKtC,IAAI,CAAC,CAAC;IAEhB,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,IAAa,EAAE,EAAE;;QAEtD,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,0CAAE,WAAW,EAAE,CAAC;YAC3D,QAAQ,SAAS,EAAE;gBACjB,KAAK,KAAK,CAAC;gBACX,KAAK,MAAM;oBACT,OAAO,MAAM,CAAC;gBAChB,KAAK,KAAK;oBACR,OAAO,KAAK,CAAC;gBACf;oBACE,OAAO,OAAO,CAAC;aAClB;SACF;QAGD,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,0CAAE,WAAW,EAAE,CAAC;QAC3D,QAAQ,SAAS,EAAE;YACjB,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,KAAK;gBACR,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC;YACjB,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,KAAK;gBACR,OAAO,KAAK,CAAC;YACf;gBACE,OAAO,UAAU,CAAC;SACrB;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,QAAQ,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;QACrE,IAAI,IAAI,EAAE;YACR,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxC,IAAI,SAAS,EAAE;gBAEZ,IAAI,CAAC,CAAC,CAAiB,CAAC,QAAQ,CAAC;oBAChC,GAAG,EAAG,IAAI,CAAC,CAAC,CAAiB,CAAC,YAAY;oBAC1C,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;aACJ;SACF;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,MAAM,UAAU,GAAG,CAAC,IAAgE,EAAW,EAAE;;QAC/F,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,GAAG,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,0CAAE,WAAW,EAAE,CAAC;QACvD,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC,CAC9E,IAAI,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC;IACvD,CAAC,CAAC;IAGF,MAAM,iBAAiB,GAAG,CAAC,IAAkF,EAAU,EAAE;QACvH,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,CAAA;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YACpB,IAAI,WAAW,GAAG,OAAO,CAAC;YAC1B,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAClE,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1C,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gBAC5B,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS,IAAI,WAAW,CAAC;aAC/D;iBAAM;gBACL,WAAW,GAAG,2BAA2B,CAAC,WAAW,CAAC,CAAC;aACxD;YACD,OAAO,WAAW,CAAC;SACpB;QACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC,CAAC;IAGF,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,IAAa,EAAW,EAAE;QACjE,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAGlC,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1E,MAAM,UAAU,GACd,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAC1B,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACzB,iBAAiB,CAAC,CAAC;QAEvB,OAAO,UAAU,IAAI,iBAAiB,CAAC;IACzC,CAAC,CAAC;IAEF,OAAO,CACL,8BACG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1B,cAAK,SAAS,EAAC,2BAA2B,YACxC,cAAK,SAAS,EAAC,sBAAsB,YAClC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAC/B,eAEE,SAAS,EAAE,wBACT,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;4BACrC,CAAC,CAAC,6BAA6B;4BAC/B,CAAC,CAAC,gCACN,EAAE,EACF,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,aAEnC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzC,cAAK,SAAS,EAAC,2BAA2B,YACxC,cAAK,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,GAAI,GACtC,CACP,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,SAAS,EAAC,sBAAsB,GAAG,CAC1C,EAED,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,0BAA0B,YAAE,IAAI,CAAC,IAAI,GAAQ,EAC7D,eAAM,SAAS,EAAC,0BAA0B,YACvC,IAAI,CAAC,QAAQ;4CACZ,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC;4CACzC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAChC,IACH,EAEL,WAAW,IAAI,CACd,KAAC,MAAM,IACL,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,KAAC,SAAS,KAAG,EACnB,MAAM,QACN,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,CAAC,CAAC,EAAE;oCACX,CAAC,CAAC,eAAe,EAAE,CAAC;oCACpB,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,CAAC;gCACtC,CAAC,GACD,CACH,KApCI,IAAI,CAAC,EAAE,CAqCR,CACP,CAAC,GACE,GACF,CACP,EAED,KAAC,mBAAmB,IAClB,IAAI,EAAE,CAAC,CAAC,YAAY,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EACpC,KAAK,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,EACzB,OAAO,EACL,CAAC,CAAC,YAAY;oBACd,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,EAEzD,QAAQ,EACN,YAAY,IAAI,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC;oBACrE,CAAC,CAAC,YAAY,CAAC,OAAO;oBACtB,CAAC,CAAC,SAAS,EAEf,QAAQ,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,mCAAI,EAAE,YAEjC,YAAY;oBACX,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC;oBACxD,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAC1B,KAAC,OAAO,IACN,OAAO,EAAE,KAAK,EACd,MAAM,EAAE;4BACN,QAAQ,EAAE,YAAY,CAAC,EAAE;4BACzB,QAAQ,EAAE,iBAAiB;4BAC3B,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC;4BACxC,KAAK,EAAE,YAAY,CAAC,IAAI;yBACzB,GACD,CACH,CAAC,CAAC,CAAC,CACF,iBAAiB,CAAC,YAAY,CAAC,CAChC,CAAC,GACgB,IACrB,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DialogState, Memori, Integration, Message, OpenSession, MemoriConfig, Tenant } from '@memori.ai/memori-api-client/src/types';
|
|
2
2
|
import { ArtifactData } from '../MemoriArtifactSystem/types/artifact.types';
|
|
3
|
+
import type { LayoutName } from '../../types/layout';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import Chat, { Props as ChatProps } from '../Chat/Chat';
|
|
5
6
|
import StartPanel, { Props as StartPanelProps } from '../StartPanel/StartPanel';
|
|
@@ -88,7 +89,7 @@ export interface Props {
|
|
|
88
89
|
memoriLang?: string;
|
|
89
90
|
multilingual?: boolean;
|
|
90
91
|
integration?: Integration;
|
|
91
|
-
layout?:
|
|
92
|
+
layout?: LayoutName;
|
|
92
93
|
customLayout?: React.FC<LayoutProps>;
|
|
93
94
|
showShare?: boolean;
|
|
94
95
|
showCopyButton?: boolean;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { ArtifactAPIBridge } from '../MemoriArtifactSystem/utils/ArtifactAPI';
|
|
3
|
+
import { checkPii } from '../../helpers/piiDetection';
|
|
3
4
|
import { useState, useEffect, useCallback, useRef, useMemo, } from 'react';
|
|
4
5
|
import { useTranslation } from 'react-i18next';
|
|
5
6
|
import memoriApiClient from '@memori.ai/memori-api-client';
|
|
@@ -155,7 +156,7 @@ let audioContext;
|
|
|
155
156
|
let memoriPassword;
|
|
156
157
|
let userToken;
|
|
157
158
|
const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenantID, memoriLang, multilingual, integration, layout, customLayout, showShare, preview = false, embed = false, showCopyButton = true, showTranslationOriginal = false, showInputs = true, showDates = false, showContextPerLine = false, showSettings, showTypingText = false, showClear = false, showLogin = false, showUpload, showOnlyLastMessages, showChatHistory, showReasoning, height = '100vh', secret, baseUrl = 'https://aisuru-staging.aclambda.online', apiURL = 'https://backend-staging.memori.ai', engineURL = 'https://engine-staging.memori.ai', initialContextVars, initialQuestion, ttsProvider, ogImage, sessionID: initialSessionID, tenant, personification, authToken, enableAudio, defaultSpeakerActive = true, disableTextEnteredEvents = false, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, __WEBCOMPONENT__ = false, useMathFormatting = false, autoStart = false, applyVarsToRoot = false, showFunctionCache = false, maxTotalMessagePayload, maxTextareaCharacters, }) => {
|
|
158
|
-
var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14;
|
|
159
|
+
var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17;
|
|
159
160
|
const { t, i18n } = useTranslation();
|
|
160
161
|
const [isClient, setIsClient] = useState(false);
|
|
161
162
|
useEffect(() => {
|
|
@@ -220,8 +221,18 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
220
221
|
const [loading, setLoading] = useState(false);
|
|
221
222
|
const [memoriTyping, setMemoriTyping] = useState(false);
|
|
222
223
|
const [typingText, setTypingText] = useState();
|
|
223
|
-
const
|
|
224
|
-
|
|
224
|
+
const layoutName = typeof layout === 'string'
|
|
225
|
+
? layout
|
|
226
|
+
: typeof (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === 'string'
|
|
227
|
+
? integrationConfig.layout
|
|
228
|
+
: (_p = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === null || _p === void 0 ? void 0 : _p.name;
|
|
229
|
+
const selectedLayout = layoutName || 'DEFAULT';
|
|
230
|
+
const piiDetection = typeof (integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === 'object' &&
|
|
231
|
+
(integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) !== null &&
|
|
232
|
+
((_r = (_q = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.layout) === null || _q === void 0 ? void 0 : _q.piiDetection) === null || _r === void 0 ? void 0 : _r.enabled)
|
|
233
|
+
? integrationConfig.layout.piiDetection
|
|
234
|
+
: undefined;
|
|
235
|
+
const defaultEnableAudio = (_s = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _s !== void 0 ? _s : true;
|
|
225
236
|
const [hasUserActivatedListening, setHasUserActivatedListening] = useState(false);
|
|
226
237
|
const [hasUserTypedMessage, setHasUserTypedMessage] = useState(false);
|
|
227
238
|
const [showPositionDrawer, setShowPositionDrawer] = useState(false);
|
|
@@ -352,6 +363,46 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
352
363
|
((_a = window.getMemoriState()) === null || _a === void 0 ? void 0 : _a.sessionID);
|
|
353
364
|
if (!sessionID || !(text === null || text === void 0 ? void 0 : text.length))
|
|
354
365
|
return;
|
|
366
|
+
let msg = text;
|
|
367
|
+
if (!hidden &&
|
|
368
|
+
translate &&
|
|
369
|
+
isMultilanguageEnabled &&
|
|
370
|
+
userLang.toUpperCase() !== language.toUpperCase()) {
|
|
371
|
+
const translation = await getTranslation(text, language, userLang, baseUrl);
|
|
372
|
+
msg = translation.text;
|
|
373
|
+
}
|
|
374
|
+
const mediaDocuments = media === null || media === void 0 ? void 0 : media.filter(m => { var _a; return m.type === 'document' && ((_a = m.properties) === null || _a === void 0 ? void 0 : _a.isAttachedFile); });
|
|
375
|
+
if (mediaDocuments && mediaDocuments.length > 0) {
|
|
376
|
+
const documentContents = mediaDocuments
|
|
377
|
+
.map(doc => doc.content)
|
|
378
|
+
.join(' ');
|
|
379
|
+
msg = msg + ' ' + documentContents;
|
|
380
|
+
}
|
|
381
|
+
if (piiDetection === null || piiDetection === void 0 ? void 0 : piiDetection.enabled) {
|
|
382
|
+
const piiResult = checkPii(msg, piiDetection, (userLang === null || userLang === void 0 ? void 0 : userLang.toLowerCase()) || 'en');
|
|
383
|
+
if (piiResult.matched && piiResult.errorText) {
|
|
384
|
+
if (!hidden) {
|
|
385
|
+
pushMessage({
|
|
386
|
+
text: text,
|
|
387
|
+
translatedText,
|
|
388
|
+
fromUser: true,
|
|
389
|
+
media: media !== null && media !== void 0 ? media : [],
|
|
390
|
+
initial: sessionId
|
|
391
|
+
? !!newSessionId && newSessionId !== sessionId
|
|
392
|
+
: !!newSessionId,
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
pushMessage({
|
|
396
|
+
text: piiResult.errorText,
|
|
397
|
+
emitter: 'system',
|
|
398
|
+
fromUser: false,
|
|
399
|
+
initial: false,
|
|
400
|
+
contextVars: {},
|
|
401
|
+
date: new Date().toISOString(),
|
|
402
|
+
});
|
|
403
|
+
return;
|
|
404
|
+
}
|
|
405
|
+
}
|
|
355
406
|
if (!hidden)
|
|
356
407
|
pushMessage({
|
|
357
408
|
text: text,
|
|
@@ -364,23 +415,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
364
415
|
});
|
|
365
416
|
setMemoriTyping(true);
|
|
366
417
|
setTypingText(typingText);
|
|
367
|
-
let msg = text;
|
|
368
418
|
let gotError = false;
|
|
369
419
|
try {
|
|
370
|
-
if (!hidden &&
|
|
371
|
-
translate &&
|
|
372
|
-
isMultilanguageEnabled &&
|
|
373
|
-
userLang.toUpperCase() !== language.toUpperCase()) {
|
|
374
|
-
const translation = await getTranslation(text, language, userLang, baseUrl);
|
|
375
|
-
msg = translation.text;
|
|
376
|
-
}
|
|
377
|
-
const mediaDocuments = media === null || media === void 0 ? void 0 : media.filter(m => { var _a; return m.type === 'document' && ((_a = m.properties) === null || _a === void 0 ? void 0 : _a.isAttachedFile); });
|
|
378
|
-
if (mediaDocuments && mediaDocuments.length > 0) {
|
|
379
|
-
const documentContents = mediaDocuments
|
|
380
|
-
.map(doc => doc.content)
|
|
381
|
-
.join(' ');
|
|
382
|
-
msg = msg + ' ' + documentContents;
|
|
383
|
-
}
|
|
384
420
|
const { currentState, ...response } = await postTextEnteredEvent({
|
|
385
421
|
sessionId: sessionID,
|
|
386
422
|
text: msg,
|
|
@@ -1084,7 +1120,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1084
1120
|
apiUrl: `${baseUrl}/api/tts`,
|
|
1085
1121
|
continuousSpeech: continuousSpeech,
|
|
1086
1122
|
preview: preview,
|
|
1087
|
-
}, autoStart, defaultEnableAudio, (
|
|
1123
|
+
}, autoStart, defaultEnableAudio, (_t = defaultSpeakerActive !== null && defaultSpeakerActive !== void 0 ? defaultSpeakerActive : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.defaultSpeakerActive) !== null && _t !== void 0 ? _t : true);
|
|
1088
1124
|
const shouldPlayAudio = (text) => {
|
|
1089
1125
|
const currentSpeakerMuted = getLocalConfig('muteSpeaker', !defaultEnableAudio);
|
|
1090
1126
|
console.log('[MemoriWidget] shouldPlayAudio', currentSpeakerMuted);
|
|
@@ -1222,7 +1258,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1222
1258
|
? {
|
|
1223
1259
|
'--memori-chat-bubble-bg': '#fff',
|
|
1224
1260
|
...(integrationConfig && !instruct
|
|
1225
|
-
? { '--memori-text-color': (
|
|
1261
|
+
? { '--memori-text-color': (_u = integrationConfig.textColor) !== null && _u !== void 0 ? _u : '#000' }
|
|
1226
1262
|
: {}),
|
|
1227
1263
|
...((integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.buttonBgColor)
|
|
1228
1264
|
? {
|
|
@@ -1246,12 +1282,12 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1246
1282
|
? {
|
|
1247
1283
|
'--memori-inner-bg': `rgba(${integrationConfig.innerBgColor === 'dark'
|
|
1248
1284
|
? '0, 0, 0'
|
|
1249
|
-
: '255, 255, 255'}, ${(
|
|
1285
|
+
: '255, 255, 255'}, ${(_v = integrationConfig.innerBgAlpha) !== null && _v !== void 0 ? _v : 0.4})`,
|
|
1250
1286
|
'--memori-inner-content-pad': '1.5rem',
|
|
1251
1287
|
'--memori-nav-bg-image': 'none',
|
|
1252
1288
|
'--memori-nav-bg': `rgba(${integrationConfig.innerBgColor === 'dark'
|
|
1253
1289
|
? '0, 0, 0'
|
|
1254
|
-
: '255, 255, 255'}, ${(
|
|
1290
|
+
: '255, 255, 255'}, ${(_w = integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.innerBgAlpha) !== null && _w !== void 0 ? _w : 0.4})`,
|
|
1255
1291
|
}
|
|
1256
1292
|
: {
|
|
1257
1293
|
'--memori-inner-content-pad': '0px',
|
|
@@ -1719,12 +1755,12 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1719
1755
|
const headerProps = {
|
|
1720
1756
|
memori: {
|
|
1721
1757
|
...memori,
|
|
1722
|
-
ownerUserID: (
|
|
1758
|
+
ownerUserID: (_y = (_x = memori.ownerUserID) !== null && _x !== void 0 ? _x : ownerUserID) !== null && _y !== void 0 ? _y : undefined,
|
|
1723
1759
|
},
|
|
1724
1760
|
apiClient: client,
|
|
1725
1761
|
tenant,
|
|
1726
1762
|
history,
|
|
1727
|
-
showShare: (
|
|
1763
|
+
showShare: (_z = showShare !== null && showShare !== void 0 ? showShare : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showShare) !== null && _z !== void 0 ? _z : true,
|
|
1728
1764
|
position,
|
|
1729
1765
|
layout: selectedLayout,
|
|
1730
1766
|
additionalSettings,
|
|
@@ -1732,19 +1768,19 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1732
1768
|
setShowSettingsDrawer,
|
|
1733
1769
|
setShowKnownFactsDrawer,
|
|
1734
1770
|
setShowExpertsDrawer,
|
|
1735
|
-
enableAudio: (
|
|
1771
|
+
enableAudio: (_0 = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _0 !== void 0 ? _0 : true,
|
|
1736
1772
|
speakerMuted: speakerMuted !== null && speakerMuted !== void 0 ? speakerMuted : false,
|
|
1737
1773
|
setSpeakerMuted: (mute) => {
|
|
1738
1774
|
toggleMute(mute);
|
|
1739
1775
|
},
|
|
1740
1776
|
setShowChatHistoryDrawer,
|
|
1741
|
-
showSettings: (
|
|
1742
|
-
showChatHistory: (
|
|
1777
|
+
showSettings: (_1 = showSettings !== null && showSettings !== void 0 ? showSettings : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showSettings) !== null && _1 !== void 0 ? _1 : true,
|
|
1778
|
+
showChatHistory: (_2 = showChatHistory !== null && showChatHistory !== void 0 ? showChatHistory : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showChatHistory) !== null && _2 !== void 0 ? _2 : true,
|
|
1743
1779
|
hasUserActivatedSpeak,
|
|
1744
1780
|
showReload: selectedLayout === 'TOTEM',
|
|
1745
|
-
showClear: (
|
|
1781
|
+
showClear: (_3 = showClear !== null && showClear !== void 0 ? showClear : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showClear) !== null && _3 !== void 0 ? _3 : false,
|
|
1746
1782
|
clearHistory: () => setHistory(h => h.slice(-1)),
|
|
1747
|
-
showLogin: (
|
|
1783
|
+
showLogin: (_4 = showLogin !== null && showLogin !== void 0 ? showLogin : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showLogin) !== null && _4 !== void 0 ? _4 : memori.requireLoginToken,
|
|
1748
1784
|
setShowLoginDrawer,
|
|
1749
1785
|
loginToken,
|
|
1750
1786
|
user,
|
|
@@ -1773,7 +1809,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1773
1809
|
hasUserActivatedSpeak,
|
|
1774
1810
|
isPlayingAudio: isPlayingAudio &&
|
|
1775
1811
|
!speakerMuted &&
|
|
1776
|
-
((
|
|
1812
|
+
((_5 = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _5 !== void 0 ? _5 : true),
|
|
1777
1813
|
loading: !!memoriTyping,
|
|
1778
1814
|
baseUrl,
|
|
1779
1815
|
apiUrl: client.constants.BACKEND_URL,
|
|
@@ -1810,7 +1846,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1810
1846
|
tenant,
|
|
1811
1847
|
translateTo: isMultilanguageEnabled &&
|
|
1812
1848
|
userLang.toUpperCase() !==
|
|
1813
|
-
((
|
|
1849
|
+
((_10 = ((_9 = (_8 = (_7 = (_6 = memori.culture) === null || _6 === void 0 ? void 0 : _6.split('-')) === null || _7 === void 0 ? void 0 : _7[0]) !== null && _8 !== void 0 ? _8 : i18n.language) !== null && _9 !== void 0 ? _9 : 'IT')) === null || _10 === void 0 ? void 0 : _10.toUpperCase())
|
|
1814
1850
|
? userLang
|
|
1815
1851
|
: undefined,
|
|
1816
1852
|
baseUrl,
|
|
@@ -1818,9 +1854,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1818
1854
|
layout,
|
|
1819
1855
|
memoriTyping,
|
|
1820
1856
|
typingText,
|
|
1821
|
-
showTypingText: (
|
|
1857
|
+
showTypingText: (_11 = showTypingText !== null && showTypingText !== void 0 ? showTypingText : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showTypingText) !== null && _11 !== void 0 ? _11 : false,
|
|
1822
1858
|
history: showFullHistory ? history : history.slice(-2),
|
|
1823
|
-
authToken: (
|
|
1859
|
+
authToken: (_13 = (_12 = loginToken !== null && loginToken !== void 0 ? loginToken : userToken) !== null && _12 !== void 0 ? _12 : additionalInfo === null || additionalInfo === void 0 ? void 0 : additionalInfo.loginToken) !== null && _13 !== void 0 ? _13 : authToken,
|
|
1824
1860
|
dialogState: currentDialogState,
|
|
1825
1861
|
pushMessage,
|
|
1826
1862
|
simulateUserPrompt,
|
|
@@ -1830,8 +1866,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1830
1866
|
showUpload: enableUpload,
|
|
1831
1867
|
showReasoning: enableReasoning,
|
|
1832
1868
|
showWhyThisAnswer,
|
|
1833
|
-
showCopyButton: (
|
|
1834
|
-
showTranslationOriginal: (
|
|
1869
|
+
showCopyButton: (_14 = showCopyButton !== null && showCopyButton !== void 0 ? showCopyButton : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showCopyButton) !== null && _14 !== void 0 ? _14 : true,
|
|
1870
|
+
showTranslationOriginal: (_15 = showTranslationOriginal !== null && showTranslationOriginal !== void 0 ? showTranslationOriginal : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.showTranslationOriginal) !== null && _15 !== void 0 ? _15 : false,
|
|
1835
1871
|
client,
|
|
1836
1872
|
instruct,
|
|
1837
1873
|
preview,
|
|
@@ -1841,7 +1877,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1841
1877
|
attachmentsMenuOpen,
|
|
1842
1878
|
setAttachmentsMenuOpen,
|
|
1843
1879
|
showInputs,
|
|
1844
|
-
showMicrophone: !!ttsProvider && ((
|
|
1880
|
+
showMicrophone: !!ttsProvider && ((_16 = enableAudio !== null && enableAudio !== void 0 ? enableAudio : integrationConfig === null || integrationConfig === void 0 ? void 0 : integrationConfig.enableAudio) !== null && _16 !== void 0 ? _16 : true),
|
|
1845
1881
|
showFunctionCache,
|
|
1846
1882
|
userMessage,
|
|
1847
1883
|
onChangeUserMessage,
|
|
@@ -1946,7 +1982,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1946
1982
|
}
|
|
1947
1983
|
throw error;
|
|
1948
1984
|
});
|
|
1949
|
-
}, minimumNumberOfRecoveryTokens: (
|
|
1985
|
+
}, minimumNumberOfRecoveryTokens: (_17 = memori === null || memori === void 0 ? void 0 : memori.minimumNumberOfRecoveryTokens) !== null && _17 !== void 0 ? _17 : 1 })), isClient && (_jsx(AgeVerificationModal, { visible: showAgeVerification, minAge: minAge, onClose: birthDate => {
|
|
1950
1986
|
var _a, _b, _c, _d;
|
|
1951
1987
|
if (birthDate) {
|
|
1952
1988
|
setBirthDate(birthDate);
|