@memori.ai/memori-react 8.6.0 → 8.6.2
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 +23 -0
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js +0 -22
- package/dist/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +13 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +2 -0
- package/dist/components/MemoriWidget/MemoriWidget.d.ts +7 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +7 -115
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/helpers/message.d.ts +1 -1
- package/dist/helpers/message.js +2 -2
- package/dist/helpers/message.js.map +1 -1
- package/dist/helpers/stt/useSTT.js +171 -73
- package/dist/helpers/stt/useSTT.js.map +1 -1
- package/dist/helpers/translations.js +10 -3
- package/dist/helpers/translations.js.map +1 -1
- package/dist/helpers/tts/useTTS.js +16 -1
- package/dist/helpers/tts/useTTS.js.map +1 -1
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js +0 -22
- package/esm/components/CompletionProviderStatus/CompletionProviderStatus.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js +14 -2
- package/esm/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map +1 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +2 -0
- package/esm/components/MemoriWidget/MemoriWidget.d.ts +7 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +7 -115
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/helpers/message.d.ts +1 -1
- package/esm/helpers/message.js +2 -2
- package/esm/helpers/message.js.map +1 -1
- package/esm/helpers/stt/useSTT.js +171 -73
- package/esm/helpers/stt/useSTT.js.map +1 -1
- package/esm/helpers/translations.js +10 -3
- package/esm/helpers/translations.js.map +1 -1
- package/esm/helpers/tts/useTTS.js +16 -1
- package/esm/helpers/tts/useTTS.js.map +1 -1
- package/package.json +1 -1
- package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +1 -33
- package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +23 -1
- package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +2 -0
- package/src/components/MemoriWidget/MemoriWidget.tsx +14 -126
- package/src/helpers/message.ts +2 -2
- package/src/helpers/stt/useSTT.ts +225 -87
- package/src/helpers/translations.ts +12 -1
- package/src/helpers/tts/useTTS.ts +28 -1
- package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.css +0 -319
- package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.d.ts +0 -4
- package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js +0 -50
- package/dist/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js.map +0 -1
- package/dist/components/MemoriArtifactSystem/context/ArtifactSystemContext.d.ts +0 -12
- package/dist/components/MemoriArtifactSystem/context/ArtifactSystemContext.js +0 -22
- package/dist/components/MemoriArtifactSystem/context/ArtifactSystemContext.js.map +0 -1
- package/dist/components/MemoriArtifactSystem/hooks/useArtifactSystem.d.ts +0 -12
- package/dist/components/MemoriArtifactSystem/hooks/useArtifactSystem.js +0 -288
- package/dist/components/MemoriArtifactSystem/hooks/useArtifactSystem.js.map +0 -1
- package/dist/components/MemoriArtifactSystem/index.d.ts +0 -9
- package/dist/components/MemoriArtifactSystem/index.js +0 -28
- package/dist/components/MemoriArtifactSystem/index.js.map +0 -1
- package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.css +0 -319
- package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.d.ts +0 -4
- package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js +0 -47
- package/esm/components/MemoriArtifactSystem/components/ArtifactHistory/ArtifactHistory.js.map +0 -1
- package/esm/components/MemoriArtifactSystem/context/ArtifactSystemContext.d.ts +0 -12
- package/esm/components/MemoriArtifactSystem/context/ArtifactSystemContext.js +0 -17
- package/esm/components/MemoriArtifactSystem/context/ArtifactSystemContext.js.map +0 -1
- package/esm/components/MemoriArtifactSystem/hooks/useArtifactSystem.d.ts +0 -12
- package/esm/components/MemoriArtifactSystem/hooks/useArtifactSystem.js +0 -281
- package/esm/components/MemoriArtifactSystem/hooks/useArtifactSystem.js.map +0 -1
- package/esm/components/MemoriArtifactSystem/index.d.ts +0 -9
- package/esm/components/MemoriArtifactSystem/index.js +0 -9
- package/esm/components/MemoriArtifactSystem/index.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
|
|
2
2
|
|
|
3
|
+
## [8.6.2](https://github.com/memori-ai/memori-react/compare/v8.6.1...v8.6.2) (2025-09-16)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add artifact creation event dispatching in ArtifactHandler ([1fb558b](https://github.com/memori-ai/memori-react/commit/1fb558bdf530d2feabb33f29689c27223ed126a1))
|
|
9
|
+
* enhance audio processing with Safari compatibility and silence detection ([fab7b50](https://github.com/memori-ai/memori-react/commit/fab7b5035af09fa09173b11057ad98578161c5ac))
|
|
10
|
+
* improve silence detection and audio activity analysis in useSTT ([50260a9](https://github.com/memori-ai/memori-react/commit/50260a98f7457b0a86e4155932e9f9b007285f93))
|
|
11
|
+
* refine message rendering and translation handling with improved tag processing ([848d491](https://github.com/memori-ai/memori-react/commit/848d4916620a86e930bfc74c8a24cfd45560186c))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* improve text handling to prevent empty or muted speech ([f1083bc](https://github.com/memori-ai/memori-react/commit/f1083bc0c3287fafa68bb869232a72fc1f0c77f2))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Changes
|
|
20
|
+
|
|
21
|
+
* remove interaction timeout logic from MemoriWidget for cleaner state management ([31d477b](https://github.com/memori-ai/memori-react/commit/31d477bbd934db288333952c2c0c2a2c46ba5f08))
|
|
22
|
+
* simplify incident status checking logic in CompletionProviderStatus component ([44a70d9](https://github.com/memori-ai/memori-react/commit/44a70d9cdd9bc56d6db120b8882d79628dbb1102))
|
|
23
|
+
|
|
24
|
+
## [8.6.1](https://github.com/memori-ai/memori-react/compare/v8.6.0...v8.6.1) (2025-09-15)
|
|
25
|
+
|
|
3
26
|
## [8.6.0](https://github.com/memori-ai/memori-react/compare/v8.5.2...v8.6.0) (2025-09-15)
|
|
4
27
|
|
|
5
28
|
|
|
@@ -34,28 +34,6 @@ const fetchProviderStatus = async (config) => {
|
|
|
34
34
|
return 'operational';
|
|
35
35
|
}
|
|
36
36
|
const data = await response.json();
|
|
37
|
-
if (data.incidents && Array.isArray(data.incidents) && data.incidents.length > 0) {
|
|
38
|
-
const activeIncidents = data.incidents.filter((incident) => {
|
|
39
|
-
if (incident.incident_updates && incident.incident_updates.length > 0) {
|
|
40
|
-
const latestUpdate = incident.incident_updates[incident.incident_updates.length - 1];
|
|
41
|
-
const isResolved = ['resolved', 'completed', 'postmortem'].includes(latestUpdate.status.toLowerCase());
|
|
42
|
-
return !isResolved;
|
|
43
|
-
}
|
|
44
|
-
return !['resolved', 'completed', 'postmortem'].includes(incident.status.toLowerCase());
|
|
45
|
-
});
|
|
46
|
-
if (activeIncidents.length > 0) {
|
|
47
|
-
const critical = activeIncidents.some((i) => i.impact === 'critical' || i.impact === 'major');
|
|
48
|
-
const major = activeIncidents.some((i) => i.impact === 'moderate');
|
|
49
|
-
const investigating = activeIncidents.some((i) => i.status === 'investigating');
|
|
50
|
-
if (investigating)
|
|
51
|
-
return 'partial_outage';
|
|
52
|
-
if (critical)
|
|
53
|
-
return 'major_outage';
|
|
54
|
-
if (major)
|
|
55
|
-
return 'partial_outage';
|
|
56
|
-
return 'degraded_performance';
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
37
|
if (data.components) {
|
|
60
38
|
if (config.apiComponentName) {
|
|
61
39
|
const apiComponentNames = Array.isArray(config.apiComponentName)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionProviderStatus.js","sourceRoot":"","sources":["../../../src/components/CompletionProviderStatus/CompletionProviderStatus.tsx"],"names":[],"mappings":";;;;AAAA,iCAAyD;AACzD,oEAAoC;AACpC,uEAAuC;AACvC,mEAAmC;AACnC,iEAAiC;AACjC,iDAA+C;AAC/C,8DAA8B;AAoB9B,MAAM,gBAAgB,GAAmC;IACvD,MAAM,EAAE;QACN,SAAS,EAAE,+CAA+C;QAC1D,UAAU,EAAE,4BAA4B;QACxC,gBAAgB,EAAE,CAAC,MAAM,EAAE,sBAAsB,CAAC;KACnD;IACD,OAAO,EAAE;QACP,SAAS,EAAE,qDAAqD;QAChE,UAAU,EAAE,kCAAkC;QAC9C,gBAAgB,EAAE,CAAC,SAAS,CAAC;KAC9B;IACD,SAAS,EAAE;QACT,SAAS,EAAE,kDAAkD;QAC7D,UAAU,EAAE,+BAA+B;QAC3C,gBAAgB,EAAE,CAAC,mBAAmB,CAAC;KACxC;CACF,CAAC;AAGF,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAsB,EAAmB,EAAE;IAC5E,IAAI;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,OAAO,aAAa,CAAC;SACtB;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"CompletionProviderStatus.js","sourceRoot":"","sources":["../../../src/components/CompletionProviderStatus/CompletionProviderStatus.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,23 @@ const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
|
|
|
13
13
|
var _a, _b, _c;
|
|
14
14
|
const { openArtifact, state, closeArtifact } = (0, ArtifactContext_1.useArtifact)();
|
|
15
15
|
const [currentArtifact, setCurrentArtifact] = (0, react_1.useState)(null);
|
|
16
|
+
const dispatchArtifactCreatedEvent = (0, react_1.useCallback)((artifact) => {
|
|
17
|
+
const event = new CustomEvent('artifactCreated', {
|
|
18
|
+
detail: {
|
|
19
|
+
artifact,
|
|
20
|
+
message,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
document.dispatchEvent(event);
|
|
24
|
+
}, [message]);
|
|
16
25
|
(0, react_1.useEffect)(() => {
|
|
17
26
|
const messageText = message.translatedText || message.text || '';
|
|
18
27
|
if (messageText.length > 0) {
|
|
19
28
|
const artifacts = detectArtifacts(messageText);
|
|
20
29
|
if (artifacts.length > 0) {
|
|
30
|
+
artifacts.forEach(artifact => {
|
|
31
|
+
dispatchArtifactCreatedEvent(artifact);
|
|
32
|
+
});
|
|
21
33
|
if (isChatlogPanel) {
|
|
22
34
|
setCurrentArtifact(artifacts[0]);
|
|
23
35
|
}
|
|
@@ -29,7 +41,7 @@ const ArtifactHandler = ({ isChatlogPanel = false, message, }) => {
|
|
|
29
41
|
}
|
|
30
42
|
}
|
|
31
43
|
}
|
|
32
|
-
}, [message]);
|
|
44
|
+
}, [message, dispatchArtifactCreatedEvent]);
|
|
33
45
|
const detectArtifacts = (text) => {
|
|
34
46
|
if (!text || message.fromUser)
|
|
35
47
|
return [];
|
package/dist/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtifactHandler.js","sourceRoot":"","sources":["../../../../../src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx"],"names":[],"mappings":";;;;AAAA,iCAA+E;AAC/E,mEAA4D;AAE5D,uFAAuD;AACvD,8FAA8D;AAC9D,qFAAqD;AACrD,qFAAqD;AACrD,iFAAiD;
|
|
1
|
+
{"version":3,"file":"ArtifactHandler.js","sourceRoot":"","sources":["../../../../../src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx"],"names":[],"mappings":"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"}
|
|
@@ -112,10 +112,12 @@
|
|
|
112
112
|
|
|
113
113
|
/* Markdown Preview */
|
|
114
114
|
.memori-artifact-preview-markdown {
|
|
115
|
+
height: 100%;
|
|
115
116
|
padding: 1rem;
|
|
116
117
|
color: var(--memori-text-color, #333);
|
|
117
118
|
font-family: var(--memori-font-family);
|
|
118
119
|
line-height: 1.6;
|
|
120
|
+
overflow-y: scroll;
|
|
119
121
|
}
|
|
120
122
|
|
|
121
123
|
.memori-artifact-preview-markdown h1,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DialogState, Memori, Integration, OpenSession, MemoriConfig, Tenant } from '@memori.ai/memori-api-client/src/types';
|
|
1
|
+
import { DialogState, Memori, Integration, Message, OpenSession, MemoriConfig, Tenant } from '@memori.ai/memori-api-client/src/types';
|
|
2
|
+
import { ArtifactData } from '../MemoriArtifactSystem/types/artifact.types';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import Chat, { Props as ChatProps } from '../Chat/Chat';
|
|
4
5
|
import StartPanel, { Props as StartPanelProps } from '../StartPanel/StartPanel';
|
|
@@ -23,11 +24,16 @@ declare const typeBatchMessages: (messages: {
|
|
|
23
24
|
useLoaderTextAsMsg?: boolean | undefined;
|
|
24
25
|
}[]) => void;
|
|
25
26
|
type MemoriNewDialogStateEvent = CustomEvent<DialogState>;
|
|
27
|
+
type ArtifactCreatedEvent = CustomEvent<{
|
|
28
|
+
artifact: ArtifactData;
|
|
29
|
+
message: Message;
|
|
30
|
+
}>;
|
|
26
31
|
interface CustomEventMap {
|
|
27
32
|
MemoriTextEntered: MemoriTextEnteredEvent;
|
|
28
33
|
MemoriEndSpeak: CustomEvent;
|
|
29
34
|
MemoriResetUIEffects: CustomEvent;
|
|
30
35
|
MemoriNewDialogState: MemoriNewDialogStateEvent;
|
|
36
|
+
artifactCreated: ArtifactCreatedEvent;
|
|
31
37
|
}
|
|
32
38
|
declare global {
|
|
33
39
|
interface Document {
|
|
@@ -327,7 +327,6 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
327
327
|
const onChangeUserMessage = (value) => {
|
|
328
328
|
if (!value || value === '\n' || value.trim() === '') {
|
|
329
329
|
setUserMessage('');
|
|
330
|
-
resetInteractionTimeout();
|
|
331
330
|
return;
|
|
332
331
|
}
|
|
333
332
|
setUserMessage(value);
|
|
@@ -403,7 +402,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
403
402
|
currentState.emission = emission;
|
|
404
403
|
translateDialogState(currentState, userLang, msg).then(ts => {
|
|
405
404
|
let text = ts.translatedEmission || ts.emission;
|
|
406
|
-
if (text) {
|
|
405
|
+
if (text && text.trim() && !speakerMuted) {
|
|
407
406
|
handleSpeak(text);
|
|
408
407
|
}
|
|
409
408
|
});
|
|
@@ -430,7 +429,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
430
429
|
tag: currentState.currentTag,
|
|
431
430
|
memoryTags: currentState.memoryTags,
|
|
432
431
|
});
|
|
433
|
-
|
|
432
|
+
if (emission && emission.trim()) {
|
|
433
|
+
handleSpeak(emission);
|
|
434
|
+
}
|
|
434
435
|
}
|
|
435
436
|
}
|
|
436
437
|
}
|
|
@@ -1136,109 +1137,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1136
1137
|
silenceTimeout: continuousSpeechTimeout,
|
|
1137
1138
|
autoStart: autoStart,
|
|
1138
1139
|
}, defaultEnableAudio);
|
|
1139
|
-
const resetInteractionTimeout = () => {
|
|
1140
|
-
clearInteractionTimeout();
|
|
1141
|
-
if (!isPlayingAudio && !userMessage.length && !memoriTyping && !listening)
|
|
1142
|
-
setInteractionTimeout();
|
|
1143
|
-
};
|
|
1144
|
-
const handleTimeout = async () => {
|
|
1145
|
-
var _a, _b;
|
|
1146
|
-
if (!hasUserActivatedSpeak ||
|
|
1147
|
-
isPlayingAudio ||
|
|
1148
|
-
!!userMessage.length ||
|
|
1149
|
-
!!memoriTyping ||
|
|
1150
|
-
listening) {
|
|
1151
|
-
resetInteractionTimeout();
|
|
1152
|
-
return;
|
|
1153
|
-
}
|
|
1154
|
-
else if (sessionId &&
|
|
1155
|
-
hasUserActivatedSpeak &&
|
|
1156
|
-
(currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.acceptsTimeout)) {
|
|
1157
|
-
const { currentState, ...response } = await postTimeoutEvent(sessionId);
|
|
1158
|
-
if (response.resultCode === 0 && currentState) {
|
|
1159
|
-
const emission = currentState.emission;
|
|
1160
|
-
if (isMultilanguageEnabled &&
|
|
1161
|
-
userLang !== (i18n === null || i18n === void 0 ? void 0 : i18n.language) &&
|
|
1162
|
-
emission &&
|
|
1163
|
-
emission.length > 0) {
|
|
1164
|
-
translateDialogState({ ...currentState, emission: emission }, userLang).then(ts => {
|
|
1165
|
-
let text = ts.translatedEmission || ts.emission;
|
|
1166
|
-
if (text) {
|
|
1167
|
-
handleSpeak(text);
|
|
1168
|
-
}
|
|
1169
|
-
});
|
|
1170
|
-
}
|
|
1171
|
-
else if (emission && emission.length > 0) {
|
|
1172
|
-
pushMessage({
|
|
1173
|
-
text: emission,
|
|
1174
|
-
emitter: currentState.emitter,
|
|
1175
|
-
media: (_a = currentState.emittedMedia) !== null && _a !== void 0 ? _a : currentState.media,
|
|
1176
|
-
fromUser: false,
|
|
1177
|
-
generatedByAI: !!currentState.completion,
|
|
1178
|
-
contextVars: currentState.contextVars,
|
|
1179
|
-
date: currentState.currentDate,
|
|
1180
|
-
placeName: currentState.currentPlaceName,
|
|
1181
|
-
placeLatitude: currentState.currentLatitude,
|
|
1182
|
-
placeLongitude: currentState.currentLongitude,
|
|
1183
|
-
placeUncertaintyKm: currentState.currentUncertaintyKm,
|
|
1184
|
-
tag: currentState.currentTag,
|
|
1185
|
-
memoryTags: currentState.memoryTags,
|
|
1186
|
-
});
|
|
1187
|
-
handleSpeak(emission);
|
|
1188
|
-
setCurrentDialogState({
|
|
1189
|
-
...currentState,
|
|
1190
|
-
hints: (_b = currentState.hints) !== null && _b !== void 0 ? _b : (currentState.state === 'G1' ? currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.hints : []),
|
|
1191
|
-
});
|
|
1192
|
-
}
|
|
1193
|
-
else {
|
|
1194
|
-
resetInteractionTimeout();
|
|
1195
|
-
return;
|
|
1196
|
-
}
|
|
1197
|
-
}
|
|
1198
|
-
}
|
|
1199
|
-
};
|
|
1200
|
-
const setInteractionTimeout = () => {
|
|
1201
|
-
let timeout = currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.timeout;
|
|
1202
|
-
if (!timeout) {
|
|
1203
|
-
let timeoutLimit = 40;
|
|
1204
|
-
let timeoutMinLimit = 25;
|
|
1205
|
-
timeout =
|
|
1206
|
-
Math.floor(Math.random() * (timeoutLimit - timeoutMinLimit)) +
|
|
1207
|
-
timeoutMinLimit;
|
|
1208
|
-
if (currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.emission) {
|
|
1209
|
-
let readTime = currentDialogState.emission.length / 26.5;
|
|
1210
|
-
timeout = timeout + readTime;
|
|
1211
|
-
}
|
|
1212
|
-
}
|
|
1213
|
-
if (forcedTimeout) {
|
|
1214
|
-
timeout = forcedTimeout;
|
|
1215
|
-
if (currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.emission) {
|
|
1216
|
-
let readTime = currentDialogState.emission.length / 26.5;
|
|
1217
|
-
timeout = timeout + readTime;
|
|
1218
|
-
}
|
|
1219
|
-
}
|
|
1220
|
-
let uiTimeout = setTimeout(handleTimeout, timeout * 1000);
|
|
1221
|
-
setUserInteractionTimeout(uiTimeout);
|
|
1222
|
-
timeoutRef.current = uiTimeout;
|
|
1223
|
-
};
|
|
1224
|
-
(0, react_1.useEffect)(() => {
|
|
1225
|
-
if (!!userMessage.length || isPlayingAudio || !!memoriTyping)
|
|
1226
|
-
clearInteractionTimeout();
|
|
1227
|
-
if (sessionId && !!!userMessage.length)
|
|
1228
|
-
resetInteractionTimeout();
|
|
1229
|
-
}, [
|
|
1230
|
-
currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.acceptsTimeout,
|
|
1231
|
-
currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.timeout,
|
|
1232
|
-
currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.state,
|
|
1233
|
-
isPlayingAudio,
|
|
1234
|
-
sessionId,
|
|
1235
|
-
history,
|
|
1236
|
-
userMessage,
|
|
1237
|
-
memoriTyping,
|
|
1238
|
-
hasUserActivatedSpeak,
|
|
1239
|
-
]);
|
|
1240
1140
|
const handleSpeak = async (text) => {
|
|
1241
|
-
if (!text || preview || speakerMuted || !defaultEnableAudio) {
|
|
1141
|
+
if (!text || !text.trim() || preview || speakerMuted || !defaultEnableAudio) {
|
|
1242
1142
|
const e = new CustomEvent('MemoriEndSpeak');
|
|
1243
1143
|
document.dispatchEvent(e);
|
|
1244
1144
|
return Promise.resolve();
|
|
@@ -1246,16 +1146,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1246
1146
|
if (typeof stopRecording === 'function') {
|
|
1247
1147
|
stopRecording();
|
|
1248
1148
|
}
|
|
1249
|
-
setMemoriTyping(true);
|
|
1250
1149
|
const processedText = (0, sanitizer_1.sanitizeText)(text);
|
|
1251
|
-
return ttsSpeak(processedText)
|
|
1252
|
-
.then(() => {
|
|
1253
|
-
setMemoriTyping(false);
|
|
1254
|
-
})
|
|
1255
|
-
.catch(error => {
|
|
1256
|
-
setMemoriTyping(false);
|
|
1257
|
-
throw error;
|
|
1258
|
-
});
|
|
1150
|
+
return ttsSpeak(processedText);
|
|
1259
1151
|
};
|
|
1260
1152
|
const translateAndSpeak = (0, react_1.useCallback)(async (dialogState, language, msg, skipEmission = false) => {
|
|
1261
1153
|
try {
|
|
@@ -1265,7 +1157,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1265
1157
|
}
|
|
1266
1158
|
const translatedState = await translateDialogState(dialogState, language, msg, skipEmission);
|
|
1267
1159
|
const textToSpeak = translatedState.translatedEmission || translatedState.emission;
|
|
1268
|
-
if (textToSpeak && !skipEmission) {
|
|
1160
|
+
if (textToSpeak && textToSpeak.trim() && !skipEmission && !speakerMuted) {
|
|
1269
1161
|
if (!hasUserActivatedSpeak) {
|
|
1270
1162
|
setHasUserActivatedSpeak(true);
|
|
1271
1163
|
}
|