MCPcopy
hub / github.com/mudler/LocalAI / handleServerEvent

Function handleServerEvent

core/http/static/talk.js:197–253  ·  view source on GitHub ↗
(event)

Source from the content-addressed store, hash-verified

195}
196
197function handleServerEvent(event) {
198 console.log('[event]', event.type, event);
199
200 switch (event.type) {
201 case 'session.created':
202 // Session is ready — send any user settings
203 sendSessionUpdate();
204 setStatus('listening', 'Listening...');
205 break;
206
207 case 'session.updated':
208 console.log('[session.updated] Session settings applied', event.session);
209 break;
210
211 case 'input_audio_buffer.speech_started':
212 setStatus('listening', 'Hearing you speak...');
213 break;
214
215 case 'input_audio_buffer.speech_stopped':
216 setStatus('thinking', 'Processing...');
217 break;
218
219 case 'conversation.item.input_audio_transcription.completed':
220 if (event.transcript) {
221 addTranscript('user', event.transcript);
222 }
223 setStatus('thinking', 'Generating response...');
224 break;
225
226 case 'response.output_audio_transcript.delta':
227 // Incremental transcript — update the in-progress assistant message
228 if (event.delta) {
229 updateStreamingTranscript('assistant', event.delta);
230 }
231 break;
232
233 case 'response.output_audio_transcript.done':
234 if (event.transcript) {
235 finalizeStreamingTranscript('assistant', event.transcript);
236 }
237 break;
238
239 case 'response.output_audio.delta':
240 setStatus('speaking', 'Speaking...');
241 break;
242
243 case 'response.done':
244 setStatus('listening', 'Listening...');
245 break;
246
247 case 'error':
248 console.error('Server error:', event.error);
249 hasError = true;
250 setStatus('error', 'Error: ' + (event.error?.message || 'Unknown error'));
251 break;
252 }
253}
254

Callers 2

connectFunction · 0.85
TalkFunction · 0.85

Calls 7

sendSessionUpdateFunction · 0.85
setStatusFunction · 0.85
addTranscriptFunction · 0.85
logMethod · 0.45
errorMethod · 0.45

Tested by

no test coverage detected