@memori.ai/memori-react 7.21.1 → 7.23.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 +56 -0
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.css +33 -23
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +85 -8
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/dist/components/KnownFacts/KnownFacts.js +1 -1
- package/dist/components/KnownFacts/KnownFacts.js.map +1 -1
- package/dist/components/StartPanel/StartPanel.css +29 -0
- package/dist/components/StartPanel/StartPanel.js +2 -1
- package/dist/components/StartPanel/StartPanel.js.map +1 -1
- package/dist/components/Typing/Typing.js +49 -47
- package/dist/components/Typing/Typing.js.map +1 -1
- package/dist/components/UploadButton/UploadButton.d.ts +1 -0
- package/dist/components/UploadButton/UploadButton.js +142 -3
- package/dist/components/UploadButton/UploadButton.js.map +1 -1
- package/dist/components/icons/Alert.d.ts +5 -0
- package/dist/components/icons/Alert.js +6 -0
- package/dist/components/icons/Alert.js.map +1 -0
- package/dist/components/icons/Info.d.ts +5 -0
- package/dist/components/icons/Info.js +6 -0
- package/dist/components/icons/Info.js.map +1 -0
- package/dist/components/icons/Warning.js +1 -1
- package/dist/components/icons/Warning.js.map +1 -1
- package/dist/components/ui/ConfirmDialog.css +42 -0
- package/dist/components/ui/ConfirmDialog.d.ts +11 -0
- package/dist/components/ui/ConfirmDialog.js +12 -0
- package/dist/components/ui/ConfirmDialog.js.map +1 -0
- package/dist/components/ui/Drawer.css +121 -96
- package/dist/components/ui/Drawer.d.ts +15 -6
- package/dist/components/ui/Drawer.js +44 -13
- package/dist/components/ui/Drawer.js.map +1 -1
- package/dist/locales/de.json +15 -0
- package/dist/locales/en.json +15 -0
- package/dist/locales/es.json +15 -0
- package/dist/locales/fr.json +7 -0
- package/dist/locales/it.json +15 -0
- package/dist/styles.css +6 -4
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.css +33 -23
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +85 -8
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/esm/components/KnownFacts/KnownFacts.js +1 -1
- package/esm/components/KnownFacts/KnownFacts.js.map +1 -1
- package/esm/components/StartPanel/StartPanel.css +29 -0
- package/esm/components/StartPanel/StartPanel.js +2 -1
- package/esm/components/StartPanel/StartPanel.js.map +1 -1
- package/esm/components/Typing/Typing.js +49 -47
- package/esm/components/Typing/Typing.js.map +1 -1
- package/esm/components/UploadButton/UploadButton.d.ts +1 -0
- package/esm/components/UploadButton/UploadButton.js +142 -3
- package/esm/components/UploadButton/UploadButton.js.map +1 -1
- package/esm/components/icons/Alert.d.ts +5 -0
- package/esm/components/icons/Alert.js +4 -0
- package/esm/components/icons/Alert.js.map +1 -0
- package/esm/components/icons/Info.d.ts +5 -0
- package/esm/components/icons/Info.js +4 -0
- package/esm/components/icons/Info.js.map +1 -0
- package/esm/components/icons/Warning.js +1 -1
- package/esm/components/icons/Warning.js.map +1 -1
- package/esm/components/ui/ConfirmDialog.css +42 -0
- package/esm/components/ui/ConfirmDialog.d.ts +11 -0
- package/esm/components/ui/ConfirmDialog.js +9 -0
- package/esm/components/ui/ConfirmDialog.js.map +1 -0
- package/esm/components/ui/Drawer.css +121 -96
- package/esm/components/ui/Drawer.d.ts +15 -6
- package/esm/components/ui/Drawer.js +45 -14
- package/esm/components/ui/Drawer.js.map +1 -1
- package/esm/locales/de.json +15 -0
- package/esm/locales/en.json +15 -0
- package/esm/locales/es.json +15 -0
- package/esm/locales/fr.json +7 -0
- package/esm/locales/it.json +15 -0
- package/esm/styles.css +6 -4
- package/package.json +1 -1
- package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +10 -0
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +33 -23
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.stories.tsx +274 -21
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +117 -21
- package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +39 -21
- package/src/components/KnownFacts/KnownFacts.tsx +1 -1
- package/src/components/StartPanel/StartPanel.css +29 -0
- package/src/components/StartPanel/StartPanel.tsx +47 -0
- package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +827 -7
- package/src/components/Typing/Typing.tsx +52 -47
- package/src/components/UploadButton/UploadButton.tsx +206 -5
- package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +1 -1
- package/src/components/icons/Alert.tsx +31 -0
- package/src/components/icons/Info.tsx +31 -0
- package/src/components/icons/Warning.tsx +2 -1
- package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +74 -0
- package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +148 -0
- package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +74 -0
- package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +74 -0
- package/src/components/ui/ConfirmDialog.css +42 -0
- package/src/components/ui/ConfirmDialog.stories.tsx +216 -0
- package/src/components/ui/ConfirmDialog.test.tsx +124 -0
- package/src/components/ui/ConfirmDialog.tsx +58 -0
- package/src/components/ui/Drawer.css +121 -96
- package/src/components/ui/Drawer.stories.tsx +152 -67
- package/src/components/ui/Drawer.test.tsx +6 -2
- package/src/components/ui/Drawer.tsx +195 -89
- package/src/components/ui/__snapshots__/ConfirmDialog.test.tsx.snap +35 -0
- package/src/locales/de.json +15 -0
- package/src/locales/en.json +15 -0
- package/src/locales/es.json +15 -0
- package/src/locales/fr.json +7 -0
- package/src/locales/it.json +15 -0
- package/src/styles.css +6 -4
|
@@ -1,19 +1,28 @@
|
|
|
1
1
|
import React, { FC } from 'react';
|
|
2
2
|
export interface Props {
|
|
3
|
+
title?: string | React.ReactNode;
|
|
3
4
|
open?: boolean;
|
|
4
|
-
|
|
5
|
+
data?: any;
|
|
6
|
+
onClose?: () => void;
|
|
7
|
+
width?: number | string;
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
footer?: {
|
|
10
|
+
leftAction?: React.ReactNode;
|
|
11
|
+
leftActionClassName?: string;
|
|
12
|
+
onSubmit?: () => void;
|
|
13
|
+
loading?: boolean;
|
|
14
|
+
};
|
|
15
|
+
extra?: React.ReactNode;
|
|
5
16
|
className?: string;
|
|
6
|
-
|
|
17
|
+
placement?: 'left' | 'right';
|
|
7
18
|
description?: string | JSX.Element | React.ReactNode;
|
|
8
|
-
children: JSX.Element | React.ReactNode;
|
|
9
|
-
footer?: JSX.Element | React.ReactNode;
|
|
10
19
|
loading?: boolean;
|
|
11
20
|
animated?: boolean;
|
|
12
21
|
closable?: boolean;
|
|
13
|
-
side?: 'left' | 'right';
|
|
14
|
-
width?: string;
|
|
15
22
|
widthMd?: string;
|
|
16
23
|
widthLg?: string;
|
|
24
|
+
confirmDialogTitle?: string;
|
|
25
|
+
confirmDialogMessage?: string;
|
|
17
26
|
}
|
|
18
27
|
declare const Drawer: FC<Props>;
|
|
19
28
|
export default Drawer;
|
|
@@ -2,23 +2,54 @@
|
|
|
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 = tslib_1.
|
|
5
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
const react_2 = require("@headlessui/react");
|
|
7
7
|
const Spin_1 = tslib_1.__importDefault(require("./Spin"));
|
|
8
8
|
const Button_1 = tslib_1.__importDefault(require("./Button"));
|
|
9
9
|
const Close_1 = tslib_1.__importDefault(require("../icons/Close"));
|
|
10
10
|
const classnames_1 = tslib_1.__importDefault(require("classnames"));
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
const react_i18next_1 = require("react-i18next");
|
|
12
|
+
const ConfirmDialog_1 = tslib_1.__importDefault(require("./ConfirmDialog"));
|
|
13
|
+
const Drawer = ({ title, open = false, data, onClose = () => { }, children, width = '80%', footer, extra, className, placement = 'right', description, loading = false, animated = true, closable = true, widthMd = '80%', widthLg = '60%', confirmDialogTitle, confirmDialogMessage, }) => {
|
|
14
|
+
const [originalData, setOriginalData] = (0, react_1.useState)(null);
|
|
15
|
+
const [confirmDialogOpen, setConfirmDialogOpen] = (0, react_1.useState)(false);
|
|
16
|
+
const { t } = (0, react_i18next_1.useTranslation)();
|
|
17
|
+
(0, react_1.useEffect)(() => {
|
|
18
|
+
if (open && data && !originalData) {
|
|
19
|
+
setOriginalData(data);
|
|
20
|
+
}
|
|
21
|
+
if (!open) {
|
|
22
|
+
setOriginalData(null);
|
|
23
|
+
}
|
|
24
|
+
}, [open, data, originalData]);
|
|
25
|
+
const checkChanges = (0, react_1.useCallback)(() => {
|
|
26
|
+
if (!data || Object.keys(data).length === 0) {
|
|
27
|
+
return onClose();
|
|
28
|
+
}
|
|
29
|
+
if (originalData && JSON.stringify(originalData) !== JSON.stringify(data)) {
|
|
30
|
+
setConfirmDialogOpen(true);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
onClose();
|
|
34
|
+
}
|
|
35
|
+
}, [data, originalData, onClose]);
|
|
36
|
+
const handleClose = (0, react_1.useCallback)(() => {
|
|
37
|
+
checkChanges();
|
|
38
|
+
}, [checkChanges]);
|
|
39
|
+
const handleConfirmUnsavedChanges = (0, react_1.useCallback)(() => {
|
|
40
|
+
setConfirmDialogOpen(false);
|
|
41
|
+
onClose();
|
|
42
|
+
}, [onClose]);
|
|
43
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ConfirmDialog_1.default, { isOpen: confirmDialogOpen, onClose: () => setConfirmDialogOpen(false), onConfirm: handleConfirmUnsavedChanges, title: confirmDialogTitle || t('confirmDialog.title'), message: confirmDialogMessage || t('confirmDialog.message'), confirmText: t('confirm') || 'Confirm', cancelText: t('cancel') || 'Cancel' }), (0, jsx_runtime_1.jsx)(react_2.Transition, { appear: true, show: open, as: react_1.default.Fragment, children: (0, jsx_runtime_1.jsxs)(react_2.Dialog, { open: open, onClose: handleClose, className: (0, classnames_1.default)('memori-drawer', className), children: [(0, jsx_runtime_1.jsx)(react_2.Transition.Child, { as: react_1.default.Fragment, enter: "ease-out duration-300", enterFrom: "opacity-0", enterTo: "opacity-100", leave: "ease-in duration-200", leaveFrom: "opacity-100", leaveTo: "opacity-0", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--backdrop" }) }), (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--container", children: (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--container-scrollable", children: (0, jsx_runtime_1.jsx)(react_2.Transition.Child, { static: true, as: react_1.default.Fragment, enter: "ease-out duration-300", enterFrom: animated ? 'max-w-0 opacity-0' : 'opacity-0', enterTo: "max-w-80 opacity-100", leave: "ease-in duration-200", leaveFrom: "max-w-80 opacity-100", leaveTo: animated ? 'max-w-0 opacity-0' : 'opacity-0', children: (0, jsx_runtime_1.jsxs)(react_2.Dialog.Panel, { className: (0, classnames_1.default)('memori-drawer--panel', {
|
|
44
|
+
'memori-drawer--panel-left': placement === 'left',
|
|
45
|
+
'memori-drawer--with-footer': !!footer,
|
|
46
|
+
}), style: {
|
|
47
|
+
'--memori-drawer--width': width,
|
|
48
|
+
'--memori-drawer--width--lg': widthLg,
|
|
49
|
+
'--memori-drawer--width--md': widthMd,
|
|
50
|
+
}, children: [closable && ((0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--close", children: (0, jsx_runtime_1.jsx)(Button_1.default, { shape: "circle", outlined: true, icon: (0, jsx_runtime_1.jsx)(Close_1.default, {}), onClick: handleClose }) })), (0, jsx_runtime_1.jsx)(Spin_1.default, { spinning: loading, children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-drawer--content", children: [title && ((0, jsx_runtime_1.jsx)(react_2.Dialog.Title, { className: "memori-drawer--title", children: title })), description && ((0, jsx_runtime_1.jsx)(react_2.Dialog.Description, { className: "memori-drawer--description", children: description })), (0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--content--scrollable", children: children })] }) }), footer && ((0, jsx_runtime_1.jsxs)("div", { className: "memori-drawer--footer", children: [footer.leftAction && ((0, jsx_runtime_1.jsx)("div", { className: 'memori-drawer--footer-left-action ' +
|
|
51
|
+
(footer.leftActionClassName || ''), children: footer.leftAction })), footer.onSubmit && ((0, jsx_runtime_1.jsxs)("div", { className: "memori-drawer--footer-actions", children: [(0, jsx_runtime_1.jsx)(Button_1.default, { outlined: true, onClick: handleClose, children: t('cancel') }), (0, jsx_runtime_1.jsx)(Button_1.default, { htmlType: "submit", onClick: footer.onSubmit, loading: footer.loading, className: "memori-drawer--footer-confirm", children: t('confirm') })] })), extra && ((0, jsx_runtime_1.jsx)("div", { className: "memori-drawer--extra", children: extra }))] }))] }) }) }) })] }) })] }));
|
|
52
|
+
};
|
|
53
|
+
Drawer.displayName = 'Drawer';
|
|
23
54
|
exports.default = Drawer;
|
|
24
55
|
//# sourceMappingURL=Drawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/ui/Drawer.tsx"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"Drawer.js","sourceRoot":"","sources":["../../../src/components/ui/Drawer.tsx"],"names":[],"mappings":"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"}
|
package/dist/locales/de.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"nothingFound": "Nichts gefunden",
|
|
39
39
|
"venue": "Veranstaltungsort",
|
|
40
40
|
"searchVenue": "Veranstaltungsort suchen...",
|
|
41
|
+
"privacyPolicy": "Datenschutzbestimmungen",
|
|
41
42
|
"memoriBlockedTitle": "Blockiert",
|
|
42
43
|
"memoriBlockedUntil": "Agent blockiert bis {{date}}",
|
|
43
44
|
"memoriBlockedAnon": "Momentan \"{{name}}„Kann nicht antworten, komm hierher zurück {{date}}",
|
|
@@ -49,6 +50,9 @@
|
|
|
49
50
|
"receiverLabel": "Zugewiesen an",
|
|
50
51
|
"completionsEnabled": "Fortschrittliche KI kann mit automatisch generierten Antworten reagieren, die manchmal falsche Informationen enthalten können",
|
|
51
52
|
"completionProviderDown": "Dieser Zwilling ist mit einer generativen KI von integriert {{provider}}, aber es ist derzeit nicht verfügbar. ",
|
|
53
|
+
"completionProviderMajorOutage": "Dieser Zwilling ist mit einer generativen KI von integriert {{provider}}, aber es ist derzeit nicht verfügbar. Diese Funktion wird nicht verfügbar sein, bis der Service wiederhergestellt ist.",
|
|
54
|
+
"completionProviderPartialOutage": "Dieser Zwilling ist mit einer generativen KI von integriert {{provider}}, aber es ist derzeit nicht verfügbar. Diese Funktion wird nicht verfügbar sein, bis der Service wiederhergestellt ist.",
|
|
55
|
+
"completionProviderDegraded": "Dieser Zwilling ist mit einer generativen KI von integriert {{provider}}, aber es ist derzeit nicht verfügbar. Diese Funktion wird nicht verfügbar sein, bis der Service wiederhergestellt ist.",
|
|
52
56
|
"completionProviderFallbackName": "ein externer Anbieter",
|
|
53
57
|
"completionProviderCheckStatusPage": "Überprüfen Sie die Statusseite",
|
|
54
58
|
"boardOfExperts": "Expertengremium",
|
|
@@ -69,6 +73,10 @@
|
|
|
69
73
|
"deepThoughtPreDisclaimerUnlogged": "Melden Sie sich an, um Deep Thought zu aktivieren.",
|
|
70
74
|
"deepThoughtPreDisclaimerNotAllowed": "Deep Thought ist deaktiviert, da Sie der Nutzung nicht zugestimmt haben. Sie können dies jederzeit in Ihren Kontoeinstellungen ändern.",
|
|
71
75
|
"notEnoughCredits": "Der Autor dieses Zwillings verfügt nicht über genügend Credits, um Ihre Frage zu beantworten.",
|
|
76
|
+
"confirmDialog": {
|
|
77
|
+
"title": "Möchten Sie diese Seite verlassen?",
|
|
78
|
+
"message": "Die Änderungen, die Sie vorgenommen haben, werden verloren."
|
|
79
|
+
},
|
|
72
80
|
"knownFacts": {
|
|
73
81
|
"title": "Bekannte Fakten",
|
|
74
82
|
"description": "Einzelheiten zu den Informationen, die zwischen Ihnen und geteilt werden {{memoriName}}",
|
|
@@ -110,6 +118,13 @@
|
|
|
110
118
|
"micButtonPopoverListening": "Klicken Sie auf die Schaltfläche, um das Sprechen zu stoppen",
|
|
111
119
|
"pageInstructExplanation": "Um mir neue Dinge beizubringen, klicken Sie auf die Schaltfläche „ANLEITEN“, um zu beginnen",
|
|
112
120
|
"pageTryMeExplanation": "Um mit mir zu sprechen, klicken Sie auf die Schaltfläche START, um zu beginnen",
|
|
121
|
+
"pagePrivacyExplanation": "Die Konversationen sind sichtbar von dem Autor des Agenten",
|
|
122
|
+
"pagePrivacyExplanationList": {
|
|
123
|
+
"allConversations": "Alle Konversationen mit diesem Agenten sind sichtbar von dem Autor des Agenten",
|
|
124
|
+
"anonymousUser": "Für anonyme Benutzer: der Autor wird den Inhalt der Konversation und Ihre IP-Adresse sehen",
|
|
125
|
+
"registeredUser": "Für registrierte Benutzer: der Autor wird den Inhalt der Konversation und Ihren Benutzernamen sehen",
|
|
126
|
+
"authorUsesInfo": "Der Autor verwendet diese Informationen, um die Funktionen des Agenten zu verbessern und Ihnen einen besseren Service anzubieten. Wenn Sie die Konversation fortsetzen, stimmen Sie diesen Bedingungen zu."
|
|
127
|
+
},
|
|
113
128
|
"instructButton": "WEISE MICH AN",
|
|
114
129
|
"tryMeButton": "START",
|
|
115
130
|
"chatHistory": "Chatverlauf",
|
package/dist/locales/en.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"nothingFound": "Nothing found",
|
|
39
39
|
"venue": "Venue",
|
|
40
40
|
"searchVenue": "Search venue...",
|
|
41
|
+
"privacyPolicy": "Privacy policy",
|
|
41
42
|
"memoriBlockedTitle": "Blocked",
|
|
42
43
|
"memoriBlockedUntil": "Agent blocked until {{date}}",
|
|
43
44
|
"memoriBlockedAnon": "Currently \"{{name}}\" can't answer, come back here on {{date}}",
|
|
@@ -49,6 +50,9 @@
|
|
|
49
50
|
"receiverLabel": "Assigned to",
|
|
50
51
|
"completionsEnabled": "Advanced AI, can respond with automatically generated answers that may sometimes contain incorrect information",
|
|
51
52
|
"completionProviderDown": "This agent is integrated with a generative AI from {{provider}}, but it is currently unavailable. Try again later.",
|
|
53
|
+
"completionProviderMajorOutage": "This agent is integrated with a generative AI from {{provider}}, but it is completely down. This feature will not be available until the service is restored.",
|
|
54
|
+
"completionProviderPartialOutage": "This agent is integrated with a generative AI from {{provider}}, but it is experiencing partial outages. Some features may be unavailable or perform poorly.",
|
|
55
|
+
"completionProviderDegraded": "This agent is integrated with a generative AI from {{provider}}, but it is performing slower than usual. Responses may take longer or be less accurate.",
|
|
52
56
|
"completionProviderFallbackName": "an external provider",
|
|
53
57
|
"completionProviderCheckStatusPage": "Check status page",
|
|
54
58
|
"boardOfExperts": "Board of experts",
|
|
@@ -69,6 +73,10 @@
|
|
|
69
73
|
"deepThoughtPreDisclaimerUnlogged": "Log in to enable Deep Thought.",
|
|
70
74
|
"deepThoughtPreDisclaimerNotAllowed": "Deep Thought is disabled since you didn't consent its usage, you can change this any time in your account settings.",
|
|
71
75
|
"notEnoughCredits": "The author of this agent does not have enough credits to answer your question.",
|
|
76
|
+
"confirmDialog": {
|
|
77
|
+
"title": "Do you want to leave this page?",
|
|
78
|
+
"message": "The changes you made will be lost."
|
|
79
|
+
},
|
|
72
80
|
"knownFacts": {
|
|
73
81
|
"title": "Known facts",
|
|
74
82
|
"description": "Details of the information shared between you and {{memoriName}}",
|
|
@@ -110,6 +118,13 @@
|
|
|
110
118
|
"micButtonPopoverListening": "Click the button to stop speak",
|
|
111
119
|
"pageInstructExplanation": "To teach me new things click on the INSTRUCT ME button to get started",
|
|
112
120
|
"pageTryMeExplanation": "To talk to me click on the START button to get started",
|
|
121
|
+
"pagePrivacyExplanation": "The conversations are visible by the author of the agent",
|
|
122
|
+
"pagePrivacyExplanationList": {
|
|
123
|
+
"allConversations": "All conversations with this agent are visible to the author of the agent",
|
|
124
|
+
"anonymousUser": "For anonymous users: the author will see the content of the conversation and your IP address",
|
|
125
|
+
"registeredUser": "For registered users: the author will see the content of the conversation and your username",
|
|
126
|
+
"authorUsesInfo": "The author uses this information to improve the features of the agent and to provide you with a better service. Continuing the conversation, you accept these conditions."
|
|
127
|
+
},
|
|
113
128
|
"instructButton": "INSTRUCT ME",
|
|
114
129
|
"tryMeButton": "START",
|
|
115
130
|
"resumeButton": "RESUME",
|
package/dist/locales/es.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"nothingFound": "No se encontró nada",
|
|
39
39
|
"venue": "Evento",
|
|
40
40
|
"searchVenue": "Buscar lugar...",
|
|
41
|
+
"privacyPolicy": "Política de privacidad",
|
|
41
42
|
"memoriBlockedTitle": "Obstruido",
|
|
42
43
|
"memoriBlockedUntil": "Agent bloqueado hasta {{date}}",
|
|
43
44
|
"memoriBlockedAnon": "Actualmente \"{{name}}\"No puedo responder, vuelve aquí. {{date}}",
|
|
@@ -49,6 +50,9 @@
|
|
|
49
50
|
"receiverLabel": "Asignado a",
|
|
50
51
|
"completionsEnabled": "La IA avanzada puede responder con respuestas generadas automáticamente que a veces pueden contener información incorrecta.",
|
|
51
52
|
"completionProviderDown": "Este Agent está integrado con una IA generativa de {{provider}}, pero actualmente no está disponible. ",
|
|
53
|
+
"completionProviderMajorOutage": "Este Agent está integrado con una IA generativa de {{provider}}, pero al momento no está disponible. No será posible utilizar esta funcionalidad hasta que el servicio se restaure.",
|
|
54
|
+
"completionProviderPartialOutage": "Este Agent está integrado con una IA generativa de {{provider}}, pero está experimentando interrupciones parciales. Algunas funcionalidades pueden no estar disponibles o funcionar de manera no óptima.",
|
|
55
|
+
"completionProviderDegraded": "Este Agent está integrado con una IA generativa de {{provider}}, pero está funcionando más lentamente de lo normal. Las respuestas pueden tomar más tiempo o ser menos precisas.",
|
|
52
56
|
"completionProviderFallbackName": "un proveedor externo",
|
|
53
57
|
"completionProviderCheckStatusPage": "Comprobar página de estado",
|
|
54
58
|
"boardOfExperts": "junta de expertos",
|
|
@@ -69,6 +73,10 @@
|
|
|
69
73
|
"deepThoughtPreDisclaimerUnlogged": "Inicie sesión para habilitar Pensamiento profundo.",
|
|
70
74
|
"deepThoughtPreDisclaimerNotAllowed": "Deep Thought está deshabilitado porque usted no dio su consentimiento para su uso; puede cambiar esto en cualquier momento en la configuración de su cuenta.",
|
|
71
75
|
"notEnoughCredits": "El autor de este Gemelo no tiene suficientes créditos para responder a tu pregunta.",
|
|
76
|
+
"confirmDialog": {
|
|
77
|
+
"title": "¿Quieres salir de esta página?",
|
|
78
|
+
"message": "Los cambios que has realizado se perderán."
|
|
79
|
+
},
|
|
72
80
|
"knownFacts": {
|
|
73
81
|
"title": "hechos conocidos",
|
|
74
82
|
"description": "Detalles de la información compartida entre usted y {{memoriName}}",
|
|
@@ -110,6 +118,13 @@
|
|
|
110
118
|
"micButtonPopoverListening": "Haga clic en el botón para dejar de hablar.",
|
|
111
119
|
"pageInstructExplanation": "Para enseñarme cosas nuevas, haga clic en el botón INSTRUIRME para comenzar.",
|
|
112
120
|
"pageTryMeExplanation": "Para hablar conmigo haga clic en el botón INICIO para comenzar",
|
|
121
|
+
"pagePrivacyExplanation": "Las conversaciones son visibles por el autor del agente",
|
|
122
|
+
"pagePrivacyExplanationList": {
|
|
123
|
+
"allConversations": "Todas las conversaciones con este agente son visibles por el autor del agente",
|
|
124
|
+
"anonymousUser": "Para usuarios anónimos: el autor verá el contenido de la conversación y su dirección IP",
|
|
125
|
+
"registeredUser": "Para usuarios registrados: el autor verá el contenido de la conversación y su nombre de usuario",
|
|
126
|
+
"authorUsesInfo": "El autor utiliza estas informaciones para mejorar las funciones del agente y para ofrecerte un mejor servicio. Continuando la conversación, acepta estas condiciones."
|
|
127
|
+
},
|
|
113
128
|
"instructButton": "INSTRUÍME",
|
|
114
129
|
"tryMeButton": "COMENZAR",
|
|
115
130
|
"chatHistory": "Historial de chat",
|
package/dist/locales/fr.json
CHANGED
|
@@ -49,6 +49,9 @@
|
|
|
49
49
|
"receiverLabel": "Assigné à",
|
|
50
50
|
"completionsEnabled": "L'IA avancée peut répondre avec des réponses générées automatiquement qui peuvent parfois contenir des informations incorrectes",
|
|
51
51
|
"completionProviderDown": "Ce Agent est intégré à une IA générative de {{provider}}, mais il est actuellement indisponible. ",
|
|
52
|
+
"completionProviderMajorOutage": "Ce Agent est intégré à une IA générative de {{provider}}, mais il est actuellement indisponible. Cette fonctionnalité ne sera pas disponible tant que le service ne sera pas restauré.",
|
|
53
|
+
"completionProviderPartialOutage": "Ce Agent est intégré à une IA générative de {{provider}}, mais il est actuellement indisponible. Cette fonctionnalité ne sera pas disponible tant que le service ne sera pas restauré.",
|
|
54
|
+
"completionProviderDegraded": "Ce Agent est intégré à une IA générative de {{provider}}, mais il est actuellement indisponible. Cette fonctionnalité ne sera pas disponible tant que le service ne sera pas restauré.",
|
|
52
55
|
"completionProviderFallbackName": "un prestataire externe",
|
|
53
56
|
"completionProviderCheckStatusPage": "Vérifier la page d'état",
|
|
54
57
|
"boardOfExperts": "Conseil d'experts",
|
|
@@ -69,6 +72,10 @@
|
|
|
69
72
|
"deepThoughtPreDisclaimerUnlogged": "Connectez-vous pour activer Deep Thought.",
|
|
70
73
|
"deepThoughtPreDisclaimerNotAllowed": "Deep Thought est désactivé car vous n'avez pas consenti à son utilisation, vous pouvez le modifier à tout moment dans les paramètres de votre compte.",
|
|
71
74
|
"notEnoughCredits": "L'auteur de ce Agent n'a pas suffisamment de crédits pour répondre à votre question.",
|
|
75
|
+
"confirmDialog": {
|
|
76
|
+
"title": "Voulez-vous quitter cette page ?",
|
|
77
|
+
"message": "Les modifications que vous avez apportées seront perdues."
|
|
78
|
+
},
|
|
72
79
|
"knownFacts": {
|
|
73
80
|
"title": "Faits connus",
|
|
74
81
|
"description": "Détails des informations partagées entre vous et {{memoriName}}",
|
package/dist/locales/it.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"nothingFound": "Nessun risultato",
|
|
39
39
|
"venue": "Luogo",
|
|
40
40
|
"searchVenue": "Cerca luogo...",
|
|
41
|
+
"privacyPolicy": "Informativa sulla privacy",
|
|
41
42
|
"memoriBlockedTitle": "Bloccato",
|
|
42
43
|
"memoriBlockedUntil": "Agente bloccato fino al {{date}}",
|
|
43
44
|
"memoriBlockedAnon": "Attualmente \"{{name}}\" non può rispondere, torna qui il {{date}}",
|
|
@@ -49,6 +50,9 @@
|
|
|
49
50
|
"receiverLabel": "Assegnato a",
|
|
50
51
|
"completionsEnabled": "IA evoluta, può rispondere con risposte generate automaticamente che talvolta potrebbero contenere informazioni non corrette",
|
|
51
52
|
"completionProviderDown": "Questo agente è integrato con una IA generativa di {{provider}}, ma al momento non è disponibile. Riprova più tardi.",
|
|
53
|
+
"completionProviderMajorOutage": "Questo agente è integrato con una IA generativa di {{provider}}, ma al momento non è disponibile. Non sarà possibile utilizzare questa funzionalità finché il servizio non viene ripristinato.",
|
|
54
|
+
"completionProviderPartialOutage": "Questo agente è integrato con una IA generativa di {{provider}}, ma sta riscontrando interruzioni parziali. Alcune funzionalità potrebbero non essere disponibili o funzionare in modo non ottimale.",
|
|
55
|
+
"completionProviderDegraded": "Questo agente è integrato con una IA generativa di {{provider}}, ma sta funzionando più lentamente del normale. Le risposte potrebbero richiedere più tempo o essere meno precise.",
|
|
52
56
|
"completionProviderFallbackName": "un provider esterno",
|
|
53
57
|
"completionProviderCheckStatusPage": "Vedi pagina di stato",
|
|
54
58
|
"boardOfExperts": "Gruppo di esperti",
|
|
@@ -69,6 +73,10 @@
|
|
|
69
73
|
"deepThoughtPreDisclaimerUnlogged": "Accedi per abilitare Pensiero Profondo.",
|
|
70
74
|
"deepThoughtPreDisclaimerNotAllowed": "Pensiero Profondo è disabilitato poiché non hai acconsentito al suo utilizzo, puoi cambiare la tua scelta in qualsiasi momento nelle impostazioni del tuo account.",
|
|
71
75
|
"notEnoughCredits": "L'autore di questo agente non ha abbastanza crediti per rispondere alla tua domanda.",
|
|
76
|
+
"confirmDialog": {
|
|
77
|
+
"title": "Confermi di voler lasciare questa pagina?",
|
|
78
|
+
"message": "Le modifiche non salvate andranno perse."
|
|
79
|
+
},
|
|
72
80
|
"knownFacts": {
|
|
73
81
|
"title": "Fatti noti",
|
|
74
82
|
"description": "Dettagli delle informazioni condivise tra te e {{memoriName}}",
|
|
@@ -110,6 +118,13 @@
|
|
|
110
118
|
"micButtonPopoverListening": "Premi il pulsante per smettere di parlare",
|
|
111
119
|
"pageInstructExplanation": "Per insegnarmi nuove cose clicca sul pulsante ISTRUISCIMI per cominciare",
|
|
112
120
|
"pageTryMeExplanation": "Per parlare con me clicca sul pulsante INIZIAMO per cominciare",
|
|
121
|
+
"pagePrivacyExplanation": "Le conversazioni sono visibili all'autore dell'agente",
|
|
122
|
+
"pagePrivacyExplanationList": {
|
|
123
|
+
"allConversations": "Tutte le conversazioni con questo agente sono visibili all'autore dell'agente",
|
|
124
|
+
"anonymousUser": "Per utenti anonimi: l'autore vedrà il contenuto e l'indirizzo IP",
|
|
125
|
+
"registeredUser": "Per utenti registrati: l'autore vedrà il contenuto e il nome utente",
|
|
126
|
+
"authorUsesInfo": "L'autore utilizza queste informazioni per migliorare le funzionalità dell'agente. Continuando, accetti queste condizioni."
|
|
127
|
+
},
|
|
113
128
|
"instructButton": "ISTRUISCIMI",
|
|
114
129
|
"tryMeButton": "INIZIAMO",
|
|
115
130
|
"resumeButton": "RIPRENDI",
|
package/dist/styles.css
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@import url('./components/ui/Button.css');
|
|
2
2
|
@import url('./components/ui/Card.css');
|
|
3
3
|
@import url('./components/ui/Checkbox.css');
|
|
4
|
+
@import url('./components/ui/ConfirmDialog.css');
|
|
4
5
|
@import url('./components/ui/Drawer.css');
|
|
5
6
|
@import url('./components/ui/Modal.css');
|
|
6
7
|
@import url('./components/ui/Spin.css');
|
|
@@ -10,8 +11,7 @@
|
|
|
10
11
|
@import url('./components/ui/Details.css');
|
|
11
12
|
@import url('./components/ui/Expandable.css');
|
|
12
13
|
@import url('./components/ui/Slider.css');
|
|
13
|
-
@import url('./components/
|
|
14
|
-
@import url('./components/FilePreview/FilePreview.css');
|
|
14
|
+
@import url('./components/ui/Alert.css');
|
|
15
15
|
|
|
16
16
|
@import url('./components/CompletionProviderStatus/CompletionProviderStatus.css');
|
|
17
17
|
@import url('./components/PoweredBy/PoweredBy.css');
|
|
@@ -49,14 +49,16 @@
|
|
|
49
49
|
@import url('./components/VenueWidget/VenueWidget.css');
|
|
50
50
|
@import url('./components/WhyThisAnswer/WhyThisAnswer.css');
|
|
51
51
|
@import url('./components/MemoriWidget/MemoriWidget.css');
|
|
52
|
-
@import url('./components/
|
|
53
|
-
@import url('
|
|
52
|
+
@import url('./components/UploadButton/UploadButton.css');
|
|
53
|
+
@import url('./components/FilePreview/FilePreview.css');
|
|
54
54
|
|
|
55
55
|
@import url('./components/layouts/hidden-chat.css');
|
|
56
56
|
@import url('./components/layouts/totem.css');
|
|
57
57
|
@import url('./components/layouts/website-assistant.css');
|
|
58
58
|
@import url('./components/layouts/chat.css');
|
|
59
59
|
@import url('./components/layouts/zoomed-full-body.css');
|
|
60
|
+
|
|
61
|
+
@import url('https://fonts.bunny.net/css?family=lexend-deca:200,400,700');
|
|
60
62
|
@import url('https://cdn.jsdelivr.net/npm/katex@0.16.10/dist/katex.min.css');
|
|
61
63
|
|
|
62
64
|
.sr-only {
|
|
@@ -1,26 +1,36 @@
|
|
|
1
1
|
.memori--completion-provider-status--icon {
|
|
2
|
-
width:
|
|
3
|
-
height:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
.memori--completion-provider-status--
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.memori--completion-provider-status--tooltip.memori-tooltip .memori-tooltip--content p {
|
|
13
|
-
margin: 0.5em auto;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.memori--completion-provider-status--tooltip.memori-tooltip .memori-tooltip--content p+p {
|
|
17
|
-
margin-top: 1em;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.memori--completion-provider-status--loading {
|
|
21
|
-
display: flex;
|
|
22
|
-
width: 100%;
|
|
23
|
-
height: 100%;
|
|
2
|
+
width: 24px;
|
|
3
|
+
height: 24px;
|
|
4
|
+
cursor: pointer;
|
|
5
|
+
font-size: 16px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.memori--completion-provider-status--loading {
|
|
9
|
+
display: inline-flex;
|
|
24
10
|
align-items: center;
|
|
25
11
|
justify-content: center;
|
|
26
|
-
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.memori--completion-provider-status--icon-error {
|
|
15
|
+
color: #f5222d;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.memori--completion-provider-status--icon-warning {
|
|
19
|
+
color: #faad14;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.memori--completion-provider-status--icon-info {
|
|
23
|
+
color: #1890ff;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.memori--completion-provider-status--tooltip {
|
|
27
|
+
max-width: 300px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.memori--completion-provider-status--tooltip p {
|
|
31
|
+
margin-bottom: 8px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.memori--completion-provider-status--tooltip p:last-child {
|
|
35
|
+
margin-bottom: 0;
|
|
36
|
+
}
|
|
@@ -2,33 +2,73 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useEffect, useState, useCallback } from 'react';
|
|
3
3
|
import Tooltip from '../ui/Tooltip';
|
|
4
4
|
import Warning from '../icons/Warning';
|
|
5
|
+
import Alert from '../icons/Alert';
|
|
6
|
+
import Info from '../icons/Info';
|
|
5
7
|
import { useTranslation } from 'react-i18next';
|
|
6
8
|
import Spin from '../ui/Spin';
|
|
7
9
|
const PROVIDER_CONFIGS = {
|
|
8
10
|
OpenAI: {
|
|
9
11
|
statusUrl: 'https://status.openai.com/api/v2/summary.json',
|
|
10
12
|
statusPage: 'https://status.openai.com/',
|
|
13
|
+
apiComponentName: ['Chat', 'Completions (legacy)'],
|
|
11
14
|
},
|
|
12
15
|
Mistral: {
|
|
13
16
|
statusUrl: 'https://status.mistral-data.com/api/v2/summary.json',
|
|
14
17
|
statusPage: 'https://status.mistral-data.com/',
|
|
18
|
+
apiComponentName: ['Mistral'],
|
|
15
19
|
},
|
|
16
20
|
Anthropic: {
|
|
17
21
|
statusUrl: 'https://status.anthropic.com/api/v2/summary.json',
|
|
18
22
|
statusPage: 'https://status.anthropic.com/',
|
|
23
|
+
apiComponentName: ['api.anthropic.com'],
|
|
19
24
|
},
|
|
20
25
|
};
|
|
21
|
-
const fetchProviderStatus = async (
|
|
22
|
-
var _a, _b;
|
|
26
|
+
const fetchProviderStatus = async (config) => {
|
|
23
27
|
try {
|
|
24
|
-
const response = await fetch(statusUrl);
|
|
28
|
+
const response = await fetch(config.statusUrl);
|
|
25
29
|
if (!response.ok) {
|
|
26
30
|
console.warn(`Status API returned ${response.status}`);
|
|
27
31
|
return 'operational';
|
|
28
32
|
}
|
|
29
33
|
const data = await response.json();
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
if (data.incidents && Array.isArray(data.incidents) && data.incidents.length > 0) {
|
|
35
|
+
const activeIncidents = data.incidents.filter((incident) => !['resolved', 'completed', 'postmortem'].includes(incident.status.toLowerCase()));
|
|
36
|
+
if (activeIncidents.length > 0) {
|
|
37
|
+
const critical = activeIncidents.some((i) => i.impact === 'critical' || i.impact === 'major');
|
|
38
|
+
const major = activeIncidents.some((i) => i.impact === 'moderate');
|
|
39
|
+
if (critical)
|
|
40
|
+
return 'major_outage';
|
|
41
|
+
if (major)
|
|
42
|
+
return 'partial_outage';
|
|
43
|
+
return 'degraded_performance';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (data.components) {
|
|
47
|
+
if (config.apiComponentName) {
|
|
48
|
+
const apiComponentNames = Array.isArray(config.apiComponentName)
|
|
49
|
+
? config.apiComponentName
|
|
50
|
+
: [config.apiComponentName];
|
|
51
|
+
for (const name of apiComponentNames) {
|
|
52
|
+
const apiComponent = data.components.find((component) => component.name === name);
|
|
53
|
+
if (apiComponent && apiComponent.status !== 'operational') {
|
|
54
|
+
return apiComponent.status;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const anyDegradedComponent = data.components.some((component) => component.status !== 'operational');
|
|
59
|
+
if (anyDegradedComponent) {
|
|
60
|
+
return 'degraded_performance';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (data.status && data.status.indicator !== 'none') {
|
|
64
|
+
if (data.status.indicator === 'critical')
|
|
65
|
+
return 'major_outage';
|
|
66
|
+
if (data.status.indicator === 'major')
|
|
67
|
+
return 'partial_outage';
|
|
68
|
+
if (data.status.indicator === 'minor')
|
|
69
|
+
return 'degraded_performance';
|
|
70
|
+
}
|
|
71
|
+
return 'operational';
|
|
32
72
|
}
|
|
33
73
|
catch (error) {
|
|
34
74
|
console.error('Error fetching provider status:', error);
|
|
@@ -43,7 +83,7 @@ const CompletionProviderStatus = ({ forceStatus, provider = 'OpenAI', }) => {
|
|
|
43
83
|
const getStatus = useCallback(async () => {
|
|
44
84
|
if (!config)
|
|
45
85
|
return 'operational';
|
|
46
|
-
return fetchProviderStatus(config
|
|
86
|
+
return fetchProviderStatus(config);
|
|
47
87
|
}, [config]);
|
|
48
88
|
useEffect(() => {
|
|
49
89
|
let mounted = true;
|
|
@@ -82,9 +122,46 @@ const CompletionProviderStatus = ({ forceStatus, provider = 'OpenAI', }) => {
|
|
|
82
122
|
if (!status || status === 'operational') {
|
|
83
123
|
return null;
|
|
84
124
|
}
|
|
85
|
-
|
|
125
|
+
const getStatusDetails = () => {
|
|
126
|
+
switch (status) {
|
|
127
|
+
case 'major_outage':
|
|
128
|
+
return {
|
|
129
|
+
Icon: Alert,
|
|
130
|
+
message: t('completionProviderMajorOutage', {
|
|
131
|
+
provider: provider !== null && provider !== void 0 ? provider : t('completionProviderFallbackName'),
|
|
132
|
+
fallback: t('completionProviderDown', {
|
|
133
|
+
provider: provider !== null && provider !== void 0 ? provider : t('completionProviderFallbackName'),
|
|
134
|
+
})
|
|
135
|
+
}),
|
|
136
|
+
className: "memori--completion-provider-status--icon-error"
|
|
137
|
+
};
|
|
138
|
+
case 'partial_outage':
|
|
139
|
+
return {
|
|
140
|
+
Icon: Warning,
|
|
141
|
+
message: t('completionProviderPartialOutage', {
|
|
86
142
|
provider: provider !== null && provider !== void 0 ? provider : t('completionProviderFallbackName'),
|
|
87
|
-
|
|
143
|
+
fallback: t('completionProviderDown', {
|
|
144
|
+
provider: provider !== null && provider !== void 0 ? provider : t('completionProviderFallbackName'),
|
|
145
|
+
})
|
|
146
|
+
}),
|
|
147
|
+
className: "memori--completion-provider-status--icon-warning"
|
|
148
|
+
};
|
|
149
|
+
case 'degraded_performance':
|
|
150
|
+
default:
|
|
151
|
+
return {
|
|
152
|
+
Icon: Info,
|
|
153
|
+
message: t('completionProviderDegraded', {
|
|
154
|
+
provider: provider !== null && provider !== void 0 ? provider : t('completionProviderFallbackName'),
|
|
155
|
+
fallback: t('completionProviderDown', {
|
|
156
|
+
provider: provider !== null && provider !== void 0 ? provider : t('completionProviderFallbackName'),
|
|
157
|
+
})
|
|
158
|
+
}),
|
|
159
|
+
className: "memori--completion-provider-status--icon-info"
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
const { Icon, message, className } = getStatusDetails();
|
|
164
|
+
return (_jsx(Tooltip, { className: "memori--completion-provider-status--tooltip", align: "right", content: _jsxs("div", { children: [_jsx("p", { children: message }), (config === null || config === void 0 ? void 0 : config.statusPage) && (_jsx("p", { children: _jsx("a", { href: config.statusPage, rel: "noopener noreferrer", target: "_blank", children: t('completionProviderCheckStatusPage') }) }))] }), children: _jsx(Icon, { className: `memori--completion-provider-status--icon ${className}` }) }));
|
|
88
165
|
};
|
|
89
166
|
export default CompletionProviderStatus;
|
|
90
167
|
//# sourceMappingURL=CompletionProviderStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionProviderStatus.js","sourceRoot":"","sources":["../../../src/components/CompletionProviderStatus/CompletionProviderStatus.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,IAAI,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"CompletionProviderStatus.js","sourceRoot":"","sources":["../../../src/components/CompletionProviderStatus/CompletionProviderStatus.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ const KnownFacts = ({ apiClient, sessionID, memori, visible = true, initialKnown
|
|
|
27
27
|
setLoading(true);
|
|
28
28
|
try {
|
|
29
29
|
const { knownFacts, count, ...response } = await getKnownFactsPaginated(sessionId !== null && sessionId !== void 0 ? sessionId : sessionID, from !== null && from !== void 0 ? from : pageIndex, howMany !== null && howMany !== void 0 ? howMany : numberOfResults);
|
|
30
|
-
setKnownFacts(knownFacts !== null && knownFacts !== void 0 ? knownFacts :
|
|
30
|
+
setKnownFacts(knownFacts !== null && knownFacts !== void 0 ? knownFacts : initialKnownFacts);
|
|
31
31
|
setKnownFactsCount(count !== null && count !== void 0 ? count : 0);
|
|
32
32
|
if (response.resultCode !== 0) {
|
|
33
33
|
console.error(response);
|