@layercode/js-sdk 2.0.1 → 2.0.3
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/types/index.d.ts
CHANGED
|
@@ -8,9 +8,12 @@ interface ILayercodeClient {
|
|
|
8
8
|
triggerUserTurnFinished(): Promise<void>;
|
|
9
9
|
getStream(): MediaStream | null;
|
|
10
10
|
setInputDevice(deviceId: string): Promise<void>;
|
|
11
|
+
mute(): void;
|
|
12
|
+
unmute(): void;
|
|
11
13
|
readonly status: string;
|
|
12
14
|
readonly userAudioAmplitude: number;
|
|
13
15
|
readonly agentAudioAmplitude: number;
|
|
16
|
+
readonly isMuted: boolean;
|
|
14
17
|
readonly conversationId: string | null;
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
@@ -39,6 +42,8 @@ interface LayercodeClientOptions {
|
|
|
39
42
|
onDeviceSwitched?: (deviceId: string) => void;
|
|
40
43
|
/** Callback for data messages */
|
|
41
44
|
onDataMessage?: (message: any) => void;
|
|
45
|
+
/** Callback for other messages (excluding audio msgs) */
|
|
46
|
+
onMessage?: (message: any) => void;
|
|
42
47
|
/** Callback for user audio amplitude changes */
|
|
43
48
|
onUserAmplitudeChange?: (amplitude: number) => void;
|
|
44
49
|
/** Callback for agent audio amplitude changes */
|
|
@@ -47,6 +52,8 @@ interface LayercodeClientOptions {
|
|
|
47
52
|
onStatusChange?: (status: string) => void;
|
|
48
53
|
/** Callback when user turn changes */
|
|
49
54
|
onUserIsSpeakingChange?: (isSpeaking: boolean) => void;
|
|
55
|
+
/** Callback when mute state changes */
|
|
56
|
+
onMuteStateChange?: (isMuted: boolean) => void;
|
|
50
57
|
}
|
|
51
58
|
/**
|
|
52
59
|
* @class LayercodeClient
|
|
@@ -73,6 +80,7 @@ declare class LayercodeClient implements ILayercodeClient {
|
|
|
73
80
|
status: string;
|
|
74
81
|
userAudioAmplitude: number;
|
|
75
82
|
agentAudioAmplitude: number;
|
|
83
|
+
isMuted: boolean;
|
|
76
84
|
conversationId: string | null;
|
|
77
85
|
/**
|
|
78
86
|
* Creates an instance of LayercodeClient.
|
|
@@ -141,6 +149,15 @@ declare class LayercodeClient implements ILayercodeClient {
|
|
|
141
149
|
* Sets up the device change event listener
|
|
142
150
|
*/
|
|
143
151
|
private _setupDeviceChangeListener;
|
|
152
|
+
/**
|
|
153
|
+
* Mutes the microphone to stop sending audio to the server
|
|
154
|
+
* The connection and recording remain active for quick unmute
|
|
155
|
+
*/
|
|
156
|
+
mute(): void;
|
|
157
|
+
/**
|
|
158
|
+
* Unmutes the microphone to resume sending audio to the server
|
|
159
|
+
*/
|
|
160
|
+
unmute(): void;
|
|
144
161
|
}
|
|
145
162
|
export default LayercodeClient;
|
|
146
163
|
export type { ILayercodeClient, LayercodeClientOptions };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type LayercodeMessageType = 'client.audio' | 'trigger.turn.start' | 'trigger.turn.end' | 'trigger.response.audio.replay_finished' | '
|
|
1
|
+
export type LayercodeMessageType = 'client.audio' | 'trigger.turn.start' | 'trigger.turn.end' | 'trigger.response.audio.replay_finished' | 'vad_events' | 'client.ready' | 'turn.start' | 'response.audio' | 'response.text' | 'response.data' | 'user.transcript.delta' | 'user.transcript';
|
|
2
2
|
export interface BaseLayercodeMessage {
|
|
3
3
|
type: LayercodeMessageType;
|
|
4
4
|
event_id?: string;
|
|
@@ -23,16 +23,8 @@ export interface ClientTriggerResponseAudioReplayFinishedMessage extends BaseLay
|
|
|
23
23
|
reason: 'completed';
|
|
24
24
|
last_delta_id_played?: string;
|
|
25
25
|
}
|
|
26
|
-
export interface ClientTriggerResponseAudioInterruptedMessage extends BaseLayercodeMessage {
|
|
27
|
-
type: 'trigger.response.audio.interrupted';
|
|
28
|
-
playback_offset?: number;
|
|
29
|
-
interruption_context?: {
|
|
30
|
-
turn_id: string;
|
|
31
|
-
playback_offset_ms: number;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
26
|
export interface ServerTurnMessage extends BaseLayercodeMessage {
|
|
35
|
-
type: 'turn.start'
|
|
27
|
+
type: 'turn.start';
|
|
36
28
|
role: 'user' | 'assistant';
|
|
37
29
|
}
|
|
38
30
|
export interface ServerResponseAudioMessage extends BaseLayercodeMessage {
|
|
@@ -51,6 +43,16 @@ export interface ServerResponseDataMessage extends BaseLayercodeMessage {
|
|
|
51
43
|
content: any;
|
|
52
44
|
turn_id: string;
|
|
53
45
|
}
|
|
54
|
-
export
|
|
55
|
-
|
|
46
|
+
export interface ServerResponseUserTranscriptDelta extends BaseLayercodeMessage {
|
|
47
|
+
type: 'user.transcript.delta';
|
|
48
|
+
content: string;
|
|
49
|
+
turn_id: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ServerResponseUserTranscript extends BaseLayercodeMessage {
|
|
52
|
+
type: 'user.transcript';
|
|
53
|
+
content: string;
|
|
54
|
+
turn_id: string;
|
|
55
|
+
}
|
|
56
|
+
export type ServerMessage = ServerTurnMessage | ServerResponseAudioMessage | ServerResponseTextMessage | ServerResponseDataMessage | ServerResponseUserTranscriptDelta | ServerResponseUserTranscript;
|
|
57
|
+
export type ClientMessage = ClientAudioMessage | ClientTriggerTurnMessage | ClientTriggerResponseAudioReplayFinishedMessage | ClientVadEventsMessage | ClientReadyMessage;
|
|
56
58
|
export type LayercodeMessage = ClientMessage | ServerMessage;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"author": "Layercode",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "@layercode/js-sdk",
|
|
5
|
-
"version": "2.0.
|
|
5
|
+
"version": "2.0.3",
|
|
6
6
|
"description": "Layercode JavaScript SDK for browser usage",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/layercode-js-sdk.esm.js",
|
|
@@ -48,4 +48,4 @@
|
|
|
48
48
|
"@ricky0123/vad-web": "^0.0.24",
|
|
49
49
|
"onnxruntime-web": "^1.21.1"
|
|
50
50
|
}
|
|
51
|
-
}
|
|
51
|
+
}
|