uneeq-js 2.47.10 → 2.48.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/dist/index.js +1 -1
- package/dist/src/service/api.d.ts +3 -2
- package/dist/src/service/speech-handler.d.ts +3 -1
- package/dist/src/types/ChatMetadata.d.ts +9 -0
- package/dist/src/types/MessageTypes.d.ts +8 -1
- package/dist/src/types/SpeechHandlerOptions.d.ts +2 -0
- package/dist/src/types/UneeqOptions.d.ts +6 -0
- package/dist/src/uneeq.d.ts +9 -0
- package/dist/umd/index.js +60 -11
- package/package.json +1 -1
- package/readme.md +6 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AvatarAvailableCountResponse } from '../types/AvatarAvailableCountResponse';
|
|
2
|
+
import { ChatMetadata } from '../types/ChatMetadata';
|
|
2
3
|
import { MediaUnavailableRequest } from '../types/MediaUnavailableRequest';
|
|
3
4
|
import { NewSessionRequest } from '../types/NewSessionRequest';
|
|
4
5
|
import { NewSessionResponse } from '../types/NewSessionResponse';
|
|
@@ -19,8 +20,8 @@ export declare class API {
|
|
|
19
20
|
startSession(data: NewSessionRequest): Promise<NewSessionResponse>;
|
|
20
21
|
endCall(): Promise<void>;
|
|
21
22
|
avatarStart(data: PersonaStartRequest): Promise<void>;
|
|
22
|
-
avatarWelcome(): Promise<void>;
|
|
23
|
-
avatarAsk(text: string): Promise<void>;
|
|
23
|
+
avatarWelcome(metadata?: ChatMetadata): Promise<void>;
|
|
24
|
+
avatarAsk(text: string, metadata?: ChatMetadata): Promise<void>;
|
|
24
25
|
avatarStartRecording(): Promise<void>;
|
|
25
26
|
avatarStopRecording(): Promise<void>;
|
|
26
27
|
stopSpeaking(): Promise<void>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { ChatMetadata } from '../types/ChatMetadata';
|
|
1
2
|
import { SpeechHandlerOptions } from '../types/SpeechHandlerOptions';
|
|
2
3
|
export declare class SpeechHandler {
|
|
3
|
-
|
|
4
|
+
options: SpeechHandlerOptions;
|
|
4
5
|
private ws;
|
|
5
6
|
private mediaRecorder;
|
|
6
7
|
private logPrefix;
|
|
@@ -17,6 +18,7 @@ export declare class SpeechHandler {
|
|
|
17
18
|
stopRecognition(): void;
|
|
18
19
|
pause(): boolean;
|
|
19
20
|
resume(): boolean;
|
|
21
|
+
setChatMetadata(chatMetadata: ChatMetadata): void;
|
|
20
22
|
private loadScript;
|
|
21
23
|
private loadScripts;
|
|
22
24
|
private handleAppMessages;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChatMetadata } from './ChatMetadata';
|
|
1
2
|
import { ClientPerformanceStats } from './ClientPerformanceStats';
|
|
2
3
|
import { PublishSubscribeState } from './PublishSubscribeState';
|
|
3
4
|
import { SpeechTranscriptionResult } from './SpeechTranscriptionResult';
|
|
@@ -52,7 +53,8 @@ export declare enum UneeqMessageType {
|
|
|
52
53
|
DigitalHumanVideoError = "DigitalHumanVideoError",
|
|
53
54
|
DigitalHumanFailedToPlay = "DigitalHumanFailedToPlay",
|
|
54
55
|
DigitalHumanPlayedInMutedModeSuccess = "DigitalHumanPlayedInMutedModeSuccess",
|
|
55
|
-
DigitalHumanUnmuted = "DigitalHumanUnmuted"
|
|
56
|
+
DigitalHumanUnmuted = "DigitalHumanUnmuted",
|
|
57
|
+
CustomMetadataUpdated = "CustomMetadataUpdated"
|
|
56
58
|
}
|
|
57
59
|
/**
|
|
58
60
|
* Service is ready to be used
|
|
@@ -432,3 +434,8 @@ export declare class DigitalHumanUnmuted implements UneeqMessage {
|
|
|
432
434
|
uneeqMessageType: UneeqMessageType;
|
|
433
435
|
constructor();
|
|
434
436
|
}
|
|
437
|
+
export declare class CustomMetadataUpdated implements UneeqMessage {
|
|
438
|
+
readonly chatMetadata: ChatMetadata;
|
|
439
|
+
uneeqMessageType: UneeqMessageType;
|
|
440
|
+
constructor(chatMetadata: ChatMetadata);
|
|
441
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Subject } from 'rxjs';
|
|
2
2
|
import { API } from '../service/api';
|
|
3
|
+
import { ChatMetadata } from './ChatMetadata';
|
|
3
4
|
export interface SpeechHandlerOptions {
|
|
4
5
|
apiUrl: string;
|
|
5
6
|
sessionId: string;
|
|
@@ -9,4 +10,5 @@ export interface SpeechHandlerOptions {
|
|
|
9
10
|
hintPhrases: string;
|
|
10
11
|
locales: string;
|
|
11
12
|
jwtToken: string;
|
|
13
|
+
chatMetadata: ChatMetadata;
|
|
12
14
|
}
|
|
@@ -81,4 +81,10 @@ export interface UneeqOptions {
|
|
|
81
81
|
* A space separated list of phrases the speech recognition system should expect.
|
|
82
82
|
*/
|
|
83
83
|
speechRecognitionHintPhrases?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Custom Metadata
|
|
86
|
+
* A stringified value that will be sent to BYO NLPs with all chat calls like playWelcomeMessage and sendTranscript requests.
|
|
87
|
+
* This can be set to any stringified value.
|
|
88
|
+
*/
|
|
89
|
+
customMetadata?: string;
|
|
84
90
|
}
|
package/dist/src/uneeq.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export declare class Uneeq {
|
|
|
34
34
|
private digitalHumanVideoElement;
|
|
35
35
|
private sessionWasResumed;
|
|
36
36
|
private uneeqLocalStorage;
|
|
37
|
+
private chatMetadata;
|
|
37
38
|
constructor(options: UneeqOptions);
|
|
38
39
|
setLoggerEnabled(enabled: boolean): void;
|
|
39
40
|
/**
|
|
@@ -83,6 +84,13 @@ export declare class Uneeq {
|
|
|
83
84
|
* @param enable Defaults to true
|
|
84
85
|
*/
|
|
85
86
|
enableMicrophoneAndCamera(enable?: boolean): void;
|
|
87
|
+
/**
|
|
88
|
+
* Set the custom field in chat metadata to a string value that will be sent
|
|
89
|
+
* to BYO NLPs with all chat calls like playWelcomeMessage and sendTranscript requests.
|
|
90
|
+
*
|
|
91
|
+
* @param customMetadata
|
|
92
|
+
*/
|
|
93
|
+
setCustomChatMetadata(customMetadata: string): void;
|
|
86
94
|
/**
|
|
87
95
|
* Send a text based message to the avatar.
|
|
88
96
|
* @param text
|
|
@@ -168,4 +176,5 @@ export declare class Uneeq {
|
|
|
168
176
|
* Warn implementer if unavailable
|
|
169
177
|
*/
|
|
170
178
|
private checkIfResumeSessionIsAvailable;
|
|
179
|
+
private initChatMetadata;
|
|
171
180
|
}
|
package/dist/umd/index.js
CHANGED
|
@@ -3727,6 +3727,7 @@ class Uneeq {
|
|
|
3727
3727
|
if (this.options.customData) {
|
|
3728
3728
|
this.startSessionData.customData = this.options.customData;
|
|
3729
3729
|
}
|
|
3730
|
+
this.chatMetadata = this.initChatMetadata(this.options);
|
|
3730
3731
|
logger_1.logger.log(`Uneeq Created (version ${this.version})`);
|
|
3731
3732
|
this.streamManager = new stream_manager_1.StreamManager();
|
|
3732
3733
|
this.initDigitalHumanVideoElement();
|
|
@@ -3849,6 +3850,21 @@ class Uneeq {
|
|
|
3849
3850
|
this.deviceManager.enableLocalDevices(enable, enable);
|
|
3850
3851
|
}
|
|
3851
3852
|
}
|
|
3853
|
+
/**
|
|
3854
|
+
* Set the custom field in chat metadata to a string value that will be sent
|
|
3855
|
+
* to BYO NLPs with all chat calls like playWelcomeMessage and sendTranscript requests.
|
|
3856
|
+
*
|
|
3857
|
+
* @param customMetadata
|
|
3858
|
+
*/
|
|
3859
|
+
setCustomChatMetadata(customMetadata) {
|
|
3860
|
+
if (this.chatMetadata) {
|
|
3861
|
+
this.chatMetadata.custom = customMetadata;
|
|
3862
|
+
this.messages.next(new MessageTypes_1.CustomMetadataUpdated(this.chatMetadata));
|
|
3863
|
+
}
|
|
3864
|
+
else {
|
|
3865
|
+
this.messages.next(new MessageTypes_1.WarningMessage('Call to set custom chat metadata will be ignored as metadata does not exist yet.'));
|
|
3866
|
+
}
|
|
3867
|
+
}
|
|
3852
3868
|
/**
|
|
3853
3869
|
* Send a text based message to the avatar.
|
|
3854
3870
|
* @param text
|
|
@@ -3856,7 +3872,7 @@ class Uneeq {
|
|
|
3856
3872
|
sendTranscript(text) {
|
|
3857
3873
|
if (this.serviceReadyCheck('sendTranscript')) {
|
|
3858
3874
|
if (!this.sessionPaused) {
|
|
3859
|
-
this.api.avatarAsk(text);
|
|
3875
|
+
this.api.avatarAsk(text, this.chatMetadata);
|
|
3860
3876
|
}
|
|
3861
3877
|
else {
|
|
3862
3878
|
this.messages.next(new MessageTypes_1.WarningMessage('Call to sendTranscript() will be ignored. Session is paused.'));
|
|
@@ -3977,7 +3993,7 @@ class Uneeq {
|
|
|
3977
3993
|
* Trigger this conversation's welcome message
|
|
3978
3994
|
*/
|
|
3979
3995
|
playWelcomeMessage() {
|
|
3980
|
-
return this.api.avatarWelcome();
|
|
3996
|
+
return this.api.avatarWelcome(this.chatMetadata);
|
|
3981
3997
|
}
|
|
3982
3998
|
/* Unmute the digital human video - this might be called if the video started in muted mode.*/
|
|
3983
3999
|
unmuteDigitalHuman() {
|
|
@@ -4042,7 +4058,8 @@ class Uneeq {
|
|
|
4042
4058
|
assetBasePath: this.options.assetBasePath,
|
|
4043
4059
|
locales: this.options.speechToTextLocales || '',
|
|
4044
4060
|
hintPhrases: this.options.speechRecognitionHintPhrases || '',
|
|
4045
|
-
jwtToken: token
|
|
4061
|
+
jwtToken: token,
|
|
4062
|
+
chatMetadata: this.chatMetadata
|
|
4046
4063
|
});
|
|
4047
4064
|
}
|
|
4048
4065
|
else {
|
|
@@ -4072,7 +4089,7 @@ class Uneeq {
|
|
|
4072
4089
|
if (!this.sessionStarted) {
|
|
4073
4090
|
this.messages.next(new MessageTypes_1.SessionLiveMessage(this.session.showUneeqLogo || false, this.sessionWasResumed));
|
|
4074
4091
|
if (this.options.playWelcome) {
|
|
4075
|
-
this.
|
|
4092
|
+
this.playWelcomeMessage();
|
|
4076
4093
|
}
|
|
4077
4094
|
// Metric the session start time
|
|
4078
4095
|
const startTimeMetric = {
|
|
@@ -4210,6 +4227,17 @@ class Uneeq {
|
|
|
4210
4227
|
this.options.resumeSession = false;
|
|
4211
4228
|
}
|
|
4212
4229
|
}
|
|
4230
|
+
initChatMetadata(options) {
|
|
4231
|
+
return {
|
|
4232
|
+
userSpokenLocale: '',
|
|
4233
|
+
browserDetectedLocales: options.speechToTextLocales,
|
|
4234
|
+
userTimezone: this.api.getTimeZone(),
|
|
4235
|
+
userScreenWidth: window.screen.availWidth,
|
|
4236
|
+
userScreenHeight: window.screen.availHeight,
|
|
4237
|
+
userAgent: navigator.userAgent,
|
|
4238
|
+
custom: options.customMetadata
|
|
4239
|
+
};
|
|
4240
|
+
}
|
|
4213
4241
|
}
|
|
4214
4242
|
exports.Uneeq = Uneeq;
|
|
4215
4243
|
|
|
@@ -13271,7 +13299,7 @@ exports.race = race;
|
|
|
13271
13299
|
/***/ ((module) => {
|
|
13272
13300
|
|
|
13273
13301
|
"use strict";
|
|
13274
|
-
module.exports = JSON.parse('{"name":"uneeq-js","version":"2.
|
|
13302
|
+
module.exports = JSON.parse('{"name":"uneeq-js","version":"2.48.0","description":"","main":"dist/index.js","types":"dist/src/index.d.ts","scripts":{"start":"npx webpack -w","test-local":"npx karma start karma.conf.js -logLevel=DEBUG","test":"npx karma start --browsers ChromeHeadless --single-run","test:windows":"karma start karma.conf.js","build":"webpack --config webpack.config.prod.js && webpack --config webpack.config.umd.js","lint":"npx tslint -p tsconfig.json --fix","docs":"npx typedoc --options"},"files":["dist","!dist/test"],"author":"","license":"ISC","dependencies":{"@stomp/stompjs":"^6.0.0","@uehreka/seriously":"^1.0.1","fast-text-encoding":"^1.0.0","intrinsic-scale":"^3.0.4","onnxruntime-web":"^1.15.1","promjs":"^0.4.1","ring-buffer-ts":"^1.2.0","rxjs":"^7.8.1","rxjs-compat":"^6.6.7","simple-peer":"^9.11.1","webrtc-adapter":"^8.2.3"},"devDependencies":{"@types/dom-mediacapture-record":"^1.0.16","@types/jasmine":"^2.8.8","@types/node":"^10.9.4","fetch-mock":"7.7.3","ignore-styles":"^5.0.1","jasmine":"^5.1.0","jasmine-core":"^5.1.0","karma":"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-firefox-launcher":"^2.1.2","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.1.0","karma-requirejs":"^1.1.0","karma-typescript":"^5.5.4","karma-typescript-es6-transform":"^5.5.4","nock":"^9.6.1","requirejs":"^2.3.6","ts-loader":"^9.4.4","ts-node":"^7.0.1","tslint":"^5.11.0","tslint-no-focused-test":"^0.5.0","typedoc":"^0.18.0","typescript":"^5.1.6","webpack":"^5.88.2","webpack-cli":"^5.1.4"}}');
|
|
13275
13303
|
|
|
13276
13304
|
/***/ }),
|
|
13277
13305
|
/* 242 */
|
|
@@ -13312,11 +13340,16 @@ class API {
|
|
|
13312
13340
|
avatarStart(data) {
|
|
13313
13341
|
return this.postRequest('/api/v1/avatar/' + this._callId + '/start', data);
|
|
13314
13342
|
}
|
|
13315
|
-
avatarWelcome() {
|
|
13316
|
-
return this.postRequest('/api/v1/avatar/' + this._callId + '/welcome'
|
|
13343
|
+
avatarWelcome(metadata = {}) {
|
|
13344
|
+
return this.postRequest('/api/v1/avatar/' + this._callId + '/welcome', {
|
|
13345
|
+
metadata: JSON.stringify(metadata)
|
|
13346
|
+
});
|
|
13317
13347
|
}
|
|
13318
|
-
avatarAsk(text) {
|
|
13319
|
-
return this.postRequest('/api/v1/avatar/' + this._callId + '/ask', {
|
|
13348
|
+
avatarAsk(text, metadata = {}) {
|
|
13349
|
+
return this.postRequest('/api/v1/avatar/' + this._callId + '/ask', {
|
|
13350
|
+
text,
|
|
13351
|
+
metadata: JSON.stringify(metadata)
|
|
13352
|
+
});
|
|
13320
13353
|
}
|
|
13321
13354
|
avatarStartRecording() {
|
|
13322
13355
|
return this.postRequest('/api/v1/avatar/' + this._callId + '/audioCapture/start');
|
|
@@ -29928,7 +29961,7 @@ exports.DigitalHumanVideoPlayManager = DigitalHumanVideoPlayManager;
|
|
|
29928
29961
|
"use strict";
|
|
29929
29962
|
|
|
29930
29963
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
29931
|
-
exports.DigitalHumanUnmuted = exports.DigitalHumanPlayedInMutedModeSuccess = exports.DigitalHumanFailedToPlay = exports.DigitalHumanVideoError = exports.ClientPerformanceMessage = exports.ClientMediaStreamUpdateMessage = exports.OnlineStatusUpdateMessage = exports.SessionInfoMessage = exports.AvatarRequestIgnored = exports.AvatarRequestCompleted = exports.SessionErrorMessage = exports.WebRtcStatsMessage = exports.WebRtcDataMessage = exports.SessionLiveMessage = exports.WarningMessage = exports.RecordingStoppedMessage = exports.RecordingStartedMessage = exports.DevicePermissionAllowedMessage = exports.AvatarTextInputFinishedMessage = exports.FinishedSpeakingMessage = exports.StartedSpeakingMessage = exports.UserStoppedSpeakingMessage = exports.UserStartedSpeakingMessage = exports.SpeechTranscriptionMessage = exports.AvatarQuestionMessage = exports.InstructionsMessage = exports.AvatarAnswerContentMessage = exports.AvatarAnswerMessage = exports.ResumeSessionUnavailable = exports.ConnectionLostMessage = exports.VoiceActivityInputModeNotSupportedMessage = exports.MicActivityNotSupportedMessage = exports.MicActivityMessage = exports.MicActivityErrorMessage = exports.ServiceUnavailableMessage = exports.AvatarUnavailableMessage = exports.AvatarAvailableMessage = exports.SessionEndedMessage = exports.SessionResumedMessage = exports.SessionPausedMessage = exports.DeviceListUpdatedMessage = exports.DeviceErrorMessage = exports.SetSpeakerSuccessMessage = exports.SetMicSuccessMessage = exports.SetCameraSuccessMessage = exports.DeviceNotFoundErrorMessage = exports.ReadyMessage = exports.UneeqMessageType = void 0;
|
|
29964
|
+
exports.CustomMetadataUpdated = exports.DigitalHumanUnmuted = exports.DigitalHumanPlayedInMutedModeSuccess = exports.DigitalHumanFailedToPlay = exports.DigitalHumanVideoError = exports.ClientPerformanceMessage = exports.ClientMediaStreamUpdateMessage = exports.OnlineStatusUpdateMessage = exports.SessionInfoMessage = exports.AvatarRequestIgnored = exports.AvatarRequestCompleted = exports.SessionErrorMessage = exports.WebRtcStatsMessage = exports.WebRtcDataMessage = exports.SessionLiveMessage = exports.WarningMessage = exports.RecordingStoppedMessage = exports.RecordingStartedMessage = exports.DevicePermissionAllowedMessage = exports.AvatarTextInputFinishedMessage = exports.FinishedSpeakingMessage = exports.StartedSpeakingMessage = exports.UserStoppedSpeakingMessage = exports.UserStartedSpeakingMessage = exports.SpeechTranscriptionMessage = exports.AvatarQuestionMessage = exports.InstructionsMessage = exports.AvatarAnswerContentMessage = exports.AvatarAnswerMessage = exports.ResumeSessionUnavailable = exports.ConnectionLostMessage = exports.VoiceActivityInputModeNotSupportedMessage = exports.MicActivityNotSupportedMessage = exports.MicActivityMessage = exports.MicActivityErrorMessage = exports.ServiceUnavailableMessage = exports.AvatarUnavailableMessage = exports.AvatarAvailableMessage = exports.SessionEndedMessage = exports.SessionResumedMessage = exports.SessionPausedMessage = exports.DeviceListUpdatedMessage = exports.DeviceErrorMessage = exports.SetSpeakerSuccessMessage = exports.SetMicSuccessMessage = exports.SetCameraSuccessMessage = exports.DeviceNotFoundErrorMessage = exports.ReadyMessage = exports.UneeqMessageType = void 0;
|
|
29932
29965
|
var UneeqMessageType;
|
|
29933
29966
|
(function (UneeqMessageType) {
|
|
29934
29967
|
UneeqMessageType["Ready"] = "Ready";
|
|
@@ -29978,6 +30011,7 @@ var UneeqMessageType;
|
|
|
29978
30011
|
UneeqMessageType["DigitalHumanFailedToPlay"] = "DigitalHumanFailedToPlay";
|
|
29979
30012
|
UneeqMessageType["DigitalHumanPlayedInMutedModeSuccess"] = "DigitalHumanPlayedInMutedModeSuccess";
|
|
29980
30013
|
UneeqMessageType["DigitalHumanUnmuted"] = "DigitalHumanUnmuted";
|
|
30014
|
+
UneeqMessageType["CustomMetadataUpdated"] = "CustomMetadataUpdated";
|
|
29981
30015
|
})(UneeqMessageType || (exports.UneeqMessageType = UneeqMessageType = {}));
|
|
29982
30016
|
/**
|
|
29983
30017
|
* Service is ready to be used
|
|
@@ -30454,6 +30488,13 @@ class DigitalHumanUnmuted {
|
|
|
30454
30488
|
}
|
|
30455
30489
|
}
|
|
30456
30490
|
exports.DigitalHumanUnmuted = DigitalHumanUnmuted;
|
|
30491
|
+
class CustomMetadataUpdated {
|
|
30492
|
+
constructor(chatMetadata) {
|
|
30493
|
+
this.chatMetadata = chatMetadata;
|
|
30494
|
+
this.uneeqMessageType = UneeqMessageType.CustomMetadataUpdated;
|
|
30495
|
+
}
|
|
30496
|
+
}
|
|
30497
|
+
exports.CustomMetadataUpdated = CustomMetadataUpdated;
|
|
30457
30498
|
|
|
30458
30499
|
|
|
30459
30500
|
/***/ }),
|
|
@@ -51246,6 +51287,7 @@ class SpeechHandler {
|
|
|
51246
51287
|
if (this.stream && this.micVad) {
|
|
51247
51288
|
this.stream.getTracks().forEach((track) => track.enabled = false);
|
|
51248
51289
|
this.micVad.pause();
|
|
51290
|
+
this.onVadSpeechEnd();
|
|
51249
51291
|
return true;
|
|
51250
51292
|
}
|
|
51251
51293
|
logger_1.logger.warn(this.logPrefix + 'Could not pause speech recognition.');
|
|
@@ -51260,6 +51302,9 @@ class SpeechHandler {
|
|
|
51260
51302
|
logger_1.logger.warn(this.logPrefix + 'Could not resume speech recognition.');
|
|
51261
51303
|
return false;
|
|
51262
51304
|
}
|
|
51305
|
+
setChatMetadata(chatMetadata) {
|
|
51306
|
+
this.options.chatMetadata = chatMetadata;
|
|
51307
|
+
}
|
|
51263
51308
|
loadScript(url) {
|
|
51264
51309
|
return new Promise((resolve) => {
|
|
51265
51310
|
const script = document.createElement('script');
|
|
@@ -51295,6 +51340,9 @@ class SpeechHandler {
|
|
|
51295
51340
|
this.stopRecognition();
|
|
51296
51341
|
this.ws.close();
|
|
51297
51342
|
break;
|
|
51343
|
+
case MessageTypes_1.UneeqMessageType.CustomMetadataUpdated:
|
|
51344
|
+
this.options.chatMetadata = msg.chatMetadata;
|
|
51345
|
+
break;
|
|
51298
51346
|
default:
|
|
51299
51347
|
}
|
|
51300
51348
|
});
|
|
@@ -51480,7 +51528,8 @@ class SpeechHandler {
|
|
|
51480
51528
|
handleTranscriptionResult(result) {
|
|
51481
51529
|
logger_1.logger.log(this.logPrefix + `Speech transcription (${result.confidence} confidence): ${result.transcript}`);
|
|
51482
51530
|
if (result.final) {
|
|
51483
|
-
this.options.
|
|
51531
|
+
this.options.chatMetadata.userSpokenLocale = result.language_code;
|
|
51532
|
+
this.options.api.avatarAsk(result.transcript, this.options.chatMetadata);
|
|
51484
51533
|
}
|
|
51485
51534
|
else if (this.digitalHumanSpeaking) {
|
|
51486
51535
|
this.options.api.stopSpeaking();
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -8,6 +8,12 @@ https://docs.uneeq.io/build-your-own-experience
|
|
|
8
8
|
To use uneeq-js with a typescript version < 3.8, 'skipLibCheck' must be set to true.
|
|
9
9
|
|
|
10
10
|
## Release Notes
|
|
11
|
+
#### 2.48.0
|
|
12
|
+
* Add client and custom metadata that is sent during chats with a digital human. Developers can specify anything they wish in the custom metadata using the new function setCustomChatMetadata.
|
|
13
|
+
|
|
14
|
+
#### 2.47.11
|
|
15
|
+
* Speech Recognition: Bug fix: Pausing recording during active speech causes recognition state to be lost.
|
|
16
|
+
|
|
11
17
|
#### 2.47.10
|
|
12
18
|
* Speech Recognition: Added support for reconnecting speech recognition upon disconnection.
|
|
13
19
|
|