@convai/web-sdk 1.1.0 → 1.2.1-beta.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/README.md +19 -11
- package/dist/core/ConvaiClient.d.ts +4 -0
- package/dist/core/ConvaiClient.d.ts.map +1 -1
- package/dist/core/ConvaiClient.js +75 -18
- package/dist/core/ConvaiClient.js.map +1 -1
- package/dist/core/MessageHandler.d.ts +14 -0
- package/dist/core/MessageHandler.d.ts.map +1 -1
- package/dist/core/MessageHandler.js +82 -20
- package/dist/core/MessageHandler.js.map +1 -1
- package/dist/core/types.d.ts +37 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/react/components/ConvaiWidget.d.ts.map +1 -1
- package/dist/react/components/ConvaiWidget.js +46 -4
- package/dist/react/components/ConvaiWidget.js.map +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/ConviFooter.js +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/ConviFooter.js.map +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.d.ts +3 -1
- package/dist/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.d.ts.map +1 -1
- package/dist/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js +3 -3
- package/dist/react/components/rtc-widget/components/conviComponents/VoiceModeOverlay.js.map +1 -1
- package/dist/react/hooks/useConvaiClient.d.ts.map +1 -1
- package/dist/react/hooks/useConvaiClient.js +6 -1
- package/dist/react/hooks/useConvaiClient.js.map +1 -1
- package/dist/types/index.d.ts +35 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +12 -12
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +31 -21
- package/dist/utils/logger.js.map +1 -1
- package/dist/vanilla/ConvaiWidget.d.ts.map +1 -1
- package/dist/vanilla/ConvaiWidget.js +74 -5
- package/dist/vanilla/ConvaiWidget.js.map +1 -1
- package/dist/vanilla/types.d.ts +2 -0
- package/dist/vanilla/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/utils/speakerManagement.d.ts +0 -22
- package/dist/utils/speakerManagement.d.ts.map +0 -1
- package/dist/utils/speakerManagement.js +0 -64
- package/dist/utils/speakerManagement.js.map +0 -1
package/README.md
CHANGED
|
@@ -423,6 +423,23 @@ Import:
|
|
|
423
423
|
import { ConvaiClient } from "@convai/web-sdk/core";
|
|
424
424
|
```
|
|
425
425
|
|
|
426
|
+
### ConvaiClient types
|
|
427
|
+
|
|
428
|
+
For TypeScript, use the types exported from the main package or core:
|
|
429
|
+
|
|
430
|
+
- **`IConvaiClient`** — Interface implemented by `ConvaiClient`. Use this when you need to type variables, props, or function parameters that accept the client (e.g. `client: IConvaiClient`).
|
|
431
|
+
- **`ConvaiClientState`** — Shape of `client.state` (connection and activity flags: `isConnected`, `isBotReady`, `agentState`, `emotion`, etc.).
|
|
432
|
+
- **`ConvaiConfig`** — Configuration object for `new ConvaiClient(config)` and `client.connect(config)`.
|
|
433
|
+
- **`ChatMessage`** — Single message in `client.chatMessages`.
|
|
434
|
+
- **`AudioControls`**, **`VideoControls`**, **`ScreenShareControls`** — Types for the control managers exposed as `client.audioControls`, `client.videoControls`, `client.screenShareControls`.
|
|
435
|
+
|
|
436
|
+
Example:
|
|
437
|
+
|
|
438
|
+
```ts
|
|
439
|
+
import type { IConvaiClient, ConvaiClientState, ConvaiConfig } from "@convai/web-sdk";
|
|
440
|
+
// or from "@convai/web-sdk/core" when using core-only
|
|
441
|
+
```
|
|
442
|
+
|
|
426
443
|
### Constructor
|
|
427
444
|
|
|
428
445
|
```ts
|
|
@@ -645,7 +662,7 @@ Methods:
|
|
|
645
662
|
- `type`
|
|
646
663
|
- `content`
|
|
647
664
|
- `timestamp`
|
|
648
|
-
- `
|
|
665
|
+
- `isStreaming?` — `true` while the message is still streaming (mutable), `false` when finalized
|
|
649
666
|
|
|
650
667
|
Supported message `type` values include:
|
|
651
668
|
|
|
@@ -660,18 +677,9 @@ Supported message `type` values include:
|
|
|
660
677
|
- `user-llm-text`
|
|
661
678
|
- `interrupt-bot`
|
|
662
679
|
|
|
663
|
-
### Important: current `isFinal` behavior
|
|
664
|
-
|
|
665
|
-
In the current implementation, `isFinal` is used as an accumulation flag:
|
|
666
|
-
|
|
667
|
-
- `isFinal: true` means the message is still in a mutable/streaming state
|
|
668
|
-
- `isFinal: false` means the message has been finalized
|
|
669
|
-
|
|
670
|
-
This naming is counterintuitive. Treat `isFinal` as an internal streaming marker rather than a turn-completion signal.
|
|
671
|
-
|
|
672
680
|
### Recommended way to detect response completion
|
|
673
681
|
|
|
674
|
-
Use events instead of `
|
|
682
|
+
Use events instead of checking `isStreaming`:
|
|
675
683
|
|
|
676
684
|
- `turnEnd` for the server turn-end signal (bot stopped speaking; same as `hasReceivedEndSignal()`)
|
|
677
685
|
- `blendshapeStatsReceived` as additional completion marker when lipsync/animation output is enabled
|
|
@@ -145,5 +145,9 @@ export declare class ConvaiClient extends EventEmitter implements IConvaiClient
|
|
|
145
145
|
* Toggle text-to-speech on or off
|
|
146
146
|
*/
|
|
147
147
|
toggleTts(enabled: boolean): void;
|
|
148
|
+
/**
|
|
149
|
+
* Toggle speech-to-text on or off
|
|
150
|
+
*/
|
|
151
|
+
toggleStt(enabled: boolean): void;
|
|
148
152
|
}
|
|
149
153
|
//# sourceMappingURL=ConvaiClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConvaiClient.d.ts","sourceRoot":"","sources":["../../src/core/ConvaiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"ConvaiClient.d.ts","sourceRoot":"","sources":["../../src/core/ConvaiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { Room, RoomEvent } from "livekit-client";
|
|
1
|
+
import { Room, RoomEvent, ConnectionState } from "livekit-client";
|
|
2
2
|
import { AudioManager } from "./AudioManager";
|
|
3
3
|
import { VideoManager } from "./VideoManager";
|
|
4
4
|
import { ScreenShareManager } from "./ScreenShareManager";
|
|
5
5
|
import { MessageHandler } from "./MessageHandler";
|
|
6
6
|
import { EventEmitter } from "./EventEmitter";
|
|
7
|
-
import { resolveSpeakerId } from "../utils/speakerManagement";
|
|
8
7
|
import { LatencyMonitor } from "../utils/LatencyMonitor";
|
|
9
8
|
/**
|
|
10
9
|
* Main Convai client class for managing AI voice assistant connections
|
|
@@ -70,6 +69,7 @@ export class ConvaiClient extends EventEmitter {
|
|
|
70
69
|
isThinking: false,
|
|
71
70
|
isSpeaking: false,
|
|
72
71
|
agentState: "disconnected",
|
|
72
|
+
emotion: null,
|
|
73
73
|
};
|
|
74
74
|
// Default audio settings for optimal interruption handling
|
|
75
75
|
this._audioSettings = {
|
|
@@ -180,6 +180,12 @@ export class ConvaiClient extends EventEmitter {
|
|
|
180
180
|
this._messageHandler.on("botRespondingChange", (isResponding) => {
|
|
181
181
|
this.updateState({ isThinking: isResponding });
|
|
182
182
|
});
|
|
183
|
+
this._messageHandler.on("emotionChange", (emotion) => {
|
|
184
|
+
this.updateState({ emotion });
|
|
185
|
+
});
|
|
186
|
+
this._messageHandler.on("listeningChange", (isListening) => {
|
|
187
|
+
this.updateState({ isListening });
|
|
188
|
+
});
|
|
183
189
|
// Forward blendshapes events
|
|
184
190
|
this._messageHandler.on("blendshapes", (data) => {
|
|
185
191
|
this.emit("blendshapes", data);
|
|
@@ -225,7 +231,7 @@ export class ConvaiClient extends EventEmitter {
|
|
|
225
231
|
* Handle connection state changes
|
|
226
232
|
*/
|
|
227
233
|
handleConnectionStateChanged(state) {
|
|
228
|
-
if (state ===
|
|
234
|
+
if (state === ConnectionState.Disconnected) {
|
|
229
235
|
this.updateState({
|
|
230
236
|
isConnected: false,
|
|
231
237
|
isConnecting: false,
|
|
@@ -233,14 +239,14 @@ export class ConvaiClient extends EventEmitter {
|
|
|
233
239
|
this._isBotReady = false;
|
|
234
240
|
this._messageHandler.reset();
|
|
235
241
|
}
|
|
236
|
-
else if (state ===
|
|
242
|
+
else if (state === ConnectionState.Connected) {
|
|
237
243
|
this.updateState({
|
|
238
244
|
isConnected: true,
|
|
239
245
|
isConnecting: false,
|
|
240
246
|
});
|
|
241
247
|
this._isBotReady = false; // Wait for bot-ready message
|
|
242
248
|
}
|
|
243
|
-
else if (state ===
|
|
249
|
+
else if (state === ConnectionState.Connecting) {
|
|
244
250
|
this.updateState({
|
|
245
251
|
isConnecting: true,
|
|
246
252
|
isConnected: false,
|
|
@@ -254,19 +260,19 @@ export class ConvaiClient extends EventEmitter {
|
|
|
254
260
|
updateState(updates) {
|
|
255
261
|
const oldState = { ...this._state };
|
|
256
262
|
this._state = { ...this._state, ...updates };
|
|
257
|
-
// Update agentState
|
|
263
|
+
// Update agentState: speaking (highest) > listening (user speaking) > thinking > connected
|
|
258
264
|
if (!this._state.isConnected) {
|
|
259
265
|
this._state.agentState = "disconnected";
|
|
260
266
|
}
|
|
261
267
|
else if (this._state.isSpeaking) {
|
|
262
268
|
this._state.agentState = "speaking";
|
|
263
269
|
}
|
|
264
|
-
else if (this._state.isThinking) {
|
|
265
|
-
this._state.agentState = "thinking";
|
|
266
|
-
}
|
|
267
270
|
else if (this._state.isListening) {
|
|
268
271
|
this._state.agentState = "listening";
|
|
269
272
|
}
|
|
273
|
+
else if (this._state.isThinking) {
|
|
274
|
+
this._state.agentState = "thinking";
|
|
275
|
+
}
|
|
270
276
|
else {
|
|
271
277
|
this._state.agentState = "connected";
|
|
272
278
|
}
|
|
@@ -285,7 +291,12 @@ export class ConvaiClient extends EventEmitter {
|
|
|
285
291
|
throw new Error("No configuration provided. Pass config to connect() or store it in the client");
|
|
286
292
|
}
|
|
287
293
|
// Store config for reconnection
|
|
288
|
-
this._storedConfig = finalConfig;
|
|
294
|
+
this._storedConfig = { ...finalConfig };
|
|
295
|
+
// Use characterSessionId from config when reconnecting (so we resume the same session)
|
|
296
|
+
if (finalConfig.characterSessionId &&
|
|
297
|
+
finalConfig.characterSessionId !== "-1") {
|
|
298
|
+
this._characterSessionId = finalConfig.characterSessionId;
|
|
299
|
+
}
|
|
289
300
|
// Add default URL if not provided
|
|
290
301
|
const configWithDefaults = {
|
|
291
302
|
url: "https://realtime-api.convai.com",
|
|
@@ -300,15 +311,19 @@ export class ConvaiClient extends EventEmitter {
|
|
|
300
311
|
this._apiKey = configWithDefaults.apiKey;
|
|
301
312
|
this._characterId = configWithDefaults.characterId;
|
|
302
313
|
// Resolve speaker ID based on endUserId
|
|
303
|
-
const resolvedSpeakerId = await resolveSpeakerId(configWithDefaults.endUserId, configWithDefaults.apiKey);
|
|
304
|
-
this._speakerId = resolvedSpeakerId;
|
|
305
314
|
// Determine connection type based on enableVideo
|
|
306
315
|
const connType = configWithDefaults.enableVideo ? "video" : "audio";
|
|
307
316
|
this._connectionType = connType;
|
|
308
317
|
// Prepare request body with required parameters
|
|
318
|
+
const characterSessionIdToSend = configWithDefaults.characterSessionId ?? this._characterSessionId;
|
|
309
319
|
const requestBody = {
|
|
310
320
|
character_id: configWithDefaults.characterId,
|
|
311
|
-
...(
|
|
321
|
+
...(configWithDefaults.endUserId && {
|
|
322
|
+
end_user_id: configWithDefaults.endUserId,
|
|
323
|
+
}),
|
|
324
|
+
...(configWithDefaults.endUserMetadata != null && {
|
|
325
|
+
end_user_metadata: configWithDefaults.endUserMetadata,
|
|
326
|
+
}),
|
|
312
327
|
transport: "livekit",
|
|
313
328
|
connection_type: connType,
|
|
314
329
|
blendshape_provider: configWithDefaults.enableLipsync
|
|
@@ -318,16 +333,27 @@ export class ConvaiClient extends EventEmitter {
|
|
|
318
333
|
enable_chunking: true,
|
|
319
334
|
chunk_size: 10,
|
|
320
335
|
format: configWithDefaults.blendshapeConfig?.format || "mha",
|
|
321
|
-
frames_buffer_duration: configWithDefaults.blendshapeConfig?.frames_buffer_duration ?? 0,
|
|
336
|
+
frames_buffer_duration: configWithDefaults.blendshapeConfig?.frames_buffer_duration ?? 0.1,
|
|
322
337
|
output_fps: 90,
|
|
323
338
|
},
|
|
339
|
+
end_user_id: "xauravdas01@gmail.com",
|
|
324
340
|
llm_provider: "dynamic",
|
|
341
|
+
...(configWithDefaults.enableEmotion !== false && {
|
|
342
|
+
emotion_config: {
|
|
343
|
+
provider: configWithDefaults.emotionConfig?.provider ?? "llm",
|
|
344
|
+
min_word_threshold: configWithDefaults.emotionConfig?.min_word_threshold ?? 3,
|
|
345
|
+
low_intensity_threshold: configWithDefaults.emotionConfig?.low_intensity_threshold ?? 0.33,
|
|
346
|
+
high_intensity_threshold: configWithDefaults.emotionConfig?.high_intensity_threshold ??
|
|
347
|
+
0.66,
|
|
348
|
+
},
|
|
349
|
+
}),
|
|
325
350
|
default_tts_enabled: configWithDefaults.ttsEnabled !== undefined
|
|
326
351
|
? configWithDefaults.ttsEnabled
|
|
327
352
|
: true,
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
353
|
+
default_stt_enabled: true,
|
|
354
|
+
...(characterSessionIdToSend &&
|
|
355
|
+
characterSessionIdToSend !== "-1" && {
|
|
356
|
+
character_session_id: characterSessionIdToSend,
|
|
331
357
|
}),
|
|
332
358
|
...(configWithDefaults.actionConfig && {
|
|
333
359
|
action_config: configWithDefaults.actionConfig,
|
|
@@ -365,9 +391,13 @@ export class ConvaiClient extends EventEmitter {
|
|
|
365
391
|
throw new Error(errorMessage);
|
|
366
392
|
}
|
|
367
393
|
const connectionData = await response.json();
|
|
368
|
-
// Capture character_session_id from connection response
|
|
394
|
+
// Capture character_session_id from connection response and persist in stored config for reconnection
|
|
369
395
|
if (connectionData.character_session_id) {
|
|
370
396
|
this._characterSessionId = connectionData.character_session_id;
|
|
397
|
+
this._storedConfig = {
|
|
398
|
+
...this._storedConfig,
|
|
399
|
+
characterSessionId: connectionData.character_session_id,
|
|
400
|
+
};
|
|
371
401
|
}
|
|
372
402
|
// Connect to LiveKit room
|
|
373
403
|
await this._room.connect(connectionData.room_url, connectionData.token, {
|
|
@@ -622,5 +652,32 @@ export class ConvaiClient extends EventEmitter {
|
|
|
622
652
|
throw error;
|
|
623
653
|
}
|
|
624
654
|
}
|
|
655
|
+
/**
|
|
656
|
+
* Toggle speech-to-text on or off
|
|
657
|
+
*/
|
|
658
|
+
toggleStt(enabled) {
|
|
659
|
+
if (!this._room ||
|
|
660
|
+
this._room.state === "disconnected" ||
|
|
661
|
+
!this._room.localParticipant) {
|
|
662
|
+
return;
|
|
663
|
+
}
|
|
664
|
+
try {
|
|
665
|
+
const message = {
|
|
666
|
+
lable: "rtvi-ai",
|
|
667
|
+
type: "stt-toggle",
|
|
668
|
+
data: {
|
|
669
|
+
muted: !enabled,
|
|
670
|
+
},
|
|
671
|
+
};
|
|
672
|
+
const encodedData = new TextEncoder().encode(JSON.stringify(message));
|
|
673
|
+
console.log("Toggle Stt: ", enabled, encodedData);
|
|
674
|
+
this._room.localParticipant.publishData(encodedData, {
|
|
675
|
+
reliable: true,
|
|
676
|
+
});
|
|
677
|
+
}
|
|
678
|
+
catch (error) {
|
|
679
|
+
throw error;
|
|
680
|
+
}
|
|
681
|
+
}
|
|
625
682
|
}
|
|
626
683
|
//# sourceMappingURL=ConvaiClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConvaiClient.js","sourceRoot":"","sources":["../../src/core/ConvaiClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConvaiClient.js","sourceRoot":"","sources":["../../src/core/ConvaiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,11 @@ export declare class MessageHandler extends EventEmitter {
|
|
|
13
13
|
private userTranscription;
|
|
14
14
|
private isBotResponding;
|
|
15
15
|
private isSpeaking;
|
|
16
|
+
private isListening;
|
|
16
17
|
private latencyMonitor;
|
|
17
18
|
private totalBlendshapesReceived;
|
|
18
19
|
private blendshapeQueue;
|
|
20
|
+
private _currentEmotion;
|
|
19
21
|
constructor(room?: Room, latencyMonitor?: LatencyMonitor);
|
|
20
22
|
/**
|
|
21
23
|
* Get the blendshape queue instance
|
|
@@ -41,6 +43,18 @@ export declare class MessageHandler extends EventEmitter {
|
|
|
41
43
|
* Get speaking state
|
|
42
44
|
*/
|
|
43
45
|
getIsSpeaking(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Get current bot emotion (updated from bot-emotion messages)
|
|
48
|
+
*/
|
|
49
|
+
getEmotion(): {
|
|
50
|
+
emotion: string;
|
|
51
|
+
scale?: number;
|
|
52
|
+
} | null;
|
|
53
|
+
/**
|
|
54
|
+
* Get whether the user is currently speaking (bot is in "listening" state).
|
|
55
|
+
* True from user-started-speaking until user-stopped-speaking.
|
|
56
|
+
*/
|
|
57
|
+
getIsListening(): boolean;
|
|
44
58
|
/**
|
|
45
59
|
* Set the LiveKit room instance
|
|
46
60
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageHandler.d.ts","sourceRoot":"","sources":["../../src/core/MessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,wBAAwB,CAAa;IAC7C,OAAO,CAAC,eAAe,CAAkB;
|
|
1
|
+
{"version":3,"file":"MessageHandler.d.ts","sourceRoot":"","sources":["../../src/core/MessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,wBAAwB,CAAa;IAC7C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAoD;gBAE/D,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc;IAWxD;;OAEG;IACH,kBAAkB,IAAI,eAAe;IAIrC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIhD;;OAEG;IACH,eAAe,IAAI,WAAW,EAAE;IAIhC;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,kBAAkB,IAAI,OAAO;IAI7B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,UAAU,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAIxD;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAUzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmT1B;;OAEG;IACH,KAAK,IAAI,IAAI;CAgBd"}
|
|
@@ -13,8 +13,10 @@ export class MessageHandler extends EventEmitter {
|
|
|
13
13
|
this.userTranscription = "";
|
|
14
14
|
this.isBotResponding = false;
|
|
15
15
|
this.isSpeaking = false;
|
|
16
|
+
this.isListening = false;
|
|
16
17
|
this.latencyMonitor = null;
|
|
17
18
|
this.totalBlendshapesReceived = 0;
|
|
19
|
+
this._currentEmotion = null;
|
|
18
20
|
this.blendshapeQueue = new BlendshapeQueue();
|
|
19
21
|
if (latencyMonitor) {
|
|
20
22
|
this.latencyMonitor = latencyMonitor;
|
|
@@ -59,6 +61,19 @@ export class MessageHandler extends EventEmitter {
|
|
|
59
61
|
getIsSpeaking() {
|
|
60
62
|
return this.isSpeaking;
|
|
61
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Get current bot emotion (updated from bot-emotion messages)
|
|
66
|
+
*/
|
|
67
|
+
getEmotion() {
|
|
68
|
+
return this._currentEmotion;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get whether the user is currently speaking (bot is in "listening" state).
|
|
72
|
+
* True from user-started-speaking until user-stopped-speaking.
|
|
73
|
+
*/
|
|
74
|
+
getIsListening() {
|
|
75
|
+
return this.isListening;
|
|
76
|
+
}
|
|
62
77
|
/**
|
|
63
78
|
* Set the LiveKit room instance
|
|
64
79
|
*/
|
|
@@ -120,23 +135,13 @@ export class MessageHandler extends EventEmitter {
|
|
|
120
135
|
case "bot-llm-started":
|
|
121
136
|
this.isBotResponding = true;
|
|
122
137
|
this.emit("botRespondingChange", true);
|
|
123
|
-
// Mark any accumulated user message as final before starting bot response
|
|
124
|
-
const lastMsg = this.chatMessages[this.chatMessages.length - 1];
|
|
125
|
-
if (lastMsg &&
|
|
126
|
-
lastMsg.type === "user-transcription" &&
|
|
127
|
-
lastMsg.isFinal) {
|
|
128
|
-
this.chatMessages[this.chatMessages.length - 1] = {
|
|
129
|
-
...lastMsg,
|
|
130
|
-
isFinal: false,
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
138
|
// Add initial streaming message to chat
|
|
134
139
|
const streamingMessage = {
|
|
135
140
|
id: messageId,
|
|
136
141
|
type: "bot-llm-text",
|
|
137
142
|
content: "",
|
|
138
143
|
timestamp: timestamp,
|
|
139
|
-
|
|
144
|
+
isStreaming: true,
|
|
140
145
|
};
|
|
141
146
|
this.chatMessages.push(streamingMessage);
|
|
142
147
|
this.emit("messagesChange", this.chatMessages);
|
|
@@ -147,7 +152,7 @@ export class MessageHandler extends EventEmitter {
|
|
|
147
152
|
const newChunk = messageData.data.text;
|
|
148
153
|
// Update the streaming message in chat
|
|
149
154
|
const lastMessage = this.chatMessages[this.chatMessages.length - 1];
|
|
150
|
-
if (lastMessage && lastMessage.
|
|
155
|
+
if (lastMessage && lastMessage.isStreaming) {
|
|
151
156
|
this.chatMessages[this.chatMessages.length - 1] = {
|
|
152
157
|
...lastMessage,
|
|
153
158
|
content: lastMessage.content + newChunk,
|
|
@@ -160,7 +165,7 @@ export class MessageHandler extends EventEmitter {
|
|
|
160
165
|
type: "bot-llm-text",
|
|
161
166
|
content: newChunk,
|
|
162
167
|
timestamp: new Date().toISOString(),
|
|
163
|
-
|
|
168
|
+
isStreaming: true,
|
|
164
169
|
};
|
|
165
170
|
this.chatMessages.push(streamingMsg);
|
|
166
171
|
}
|
|
@@ -170,10 +175,10 @@ export class MessageHandler extends EventEmitter {
|
|
|
170
175
|
// Bot LLM Stopped - Complete streaming response
|
|
171
176
|
case "bot-llm-stopped":
|
|
172
177
|
const lastBotMsg = this.chatMessages[this.chatMessages.length - 1];
|
|
173
|
-
if (lastBotMsg && lastBotMsg.
|
|
178
|
+
if (lastBotMsg && lastBotMsg.isStreaming) {
|
|
174
179
|
this.chatMessages[this.chatMessages.length - 1] = {
|
|
175
180
|
...lastBotMsg,
|
|
176
|
-
|
|
181
|
+
isStreaming: false,
|
|
177
182
|
};
|
|
178
183
|
}
|
|
179
184
|
// Clear streaming state
|
|
@@ -192,10 +197,10 @@ export class MessageHandler extends EventEmitter {
|
|
|
192
197
|
if (this.latencyMonitor) {
|
|
193
198
|
this.latencyMonitor.startMeasurement("voice", messageContent);
|
|
194
199
|
}
|
|
195
|
-
// Check if last message is an accumulating user message (
|
|
200
|
+
// Check if last message is an accumulating user message (isStreaming=true)
|
|
196
201
|
if (lastUserMsg &&
|
|
197
202
|
lastUserMsg.type === "user-transcription" &&
|
|
198
|
-
lastUserMsg.
|
|
203
|
+
lastUserMsg.isStreaming === true) {
|
|
199
204
|
// Accumulate: append new content to existing message with space
|
|
200
205
|
const accumulatedContent = lastUserMsg.content.trim() + " " + messageContent.trim();
|
|
201
206
|
this.chatMessages[this.chatMessages.length - 1] = {
|
|
@@ -205,13 +210,13 @@ export class MessageHandler extends EventEmitter {
|
|
|
205
210
|
};
|
|
206
211
|
}
|
|
207
212
|
else {
|
|
208
|
-
// Start new accumulating message (
|
|
213
|
+
// Start new accumulating message (isStreaming=true means "still accumulating")
|
|
209
214
|
const userMessage = {
|
|
210
215
|
id: messageId,
|
|
211
216
|
type: "user-transcription",
|
|
212
217
|
content: messageContent,
|
|
213
218
|
timestamp: timestamp,
|
|
214
|
-
|
|
219
|
+
isStreaming: true,
|
|
215
220
|
};
|
|
216
221
|
this.chatMessages.push(userMessage);
|
|
217
222
|
}
|
|
@@ -230,6 +235,11 @@ export class MessageHandler extends EventEmitter {
|
|
|
230
235
|
// Bot Emotion Messages
|
|
231
236
|
case "bot-emotion":
|
|
232
237
|
if (messageData.data?.emotion) {
|
|
238
|
+
this._currentEmotion = {
|
|
239
|
+
emotion: messageData.data.emotion,
|
|
240
|
+
scale: messageData.data.scale,
|
|
241
|
+
};
|
|
242
|
+
this.emit("emotionChange", this._currentEmotion);
|
|
233
243
|
const emotionMessage = {
|
|
234
244
|
id: messageId,
|
|
235
245
|
type: "bot-emotion",
|
|
@@ -240,7 +250,17 @@ export class MessageHandler extends EventEmitter {
|
|
|
240
250
|
this.emit("messagesChange", this.chatMessages);
|
|
241
251
|
}
|
|
242
252
|
break;
|
|
243
|
-
|
|
253
|
+
case "user-started-speaking":
|
|
254
|
+
this.isListening = true;
|
|
255
|
+
this.emit("listeningChange", true);
|
|
256
|
+
console.log("isListening");
|
|
257
|
+
break;
|
|
258
|
+
case "user-stopped-speaking":
|
|
259
|
+
this.isListening = false;
|
|
260
|
+
this.emit("listeningChange", false);
|
|
261
|
+
console.log("isListening stopped");
|
|
262
|
+
break;
|
|
263
|
+
// Bot Started Speaking (priority over listening: state becomes speaking)
|
|
244
264
|
case "bot-started-speaking":
|
|
245
265
|
this.isSpeaking = true;
|
|
246
266
|
this.totalBlendshapesReceived = 0; // Reset counter when bot starts speaking
|
|
@@ -286,6 +306,44 @@ export class MessageHandler extends EventEmitter {
|
|
|
286
306
|
case "server-message":
|
|
287
307
|
if (messageData.data) {
|
|
288
308
|
const serverData = messageData.data;
|
|
309
|
+
// Final user transcription (server sends when user stops speaking)
|
|
310
|
+
if (serverData.type === "final-user-transcription" && serverData.text) {
|
|
311
|
+
const finalText = serverData.text;
|
|
312
|
+
if (this.latencyMonitor) {
|
|
313
|
+
this.latencyMonitor.startMeasurement("voice", finalText);
|
|
314
|
+
}
|
|
315
|
+
const lastUserMsg = this.chatMessages[this.chatMessages.length - 1];
|
|
316
|
+
if (lastUserMsg &&
|
|
317
|
+
lastUserMsg.type === "user-transcription" &&
|
|
318
|
+
lastUserMsg.isStreaming === true) {
|
|
319
|
+
this.chatMessages[this.chatMessages.length - 1] = {
|
|
320
|
+
...lastUserMsg,
|
|
321
|
+
content: finalText,
|
|
322
|
+
timestamp: timestamp,
|
|
323
|
+
isStreaming: false,
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
const userMessage = {
|
|
328
|
+
id: `${serverData.type}-${Date.now()}-${Math.random()}`,
|
|
329
|
+
type: "user-transcription",
|
|
330
|
+
content: finalText,
|
|
331
|
+
timestamp: timestamp,
|
|
332
|
+
isStreaming: false,
|
|
333
|
+
};
|
|
334
|
+
this.chatMessages.push(userMessage);
|
|
335
|
+
}
|
|
336
|
+
this.emit("messagesChange", this.chatMessages);
|
|
337
|
+
this.userTranscription = "";
|
|
338
|
+
this.emit("userTranscriptionChange", "");
|
|
339
|
+
}
|
|
340
|
+
if (serverData.type === "bot-emotion" && serverData.emotion) {
|
|
341
|
+
this._currentEmotion = {
|
|
342
|
+
emotion: serverData.emotion,
|
|
343
|
+
scale: serverData.scale,
|
|
344
|
+
};
|
|
345
|
+
this.emit("emotionChange", this._currentEmotion);
|
|
346
|
+
}
|
|
289
347
|
// Check if this is blendshape turn stats (marks end of conversation)
|
|
290
348
|
if (serverData.type === "blendshape-turn-stats") {
|
|
291
349
|
this.blendshapeQueue.endConversation(serverData.stats);
|
|
@@ -324,12 +382,16 @@ export class MessageHandler extends EventEmitter {
|
|
|
324
382
|
this.userTranscription = "";
|
|
325
383
|
this.isBotResponding = false;
|
|
326
384
|
this.isSpeaking = false;
|
|
385
|
+
this.isListening = false;
|
|
327
386
|
this.totalBlendshapesReceived = 0;
|
|
387
|
+
this._currentEmotion = null;
|
|
328
388
|
this.blendshapeQueue.reset();
|
|
329
389
|
this.emit("messagesChange", this.chatMessages);
|
|
330
390
|
this.emit("userTranscriptionChange", "");
|
|
331
391
|
this.emit("botRespondingChange", false);
|
|
332
392
|
this.emit("speakingChange", false);
|
|
393
|
+
this.emit("listeningChange", false);
|
|
394
|
+
this.emit("emotionChange", null);
|
|
333
395
|
}
|
|
334
396
|
}
|
|
335
397
|
//# sourceMappingURL=MessageHandler.js.map
|