@layercode/js-sdk 2.3.3 → 2.5.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/types/index.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ interface ILayercodeClient {
|
|
|
38
38
|
getStream(): MediaStream | null;
|
|
39
39
|
setInputDevice(deviceId: string): Promise<void>;
|
|
40
40
|
setAudioInput(state: boolean): Promise<void>;
|
|
41
|
+
setAudioOutput(state: boolean): Promise<void>;
|
|
41
42
|
listDevices(): Promise<Array<MediaDeviceInfo & {
|
|
42
43
|
default: boolean;
|
|
43
44
|
}>>;
|
|
@@ -68,8 +69,12 @@ interface LayercodeClientOptions {
|
|
|
68
69
|
metadata?: Record<string, any>;
|
|
69
70
|
/** Whether audio input is enabled. I.e. is the microphone turned on in the browser */
|
|
70
71
|
audioInput?: boolean;
|
|
72
|
+
/** Whether audio output is enabled. I.e. do we play the sound in the browser client */
|
|
73
|
+
audioOutput?: boolean;
|
|
71
74
|
/** Fired when audio input flag changes */
|
|
72
75
|
audioInputChanged?: (audioInput: boolean) => void;
|
|
76
|
+
/** Fired when audio output flag changes */
|
|
77
|
+
audioOutputChanged?: (audioInput: boolean) => void;
|
|
73
78
|
/** Milliseconds before resuming agent audio after temporary pause due to user interruption (which was actually a false interruption) */
|
|
74
79
|
vadResumeDelay?: number;
|
|
75
80
|
/** Callback when connection is established */
|
|
@@ -117,6 +122,7 @@ declare class LayercodeClient implements ILayercodeClient {
|
|
|
117
122
|
private vad;
|
|
118
123
|
private ws;
|
|
119
124
|
private audioInput;
|
|
125
|
+
private audioOutput;
|
|
120
126
|
private AMPLITUDE_MONITORING_SAMPLE_RATE;
|
|
121
127
|
private pushToTalkActive;
|
|
122
128
|
private pushToTalkEnabled;
|
|
@@ -163,6 +169,7 @@ declare class LayercodeClient implements ILayercodeClient {
|
|
|
163
169
|
triggerUserTurnStarted(): Promise<void>;
|
|
164
170
|
triggerUserTurnFinished(): Promise<void>;
|
|
165
171
|
sendClientResponseText(text: string): Promise<void>;
|
|
172
|
+
sendClientResponseData(data: any): Promise<void>;
|
|
166
173
|
/**
|
|
167
174
|
* Handles incoming WebSocket messages
|
|
168
175
|
* @param {MessageEvent} event - The WebSocket message event
|
|
@@ -186,8 +193,10 @@ declare class LayercodeClient implements ILayercodeClient {
|
|
|
186
193
|
audioInputConnect(): Promise<void>;
|
|
187
194
|
audioInputDisconnect(): Promise<void>;
|
|
188
195
|
setAudioInput(state: boolean): Promise<void>;
|
|
196
|
+
setAudioOutput(state: boolean): Promise<void>;
|
|
189
197
|
/** Emitters for audio flags */
|
|
190
198
|
private _emitAudioInput;
|
|
199
|
+
private _emitAudioOutput;
|
|
191
200
|
get audioInputEnabled(): boolean;
|
|
192
201
|
get userSpeaking(): boolean;
|
|
193
202
|
get agentSpeaking(): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type LayercodeMessageType = 'client.audio' | 'trigger.turn.start' | 'trigger.turn.end' | 'trigger.response.audio.replay_finished' | 'vad_events' | 'client.ready' | 'client.response.text' | 'turn.start' | 'response.audio' | 'response.text' | 'response.data' | 'user.transcript.interim_delta' | 'user.transcript.delta' | 'user.transcript';
|
|
1
|
+
export type LayercodeMessageType = 'client.audio' | 'trigger.turn.start' | 'trigger.turn.end' | 'trigger.response.audio.replay_finished' | 'vad_events' | 'client.ready' | 'client.response.text' | 'client.response.data' | 'turn.start' | 'response.audio' | 'response.text' | 'response.data' | 'user.transcript.interim_delta' | 'user.transcript.delta' | 'user.transcript';
|
|
2
2
|
export interface BaseLayercodeMessage {
|
|
3
3
|
type: LayercodeMessageType;
|
|
4
4
|
event_id?: string;
|
|
@@ -15,6 +15,10 @@ export interface ClientResponseTextMessage extends BaseLayercodeMessage {
|
|
|
15
15
|
type: 'client.response.text';
|
|
16
16
|
content: string;
|
|
17
17
|
}
|
|
18
|
+
export interface ClientResponseDataMessage extends BaseLayercodeMessage {
|
|
19
|
+
type: 'client.response.data';
|
|
20
|
+
data: Record<string, any>;
|
|
21
|
+
}
|
|
18
22
|
export interface ClientVadEventsMessage extends BaseLayercodeMessage {
|
|
19
23
|
type: 'vad_events';
|
|
20
24
|
event: 'vad_start' | 'vad_end' | 'vad_model_failed';
|
|
@@ -65,5 +69,5 @@ export interface ServerResponseUserTranscript extends BaseLayercodeMessage {
|
|
|
65
69
|
turn_id: string;
|
|
66
70
|
}
|
|
67
71
|
export type ServerMessage = ServerTurnMessage | ServerResponseAudioMessage | ServerResponseTextMessage | ServerResponseDataMessage | ServerResponseUserTranscriptInterimDelta | ServerResponseUserTranscriptDelta | ServerResponseUserTranscript;
|
|
68
|
-
export type ClientMessage = ClientAudioMessage | ClientTriggerTurnMessage | ClientTriggerResponseAudioReplayFinishedMessage | ClientVadEventsMessage | ClientReadyMessage | ClientResponseTextMessage;
|
|
72
|
+
export type ClientMessage = ClientAudioMessage | ClientTriggerTurnMessage | ClientTriggerResponseAudioReplayFinishedMessage | ClientVadEventsMessage | ClientReadyMessage | ClientResponseTextMessage | ClientResponseDataMessage;
|
|
69
73
|
export type LayercodeMessage = ClientMessage | ServerMessage;
|
package/package.json
CHANGED