ug-js-sdk 3.0.50 → 3.0.56
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 +3 -3
- package/dist/ug-core/__tests__/__mocks__/ErrorRetryHandler.d.ts +7 -0
- package/dist/ug-core/__tests__/__mocks__/ErrorRetryHandler.js +16 -0
- package/dist/ug-core/__tests__/__mocks__/ErrorRetryHandler.js.map +1 -0
- package/dist/ug-core/__tests__/__mocks__/mpg123-decoder.d.ts +10 -0
- package/dist/ug-core/__tests__/__mocks__/mpg123-decoder.js +16 -0
- package/dist/ug-core/__tests__/__mocks__/mpg123-decoder.js.map +1 -0
- package/dist/ug-core/__tests__/__mocks__/uuid.d.ts +2 -0
- package/dist/ug-core/__tests__/__mocks__/uuid.js +11 -0
- package/dist/ug-core/__tests__/__mocks__/uuid.js.map +1 -0
- package/dist/ug-core/__tests__/__mocks__/vad-web.d.ts +11 -0
- package/dist/ug-core/__tests__/__mocks__/vad-web.js +19 -0
- package/dist/ug-core/__tests__/__mocks__/vad-web.js.map +1 -0
- package/dist/ug-core/__tests__/conversation-manager/ConversationCommands.test.d.ts +1 -0
- package/dist/ug-core/__tests__/conversation-manager/ConversationCommands.test.js +67 -0
- package/dist/ug-core/__tests__/conversation-manager/ConversationCommands.test.js.map +1 -0
- package/dist/ug-core/__tests__/conversation-manager/ConversationManager.test.d.ts +1 -0
- package/dist/ug-core/__tests__/conversation-manager/ConversationManager.test.js +185 -0
- package/dist/ug-core/__tests__/conversation-manager/ConversationManager.test.js.map +1 -0
- package/dist/ug-core/__tests__/conversation-manager/ErrorRetryHandler.test.d.ts +1 -0
- package/dist/ug-core/__tests__/conversation-manager/ErrorRetryHandler.test.js +168 -0
- package/dist/ug-core/__tests__/conversation-manager/ErrorRetryHandler.test.js.map +1 -0
- package/dist/ug-core/__tests__/core/EventEmitter.test.d.ts +1 -0
- package/dist/ug-core/__tests__/core/EventEmitter.test.js +211 -0
- package/dist/ug-core/__tests__/core/EventEmitter.test.js.map +1 -0
- package/dist/ug-core/__tests__/core/Logger.test.d.ts +1 -0
- package/dist/ug-core/__tests__/core/Logger.test.js +162 -0
- package/dist/ug-core/__tests__/core/Logger.test.js.map +1 -0
- package/dist/ug-core/__tests__/core/localStorage.test.d.ts +1 -0
- package/dist/ug-core/__tests__/core/localStorage.test.js +172 -0
- package/dist/ug-core/__tests__/core/localStorage.test.js.map +1 -0
- package/dist/ug-core/__tests__/network/WebSocketConnection.test.d.ts +1 -0
- package/dist/ug-core/__tests__/network/WebSocketConnection.test.js +193 -0
- package/dist/ug-core/__tests__/network/WebSocketConnection.test.js.map +1 -0
- package/dist/ug-core/__tests__/playback-manager/SubtitleManager.test.d.ts +1 -0
- package/dist/ug-core/__tests__/playback-manager/SubtitleManager.test.js +228 -0
- package/dist/ug-core/__tests__/playback-manager/SubtitleManager.test.js.map +1 -0
- package/dist/ug-core/__tests__/setup.d.ts +4 -0
- package/dist/ug-core/__tests__/setup.js +8 -0
- package/dist/ug-core/__tests__/setup.js.map +1 -0
- package/dist/ug-core/conversation-manager/ConversationManager.js +14 -0
- package/dist/ug-core/conversation-manager/ConversationManager.js.map +1 -1
- package/dist/ug-core/conversation-manager/ErrorRetryHandler.d.ts +1 -0
- package/dist/ug-core/conversation-manager/ErrorRetryHandler.js +3 -0
- package/dist/ug-core/conversation-manager/ErrorRetryHandler.js.map +1 -1
- package/dist/ug-core/conversation-manager/types.d.ts +51 -6
- package/dist/ug-core/network/ConversationNetwork.js +12 -6
- package/dist/ug-core/network/ConversationNetwork.js.map +1 -1
- package/dist/ug-core/playback-manager/PlaybackManager.d.ts +104 -0
- package/dist/ug-core/playback-manager/PlaybackManager.js +121 -4
- package/dist/ug-core/playback-manager/PlaybackManager.js.map +1 -1
- package/dist/ug-core/playback-manager/audio-player/AudioPlayer.d.ts +156 -0
- package/dist/ug-core/playback-manager/audio-player/AudioPlayer.js +156 -0
- package/dist/ug-core/playback-manager/audio-player/AudioPlayer.js.map +1 -1
- package/dist/ug-core/playback-manager/subtitle-manager/SubtitleManager.js +3 -1
- package/dist/ug-core/playback-manager/subtitle-manager/SubtitleManager.js.map +1 -1
- package/dist/ug-core/types/index.d.ts +34 -3
- package/dist/ug-core/user-input-manager/AudioRecorder.d.ts +49 -0
- package/dist/ug-core/user-input-manager/AudioRecorder.js +39 -1
- package/dist/ug-core/user-input-manager/AudioRecorder.js.map +1 -1
- package/dist/ug-core/user-input-manager/UserInputManager.d.ts +82 -6
- package/dist/ug-core/user-input-manager/UserInputManager.js +82 -6
- package/dist/ug-core/user-input-manager/UserInputManager.js.map +1 -1
- package/dist/ug-core/user-input-manager/VADManager.d.ts +62 -0
- package/dist/ug-core/user-input-manager/VADManager.js +121 -15
- package/dist/ug-core/user-input-manager/VADManager.js.map +1 -1
- package/dist/ug-js-sdk.mjs +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorRetryHandler.js","sourceRoot":"","sources":["../../../src/ug-core/conversation-manager/ErrorRetryHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ErrorRetryHandler.js","sourceRoot":"","sources":["../../../src/ug-core/conversation-manager/ErrorRetryHandler.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IAOR;IANb,MAAM,CAAU,uBAAuB,GAAG,CAAC,CAAA;IAE1C,iBAAiB,GAAG,CAAC,CAAA;IACrB,UAAU,GAAG,KAAK,CAAA;IACT,aAAa,CAAQ;IAEtC,YAAoB,IAAmC;QAAnC,SAAI,GAAJ,IAAI,CAA+B;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,iBAAiB,CAAC,uBAAuB,CAAA;IACtF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,IAA+B;QACnD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,GAAG,IAAI,CAAC,CAAA;QAE3E,oFAAoF;QACpF,MAAM,eAAe,GAAgC;YACnD,iBAAiB;YACjB,eAAe;YACf,cAAc;SACf,CAAA;QAED,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,gBAAgB;YAChB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;YACjE,OAAO,KAAK,CAAA;QACd,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,sBAAsB;YACtB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,2BAA2B,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,4BAA4B,CACpG,CAAA;QAED,IAAI,CAAC;YACH,gEAAgE;YAChE,4EAA4E;YAC5E,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;YAE5B,iDAAiD;YACjD,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAA;YAC3E,4EAA4E;YAC5E,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;YACvB,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,SAAS,EAAE,UAAU,CAAC,CAAA;YACpF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;YAEvB,yDAAyD;YACzD,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAChD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YACzC,CAAC;YAED,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IAC/B,CAAC"}
|
|
@@ -2,8 +2,17 @@ import { Base64, InteractRequest } from '../types';
|
|
|
2
2
|
/**
|
|
3
3
|
* Parameters for image generation via the REST API.
|
|
4
4
|
* These parameters work with both Bria and Replicate providers.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const params: GenerateImageParams = {
|
|
9
|
+
* provider: 'bria',
|
|
10
|
+
* prompt: 'A sunset over mountains',
|
|
11
|
+
* aspect_ratio: '16:9',
|
|
12
|
+
* };
|
|
13
|
+
* ```
|
|
5
14
|
*/
|
|
6
|
-
export
|
|
15
|
+
export interface GenerateImageParams {
|
|
7
16
|
/** The text prompt describing the image to generate */
|
|
8
17
|
prompt: string;
|
|
9
18
|
/** The image generation provider to use */
|
|
@@ -30,11 +39,29 @@ export type GenerateImageParams = {
|
|
|
30
39
|
lora_weights?: string;
|
|
31
40
|
/** Scale factor for LoRA weights (typically -1 to 3) */
|
|
32
41
|
lora_scale?: number;
|
|
33
|
-
}
|
|
42
|
+
}
|
|
34
43
|
/**
|
|
35
44
|
* Parameters specific to Bria image generation.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const params: GenerateImageBriaParams = {
|
|
49
|
+
* prompt: 'A futuristic city',
|
|
50
|
+
* generation_type: 'fast',
|
|
51
|
+
* aspect_ratio: '1:1',
|
|
52
|
+
* };
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @example Image-to-image
|
|
56
|
+
* ```typescript
|
|
57
|
+
* const params: GenerateImageBriaParams = {
|
|
58
|
+
* prompt: 'Make it look like winter',
|
|
59
|
+
* image: base64EncodedSourceImage,
|
|
60
|
+
* strength: 0.7,
|
|
61
|
+
* };
|
|
62
|
+
* ```
|
|
36
63
|
*/
|
|
37
|
-
export
|
|
64
|
+
export interface GenerateImageBriaParams {
|
|
38
65
|
/** The text prompt describing the image to generate */
|
|
39
66
|
prompt: string;
|
|
40
67
|
/** Text describing what to avoid in the generated image */
|
|
@@ -55,11 +82,29 @@ export type GenerateImageBriaParams = {
|
|
|
55
82
|
strength?: number;
|
|
56
83
|
/** Guidance scale for generation (higher = more adherence to prompt) */
|
|
57
84
|
guidance_scale?: number;
|
|
58
|
-
}
|
|
85
|
+
}
|
|
59
86
|
/**
|
|
60
87
|
* Parameters specific to Replicate image generation.
|
|
88
|
+
* Supports LoRA weights for custom styles.
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* const params: GenerateImageReplicateParams = {
|
|
93
|
+
* prompt: 'Portrait in watercolor style',
|
|
94
|
+
* model: 'flux-schnell',
|
|
95
|
+
* aspect_ratio: '3:4',
|
|
96
|
+
* };
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @example With LoRA
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const params: GenerateImageReplicateParams = {
|
|
102
|
+
* prompt: 'A landscape',
|
|
103
|
+
* lora_scale: 1.0,
|
|
104
|
+
* };
|
|
105
|
+
* ```
|
|
61
106
|
*/
|
|
62
|
-
export
|
|
107
|
+
export interface GenerateImageReplicateParams {
|
|
63
108
|
/** The text prompt describing the image to generate */
|
|
64
109
|
prompt: string;
|
|
65
110
|
/** Text describing what to avoid in the generated image */
|
|
@@ -82,7 +127,7 @@ export type GenerateImageReplicateParams = {
|
|
|
82
127
|
lora_weights?: string;
|
|
83
128
|
/** Scale factor for LoRA weights (typically -1 to 3) */
|
|
84
129
|
lora_scale?: number;
|
|
85
|
-
}
|
|
130
|
+
}
|
|
86
131
|
/**
|
|
87
132
|
* Interface for the ConversationManager class.
|
|
88
133
|
*
|
|
@@ -192,15 +192,21 @@ export class ConversationNetwork extends EventEmitter {
|
|
|
192
192
|
await this.setConfiguration();
|
|
193
193
|
}
|
|
194
194
|
async setConfiguration() {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
// If configRef is provided (non-empty string), use reference-based config loading
|
|
196
|
+
const hasConfigRef = this.config.configRef !== undefined && this.config.configRef !== '';
|
|
197
|
+
const config = hasConfigRef
|
|
198
|
+
? { reference: this.config.configRef }
|
|
199
|
+
: {
|
|
199
200
|
prompt: this.config.prompt,
|
|
200
|
-
voice_profile: this.config.voiceProfile,
|
|
201
201
|
utilities: this.config.utilities,
|
|
202
|
+
voice_profile: this.config.voiceProfile,
|
|
202
203
|
safety_policy: this.config.safetyPolicy,
|
|
203
|
-
}
|
|
204
|
+
};
|
|
205
|
+
this.logger.debug('setConfiguration', hasConfigRef ? 'using reference' : 'using inline config', config);
|
|
206
|
+
const request = {
|
|
207
|
+
type: 'request',
|
|
208
|
+
kind: 'set_configuration',
|
|
209
|
+
config,
|
|
204
210
|
uid: '', // will be set by makeRequest
|
|
205
211
|
};
|
|
206
212
|
await this.makeRequest(request);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConversationNetwork.js","sourceRoot":"","sources":["../../../src/ug-core/network/ConversationNetwork.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConversationNetwork.js","sourceRoot":"","sources":["../../../src/ug-core/network/ConversationNetwork.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,71 @@
|
|
|
1
1
|
import { EventEmitter } from '../core/EventEmitter';
|
|
2
2
|
import { InteractResponse, PlaybackCapabilities } from '../types';
|
|
3
3
|
import { IConversationManager } from '../conversation-manager/types';
|
|
4
|
+
/**
|
|
5
|
+
* Events emitted by the PlaybackManager.
|
|
6
|
+
*/
|
|
4
7
|
export declare const PlaybackManagerEvents: {
|
|
8
|
+
/** Emitted when audio playback starts */
|
|
5
9
|
readonly Playing: "playing";
|
|
10
|
+
/** Emitted when audio playback is paused */
|
|
6
11
|
readonly Paused: "paused";
|
|
12
|
+
/** Emitted when a playback error occurs */
|
|
7
13
|
readonly PlaybackError: "playbackError";
|
|
14
|
+
/** Emitted when subtitle word highlighting changes (karaoke-style) */
|
|
8
15
|
readonly SubtitleWordChange: "subtitleWordChange";
|
|
16
|
+
/** Emitted when subtitle text changes (new sentence/phrase) */
|
|
9
17
|
readonly SubtitleChange: "subtitleChange";
|
|
18
|
+
/** Emitted when the displayed image changes */
|
|
10
19
|
readonly ImageChange: "imageChange";
|
|
20
|
+
/** Emitted ~500ms before playback completes (for pre-loading next content) */
|
|
11
21
|
readonly AboutToComplete: "aboutToComplete";
|
|
22
|
+
/** Emitted when all audio playback has finished */
|
|
12
23
|
readonly Finished: "finished";
|
|
24
|
+
/** Emitted when avatar animation state changes */
|
|
13
25
|
readonly AvatarAnimationChanged: "avatarAnimationChanged";
|
|
14
26
|
};
|
|
27
|
+
/**
|
|
28
|
+
* Manages playback of assistant responses including audio, subtitles, and avatar animations.
|
|
29
|
+
*
|
|
30
|
+
* The PlaybackManager coordinates multiple sub-components:
|
|
31
|
+
* - **AudioPlayer**: Gap-free MP3 audio playback using Web Audio API
|
|
32
|
+
* - **SubtitleManager**: Real-time captions with word-level highlighting
|
|
33
|
+
* - **VisemeScheduler**: Lip-sync data scheduling (for 3D avatars)
|
|
34
|
+
* - **AvatarManager**: Animation state management (idle, talking, thinking, listening)
|
|
35
|
+
*
|
|
36
|
+
* The manager receives messages from the WebSocket connection and routes them to
|
|
37
|
+
* the appropriate sub-component for synchronized playback.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const playback = new PlaybackManager({
|
|
42
|
+
* audio: true,
|
|
43
|
+
* subtitles: true,
|
|
44
|
+
* avatar: true,
|
|
45
|
+
* })
|
|
46
|
+
*
|
|
47
|
+
* playback.on(PlaybackManagerEvents.SubtitleChange, (event) => {
|
|
48
|
+
* displaySubtitle(event.subtitle)
|
|
49
|
+
* })
|
|
50
|
+
*
|
|
51
|
+
* playback.on(PlaybackManagerEvents.Finished, () => {
|
|
52
|
+
* console.log('Playback complete')
|
|
53
|
+
* })
|
|
54
|
+
*
|
|
55
|
+
* await playback.initialize()
|
|
56
|
+
*
|
|
57
|
+
* // Messages from server are passed to handleMessage()
|
|
58
|
+
* playback.handleMessage(audioMessage)
|
|
59
|
+
* playback.handleMessage(subtitleMessage)
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @fires PlaybackManagerEvents.Playing - When playback starts
|
|
63
|
+
* @fires PlaybackManagerEvents.Paused - When playback is paused
|
|
64
|
+
* @fires PlaybackManagerEvents.Finished - When all playback completes
|
|
65
|
+
* @fires PlaybackManagerEvents.SubtitleChange - When subtitle text updates
|
|
66
|
+
* @fires PlaybackManagerEvents.SubtitleWordChange - For word-by-word highlighting
|
|
67
|
+
* @fires PlaybackManagerEvents.AvatarAnimationChanged - When avatar state changes
|
|
68
|
+
*/
|
|
15
69
|
export declare class PlaybackManager extends EventEmitter {
|
|
16
70
|
private capabilities;
|
|
17
71
|
private audioPlayer;
|
|
@@ -20,15 +74,65 @@ export declare class PlaybackManager extends EventEmitter {
|
|
|
20
74
|
private isPaused;
|
|
21
75
|
private hasStarted;
|
|
22
76
|
private avatarManager;
|
|
77
|
+
/**
|
|
78
|
+
* Creates a new PlaybackManager instance.
|
|
79
|
+
*
|
|
80
|
+
* @param capabilities - Configuration for which playback features are enabled
|
|
81
|
+
* @param capabilities.audio - Enable audio playback (default: true)
|
|
82
|
+
* @param capabilities.subtitles - Enable real-time captions (default: true)
|
|
83
|
+
* @param capabilities.viseme - Enable lip-sync data (default: false)
|
|
84
|
+
* @param capabilities.avatar - Enable avatar animations (default: true)
|
|
85
|
+
*/
|
|
23
86
|
constructor(capabilities: PlaybackCapabilities);
|
|
24
87
|
private setupChildListeners;
|
|
25
88
|
resetState(): void;
|
|
89
|
+
/**
|
|
90
|
+
* Initializes the playback manager and its sub-components.
|
|
91
|
+
*
|
|
92
|
+
* Must be called before handling any messages. Initializes the
|
|
93
|
+
* AudioPlayer and prepares the AudioContext.
|
|
94
|
+
*/
|
|
26
95
|
initialize(): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Handles incoming messages from the server and routes them to appropriate handlers.
|
|
98
|
+
*
|
|
99
|
+
* @param message - The interaction response message from the WebSocket
|
|
100
|
+
*
|
|
101
|
+
* Message types handled:
|
|
102
|
+
* - `audio`: Base64 audio chunk → AudioPlayer
|
|
103
|
+
* - `subtitles`: Caption data → SubtitleManager
|
|
104
|
+
* - `viseme`: Lip-sync data → VisemeScheduler
|
|
105
|
+
* - `audio_complete`: Signals all audio has been sent
|
|
106
|
+
* - `image`: Generated image data
|
|
107
|
+
*/
|
|
27
108
|
handleMessage(message: InteractResponse): void;
|
|
28
109
|
enqueue(message: InteractResponse): void;
|
|
110
|
+
/**
|
|
111
|
+
* Convert PUG SubtitleUnit[] format to SDK SubtitleMessage format.
|
|
112
|
+
* PUG sends per-character timing as objects; SDK expects parallel arrays.
|
|
113
|
+
*/
|
|
114
|
+
private convertSubtitleUnitsToMessage;
|
|
29
115
|
markAudioComplete(): void;
|
|
116
|
+
/**
|
|
117
|
+
* Starts playback of queued audio, subtitles, and animations.
|
|
118
|
+
*
|
|
119
|
+
* Typically called automatically when enough audio is buffered.
|
|
120
|
+
* Sets avatar to "talking" animation state.
|
|
121
|
+
*/
|
|
30
122
|
play(): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* Pauses all playback.
|
|
125
|
+
*
|
|
126
|
+
* Pauses audio, subtitles, and visemes. Sets avatar to "idle" state.
|
|
127
|
+
* Can be resumed with `resume()`.
|
|
128
|
+
*/
|
|
31
129
|
pause(): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Resumes paused playback.
|
|
132
|
+
*
|
|
133
|
+
* Continues audio, subtitles, and visemes from where they were paused.
|
|
134
|
+
* Sets avatar back to "talking" state.
|
|
135
|
+
*/
|
|
32
136
|
resume(): Promise<void>;
|
|
33
137
|
resumeAudioContext(): Promise<void>;
|
|
34
138
|
/**
|
|
@@ -6,17 +6,71 @@ import { SubtitleManager, SubtitleManagerEvents } from './subtitle-manager/Subti
|
|
|
6
6
|
import { AudioPlayerEvents } from './types';
|
|
7
7
|
import { VisemeScheduler } from './viseme-scheduler/VisemeScheduler';
|
|
8
8
|
import { AvatarManager } from './avatar-manager/AvatarManager';
|
|
9
|
+
/**
|
|
10
|
+
* Events emitted by the PlaybackManager.
|
|
11
|
+
*/
|
|
9
12
|
export const PlaybackManagerEvents = {
|
|
13
|
+
/** Emitted when audio playback starts */
|
|
10
14
|
Playing: 'playing',
|
|
15
|
+
/** Emitted when audio playback is paused */
|
|
11
16
|
Paused: 'paused',
|
|
17
|
+
/** Emitted when a playback error occurs */
|
|
12
18
|
PlaybackError: 'playbackError',
|
|
19
|
+
/** Emitted when subtitle word highlighting changes (karaoke-style) */
|
|
13
20
|
SubtitleWordChange: 'subtitleWordChange',
|
|
21
|
+
/** Emitted when subtitle text changes (new sentence/phrase) */
|
|
14
22
|
SubtitleChange: 'subtitleChange',
|
|
23
|
+
/** Emitted when the displayed image changes */
|
|
15
24
|
ImageChange: 'imageChange',
|
|
25
|
+
/** Emitted ~500ms before playback completes (for pre-loading next content) */
|
|
16
26
|
AboutToComplete: 'aboutToComplete',
|
|
27
|
+
/** Emitted when all audio playback has finished */
|
|
17
28
|
Finished: 'finished',
|
|
29
|
+
/** Emitted when avatar animation state changes */
|
|
18
30
|
AvatarAnimationChanged: 'avatarAnimationChanged',
|
|
19
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Manages playback of assistant responses including audio, subtitles, and avatar animations.
|
|
34
|
+
*
|
|
35
|
+
* The PlaybackManager coordinates multiple sub-components:
|
|
36
|
+
* - **AudioPlayer**: Gap-free MP3 audio playback using Web Audio API
|
|
37
|
+
* - **SubtitleManager**: Real-time captions with word-level highlighting
|
|
38
|
+
* - **VisemeScheduler**: Lip-sync data scheduling (for 3D avatars)
|
|
39
|
+
* - **AvatarManager**: Animation state management (idle, talking, thinking, listening)
|
|
40
|
+
*
|
|
41
|
+
* The manager receives messages from the WebSocket connection and routes them to
|
|
42
|
+
* the appropriate sub-component for synchronized playback.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const playback = new PlaybackManager({
|
|
47
|
+
* audio: true,
|
|
48
|
+
* subtitles: true,
|
|
49
|
+
* avatar: true,
|
|
50
|
+
* })
|
|
51
|
+
*
|
|
52
|
+
* playback.on(PlaybackManagerEvents.SubtitleChange, (event) => {
|
|
53
|
+
* displaySubtitle(event.subtitle)
|
|
54
|
+
* })
|
|
55
|
+
*
|
|
56
|
+
* playback.on(PlaybackManagerEvents.Finished, () => {
|
|
57
|
+
* console.log('Playback complete')
|
|
58
|
+
* })
|
|
59
|
+
*
|
|
60
|
+
* await playback.initialize()
|
|
61
|
+
*
|
|
62
|
+
* // Messages from server are passed to handleMessage()
|
|
63
|
+
* playback.handleMessage(audioMessage)
|
|
64
|
+
* playback.handleMessage(subtitleMessage)
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @fires PlaybackManagerEvents.Playing - When playback starts
|
|
68
|
+
* @fires PlaybackManagerEvents.Paused - When playback is paused
|
|
69
|
+
* @fires PlaybackManagerEvents.Finished - When all playback completes
|
|
70
|
+
* @fires PlaybackManagerEvents.SubtitleChange - When subtitle text updates
|
|
71
|
+
* @fires PlaybackManagerEvents.SubtitleWordChange - For word-by-word highlighting
|
|
72
|
+
* @fires PlaybackManagerEvents.AvatarAnimationChanged - When avatar state changes
|
|
73
|
+
*/
|
|
20
74
|
export class PlaybackManager extends EventEmitter {
|
|
21
75
|
capabilities;
|
|
22
76
|
audioPlayer;
|
|
@@ -25,6 +79,15 @@ export class PlaybackManager extends EventEmitter {
|
|
|
25
79
|
isPaused = true;
|
|
26
80
|
hasStarted = false;
|
|
27
81
|
avatarManager;
|
|
82
|
+
/**
|
|
83
|
+
* Creates a new PlaybackManager instance.
|
|
84
|
+
*
|
|
85
|
+
* @param capabilities - Configuration for which playback features are enabled
|
|
86
|
+
* @param capabilities.audio - Enable audio playback (default: true)
|
|
87
|
+
* @param capabilities.subtitles - Enable real-time captions (default: true)
|
|
88
|
+
* @param capabilities.viseme - Enable lip-sync data (default: false)
|
|
89
|
+
* @param capabilities.avatar - Enable avatar animations (default: true)
|
|
90
|
+
*/
|
|
28
91
|
constructor(capabilities) {
|
|
29
92
|
const logger = new DefaultLogger({ category: '🎪 PlaybackManager', style: StyleOrange });
|
|
30
93
|
super(logger);
|
|
@@ -72,12 +135,30 @@ export class PlaybackManager extends EventEmitter {
|
|
|
72
135
|
this.isPaused = true;
|
|
73
136
|
this.hasStarted = false;
|
|
74
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Initializes the playback manager and its sub-components.
|
|
140
|
+
*
|
|
141
|
+
* Must be called before handling any messages. Initializes the
|
|
142
|
+
* AudioPlayer and prepares the AudioContext.
|
|
143
|
+
*/
|
|
75
144
|
async initialize() {
|
|
76
145
|
this.logger.debug('Initialized', this.capabilities);
|
|
77
146
|
this.isPaused = true;
|
|
78
147
|
this.hasStarted = false;
|
|
79
148
|
await this.audioPlayer.initialize();
|
|
80
149
|
}
|
|
150
|
+
/**
|
|
151
|
+
* Handles incoming messages from the server and routes them to appropriate handlers.
|
|
152
|
+
*
|
|
153
|
+
* @param message - The interaction response message from the WebSocket
|
|
154
|
+
*
|
|
155
|
+
* Message types handled:
|
|
156
|
+
* - `audio`: Base64 audio chunk → AudioPlayer
|
|
157
|
+
* - `subtitles`: Caption data → SubtitleManager
|
|
158
|
+
* - `viseme`: Lip-sync data → VisemeScheduler
|
|
159
|
+
* - `audio_complete`: Signals all audio has been sent
|
|
160
|
+
* - `image`: Generated image data
|
|
161
|
+
*/
|
|
81
162
|
handleMessage(message) {
|
|
82
163
|
if (message.event === 'audio' || message.event === 'subtitles' || message.event === 'viseme') {
|
|
83
164
|
this.enqueue(message);
|
|
@@ -93,11 +174,29 @@ export class PlaybackManager extends EventEmitter {
|
|
|
93
174
|
if (this.capabilities.audio && message.event === 'audio') {
|
|
94
175
|
const audioMessage = message;
|
|
95
176
|
this.audioPlayer.enqueue(audioMessage.audio);
|
|
177
|
+
// Handle embedded subtitles from PUG backend (character-level timing)
|
|
178
|
+
if (this.capabilities.subtitles && audioMessage.subtitles?.length) {
|
|
179
|
+
const subtitleMessage = this.convertSubtitleUnitsToMessage(audioMessage.subtitles);
|
|
180
|
+
this.subtitleManager.enqueue(subtitleMessage);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// Legacy: handle separate subtitle events (kept for backwards compatibility)
|
|
184
|
+
if (this.capabilities.subtitles && message.event === 'subtitles') {
|
|
185
|
+
const subtitleMessage = message;
|
|
186
|
+
this.subtitleManager.enqueue(subtitleMessage);
|
|
96
187
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Convert PUG SubtitleUnit[] format to SDK SubtitleMessage format.
|
|
191
|
+
* PUG sends per-character timing as objects; SDK expects parallel arrays.
|
|
192
|
+
*/
|
|
193
|
+
convertSubtitleUnitsToMessage(units) {
|
|
194
|
+
return {
|
|
195
|
+
type: 'subtitles',
|
|
196
|
+
characters: units.map((u) => u.text),
|
|
197
|
+
start_times_ms: units.map((u) => Math.round(u.start_time_sec * 1000)),
|
|
198
|
+
durations_ms: units.map((u) => Math.round(u.duration_sec * 1000)),
|
|
199
|
+
};
|
|
101
200
|
}
|
|
102
201
|
markAudioComplete() {
|
|
103
202
|
this.logger.debug('Marking audio as complete');
|
|
@@ -105,6 +204,12 @@ export class PlaybackManager extends EventEmitter {
|
|
|
105
204
|
this.audioPlayer.markComplete();
|
|
106
205
|
}
|
|
107
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Starts playback of queued audio, subtitles, and animations.
|
|
209
|
+
*
|
|
210
|
+
* Typically called automatically when enough audio is buffered.
|
|
211
|
+
* Sets avatar to "talking" animation state.
|
|
212
|
+
*/
|
|
108
213
|
async play() {
|
|
109
214
|
this.isPaused = false;
|
|
110
215
|
this.hasStarted = true;
|
|
@@ -116,6 +221,12 @@ export class PlaybackManager extends EventEmitter {
|
|
|
116
221
|
]);
|
|
117
222
|
await this.emit(PlaybackManagerEvents.Playing);
|
|
118
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Pauses all playback.
|
|
226
|
+
*
|
|
227
|
+
* Pauses audio, subtitles, and visemes. Sets avatar to "idle" state.
|
|
228
|
+
* Can be resumed with `resume()`.
|
|
229
|
+
*/
|
|
119
230
|
async pause() {
|
|
120
231
|
this.isPaused = true;
|
|
121
232
|
this.audioPlayer.pause();
|
|
@@ -124,6 +235,12 @@ export class PlaybackManager extends EventEmitter {
|
|
|
124
235
|
this.avatarManager.playIdle();
|
|
125
236
|
await this.emit(PlaybackManagerEvents.Paused);
|
|
126
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Resumes paused playback.
|
|
240
|
+
*
|
|
241
|
+
* Continues audio, subtitles, and visemes from where they were paused.
|
|
242
|
+
* Sets avatar back to "talking" state.
|
|
243
|
+
*/
|
|
127
244
|
async resume() {
|
|
128
245
|
if (!this.isPaused)
|
|
129
246
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaybackManager.js","sourceRoot":"","sources":["../../../src/ug-core/playback-manager/PlaybackManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAA;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC3F,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"PlaybackManager.js","sourceRoot":"","sources":["../../../src/ug-core/playback-manager/PlaybackManager.ts"],"names":[],"mappings":"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"}
|