@llmrtc/llmrtc-web-client 1.0.0 → 1.1.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/CHANGELOG.md ADDED
@@ -0,0 +1,34 @@
1
+ # @llmrtc/llmrtc-web-client
2
+
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8ff3ea3: Correctness release: make the advertised behavior actually work end to end.
8
+ - Core: system prompt is always sent and pinned outside the history window;
9
+ runTurnStream accepts an AbortSignal (barge-in); onLLMEnd has real
10
+ guardrail semantics; concurrent turns serialize correctly; clearHistory
11
+ transitions clear conversation history; PlaybookHooks are wired; tool
12
+ executor abort/ordering fixes; deep tool-argument validation.
13
+ - Providers: multi-turn tool calling now works across OpenAI, Anthropic,
14
+ Gemini, Bedrock, OpenRouter, LMStudio, and Ollama (history replay,
15
+ parallel tool results, streaming accumulation); malformed tool arguments
16
+ are flagged instead of silently becoming {}; Bedrock defaults to an
17
+ invocable inference profile; Ollama NDJSON streaming is buffered
18
+ correctly; ElevenLabs format mapping fixed; Whisper uploads are named by
19
+ their actual container.
20
+ - Backend: turns serialize per connection and barge-in aborts the in-flight
21
+ turn in any phase; session reconnection binds the recovered history;
22
+ Metered TURN credentials refresh on a TTL; start()/stop() lifecycle
23
+ fixes; real-time audio pacing.
24
+ - Web client: vision frames are delivered in time to reach the turn;
25
+ session resume follows the protocol and actually restores history;
26
+ close()/failure releases the microphone and camera; frame capture works
27
+ outside Chromium; non-WebRTC fallback (sendAudio/ttsChunk) is usable.
28
+ - Packaging: packages resolve under require(), clean checkouts build first
29
+ try, and npm tarballs ship the NOTICE file.
30
+
31
+ ### Patch Changes
32
+
33
+ - Updated dependencies [8ff3ea3]
34
+ - @llmrtc/llmrtc-core@1.1.0
package/NOTICE ADDED
@@ -0,0 +1,7 @@
1
+ LLMRTC
2
+ Copyright 2025 Next Path Software Consulting Inc., dba Metered
3
+
4
+ This product includes software developed by Next Path Software Consulting Inc., dba Metered.
5
+
6
+ Project home: https://www.llmrtc.org/
7
+ Company: https://www.metered.ca/
@@ -82,6 +82,10 @@ export declare class ConnectionStateMachine extends EventEmitter<ConnectionState
82
82
  * Reset the state machine to initial state.
83
83
  */
84
84
  reset(): void;
85
+ /**
86
+ * Reset only the retry counter (e.g. when the user restarts the client).
87
+ */
88
+ resetRetries(): void;
85
89
  /**
86
90
  * Update the configuration.
87
91
  */
@@ -116,7 +116,7 @@ export class ConnectionStateMachine extends EventEmitter {
116
116
  ConnectionState.FAILED
117
117
  ],
118
118
  [ConnectionState.FAILED]: [ConnectionState.CONNECTING], // Allow retry from failed
119
- [ConnectionState.CLOSED]: [] // No transitions from closed
119
+ [ConnectionState.CLOSED]: [ConnectionState.CONNECTING] // Allow restart after close()
120
120
  };
121
121
  return validTransitions[from]?.includes(to) ?? false;
122
122
  }
@@ -148,6 +148,12 @@ export class ConnectionStateMachine extends EventEmitter {
148
148
  this._state = ConnectionState.DISCONNECTED;
149
149
  this._retryCount = 0;
150
150
  }
151
+ /**
152
+ * Reset only the retry counter (e.g. when the user restarts the client).
153
+ */
154
+ resetRetries() {
155
+ this._retryCount = 0;
156
+ }
151
157
  /**
152
158
  * Update the configuration.
153
159
  */
@@ -1 +1 @@
1
- {"version":3,"file":"connection-state.js","sourceRoot":"","sources":["../src/connection-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-state.js","sourceRoot":"","sources":["../src/connection-state.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -38,10 +38,12 @@ export interface StageChangePayload {
38
38
  reason: string;
39
39
  }
40
40
  export type ClientEvents = {
41
- transcript: (text: string) => void;
41
+ transcript: (text: string, isFinal?: boolean) => void;
42
42
  llm: (text: string) => void;
43
43
  llmChunk: (text: string) => void;
44
44
  tts: (audio: ArrayBuffer, format: string) => void;
45
+ /** Streaming TTS audio when no WebRTC audio track is available */
46
+ ttsChunk: (audio: ArrayBuffer, format: string, sampleRate?: number) => void;
45
47
  ttsTrack: (stream: MediaStream) => void;
46
48
  ttsStart: () => void;
47
49
  ttsComplete: () => void;
@@ -54,6 +56,8 @@ export type ClientEvents = {
54
56
  error: (error: ClientError) => void;
55
57
  stateChange: (state: ConnectionState) => void;
56
58
  reconnecting: (attempt: number, maxAttempts: number) => void;
59
+ /** Fired after a reconnect completes; indicates whether history was recovered */
60
+ reconnected: (historyRecovered: boolean) => void;
57
61
  };
58
62
  export interface FrameCaptureController {
59
63
  stop(): void;
@@ -72,6 +76,12 @@ export declare class LLMRTCWebClient extends EventEmitter<ClientEvents> {
72
76
  private heartbeatTimeout?;
73
77
  private missedHeartbeats;
74
78
  private reconnectTimeout?;
79
+ /**
80
+ * Incremented on every cleanup. An in-flight reconnect attempt compares
81
+ * its captured epoch after each await; a mismatch means close() (or a
82
+ * newer attempt) superseded it and it must not resurrect the connection.
83
+ */
84
+ private connectionEpoch;
75
85
  /** ICE servers received from server in ready message */
76
86
  private serverIceServers;
77
87
  private audioTrack?;
@@ -93,6 +103,11 @@ export declare class LLMRTCWebClient extends EventEmitter<ClientEvents> {
93
103
  */
94
104
  start(): Promise<void>;
95
105
  private connect;
106
+ /**
107
+ * Send a reconnect request and wait for the ack.
108
+ * Resolves with whether the server recovered the previous history.
109
+ */
110
+ private requestSessionResume;
96
111
  private connectWebSocket;
97
112
  private waitForReady;
98
113
  private setupPeerEventHandlers;
@@ -101,6 +116,14 @@ export declare class LLMRTCWebClient extends EventEmitter<ClientEvents> {
101
116
  private handlePayload;
102
117
  private handleWebSocketClose;
103
118
  private handleConnectionError;
119
+ /**
120
+ * Terminal failure: release every live resource (most importantly the
121
+ * microphone and camera - a failed client must not keep recording) and
122
+ * report the error.
123
+ */
124
+ private enterFailedState;
125
+ /** Stop microphone and capture tracks and drop the references. */
126
+ private stopMediaTracks;
104
127
  private scheduleReconnect;
105
128
  private attemptReconnect;
106
129
  private startHeartbeat;
@@ -111,6 +134,13 @@ export declare class LLMRTCWebClient extends EventEmitter<ClientEvents> {
111
134
  */
112
135
  shareAudio(stream: MediaStream): Promise<AudioController>;
113
136
  private waitForStableSignaling;
137
+ /**
138
+ * Send a complete audio utterance over the signaling channel.
139
+ * This is the non-WebRTC fallback path (e.g. when the server reports
140
+ * WEBRTC_UNAVAILABLE): the server transcribes the buffer and replies
141
+ * over the WebSocket, streaming TTS via 'ttsChunk'/'tts' events.
142
+ */
143
+ sendAudio(audio: ArrayBuffer, attachments?: AttachmentPayload[]): void;
114
144
  /**
115
145
  * Send vision attachments to include with next speech segment.
116
146
  */
@@ -119,7 +149,8 @@ export declare class LLMRTCWebClient extends EventEmitter<ClientEvents> {
119
149
  shareVideo(stream: MediaStream, intervalMs?: number): FrameCaptureController;
120
150
  shareScreen(stream: MediaStream, intervalMs?: number): FrameCaptureController;
121
151
  /**
122
- * Close the connection.
152
+ * Close the connection and release all media (microphone included).
153
+ * The client can be started again with start().
123
154
  */
124
155
  close(): void;
125
156
  private cleanup;
package/dist/index.js CHANGED
@@ -75,6 +75,17 @@ export class LLMRTCWebClient extends EventEmitter {
75
75
  writable: true,
76
76
  value: void 0
77
77
  });
78
+ /**
79
+ * Incremented on every cleanup. An in-flight reconnect attempt compares
80
+ * its captured epoch after each await; a mismatch means close() (or a
81
+ * newer attempt) superseded it and it must not resurrect the connection.
82
+ */
83
+ Object.defineProperty(this, "connectionEpoch", {
84
+ enumerable: true,
85
+ configurable: true,
86
+ writable: true,
87
+ value: 0
88
+ });
78
89
  /** ICE servers received from server in ready message */
79
90
  Object.defineProperty(this, "serverIceServers", {
80
91
  enumerable: true,
@@ -139,9 +150,15 @@ export class LLMRTCWebClient extends EventEmitter {
139
150
  * Start the connection to the server.
140
151
  */
141
152
  async start() {
142
- if (this.stateMachine.state !== ConnectionState.DISCONNECTED) {
153
+ const restartableStates = [
154
+ ConnectionState.DISCONNECTED,
155
+ ConnectionState.FAILED,
156
+ ConnectionState.CLOSED
157
+ ];
158
+ if (!restartableStates.includes(this.stateMachine.state)) {
143
159
  throw new Error('Client already started or connecting');
144
160
  }
161
+ this.stateMachine.resetRetries();
145
162
  this.stateMachine.transition(ConnectionState.CONNECTING);
146
163
  try {
147
164
  await this.connect();
@@ -152,12 +169,19 @@ export class LLMRTCWebClient extends EventEmitter {
152
169
  throw error;
153
170
  }
154
171
  }
155
- async connect() {
172
+ async connect(resumeSessionId) {
156
173
  // 1. Establish WebSocket
157
174
  await this.connectWebSocket();
158
175
  // 2. Wait for ready message with session ID and ICE servers
159
176
  await this.waitForReady();
160
- // 3. Resolve ICE servers
177
+ // 3. Resume the previous session BEFORE negotiating the peer, so the
178
+ // server binds the recovered conversation to this connection
179
+ // (protocol order: ready -> reconnect -> reconnect-ack -> offer)
180
+ if (resumeSessionId) {
181
+ const recovered = await this.requestSessionResume(resumeSessionId);
182
+ this.emit('reconnected', recovered);
183
+ }
184
+ // 4. Resolve ICE servers
161
185
  // Priority: client config > server-provided > default STUN
162
186
  const iceServers = this.config.iceServers?.length
163
187
  ? this.config.iceServers
@@ -165,16 +189,53 @@ export class LLMRTCWebClient extends EventEmitter {
165
189
  ? this.serverIceServers
166
190
  : DEFAULT_ICE_SERVERS;
167
191
  console.log('[web-client] Using', iceServers.length, 'ICE servers');
168
- // 4. Create peer connection
192
+ // 5. Create peer connection
169
193
  this.peer = new NativePeer({ iceServers, trickle: false }, true);
170
194
  this.setupPeerEventHandlers();
171
- // 5. Create offer (triggers signal event which sends to server)
195
+ // 6. Create offer (triggers signal event which sends to server)
172
196
  await this.peer.createOffer();
173
- // 6. Wait for peer connection to be established
197
+ // 7. Wait for peer connection to be established
174
198
  await this.waitForPeerConnection();
175
- // 7. Start heartbeat
199
+ // 8. Start heartbeat
176
200
  this.startHeartbeat();
177
201
  }
202
+ /**
203
+ * Send a reconnect request and wait for the ack.
204
+ * Resolves with whether the server recovered the previous history.
205
+ */
206
+ requestSessionResume(sessionId) {
207
+ return new Promise((resolve) => {
208
+ const ws = this.ws;
209
+ if (!ws || ws.readyState !== WebSocket.OPEN) {
210
+ resolve(false);
211
+ return;
212
+ }
213
+ const timeout = setTimeout(() => {
214
+ ws.removeEventListener('message', handler);
215
+ console.warn('[web-client] Timed out waiting for reconnect-ack');
216
+ resolve(false);
217
+ }, 5000);
218
+ const handler = (ev) => {
219
+ try {
220
+ const msg = JSON.parse(ev.data);
221
+ if (msg.type === 'reconnect-ack') {
222
+ clearTimeout(timeout);
223
+ ws.removeEventListener('message', handler);
224
+ if (msg.success && msg.sessionId) {
225
+ this.sessionId = msg.sessionId;
226
+ }
227
+ resolve(Boolean(msg.success && msg.historyRecovered));
228
+ }
229
+ }
230
+ catch {
231
+ // Ignore parse errors
232
+ }
233
+ };
234
+ ws.addEventListener('message', handler);
235
+ console.log('[web-client] Requesting session resume:', sessionId);
236
+ ws.send(JSON.stringify({ type: 'reconnect', sessionId }));
237
+ });
238
+ }
178
239
  connectWebSocket() {
179
240
  return new Promise((resolve, reject) => {
180
241
  console.log('[web-client] Connecting to', this.config.signallingUrl);
@@ -202,6 +263,7 @@ export class LLMRTCWebClient extends EventEmitter {
202
263
  waitForReady() {
203
264
  return new Promise((resolve, reject) => {
204
265
  const timeout = setTimeout(() => {
266
+ this.ws?.removeEventListener('message', handler);
205
267
  reject(new Error('Timeout waiting for ready message'));
206
268
  }, 10000);
207
269
  const handler = (ev) => {
@@ -313,7 +375,14 @@ export class LLMRTCWebClient extends EventEmitter {
313
375
  case 'signal':
314
376
  if (this.peer && !this.peer.destroyed) {
315
377
  console.log('[web-client] Received answer signal');
316
- this.peer.signal(msg.signal);
378
+ this.peer.signal(msg.signal).catch((err) => {
379
+ console.error('[web-client] Failed to apply signal:', err);
380
+ this.emit('error', {
381
+ code: 'SIGNALING_ERROR',
382
+ message: err.message,
383
+ recoverable: true
384
+ });
385
+ });
317
386
  }
318
387
  break;
319
388
  case 'pong':
@@ -351,7 +420,7 @@ export class LLMRTCWebClient extends EventEmitter {
351
420
  const msg = JSON.parse(raw);
352
421
  switch (msg.type) {
353
422
  case 'transcript':
354
- this.emit('transcript', msg.text);
423
+ this.emit('transcript', msg.text, msg.isFinal ?? true);
355
424
  break;
356
425
  case 'llm-chunk':
357
426
  if (msg.content)
@@ -364,6 +433,11 @@ export class LLMRTCWebClient extends EventEmitter {
364
433
  if (msg.data)
365
434
  this.emit('tts', base64ToArrayBuffer(msg.data), msg.format ?? 'mp3');
366
435
  break;
436
+ case 'tts-chunk':
437
+ // Streaming TTS fallback when no WebRTC audio track exists
438
+ if (msg.data)
439
+ this.emit('ttsChunk', base64ToArrayBuffer(msg.data), msg.format ?? 'pcm', msg.sampleRate);
440
+ break;
367
441
  case 'tts-start':
368
442
  this.emit('ttsStart');
369
443
  break;
@@ -374,10 +448,14 @@ export class LLMRTCWebClient extends EventEmitter {
374
448
  this.emit('ttsCancelled');
375
449
  break;
376
450
  case 'speech-start':
451
+ // Ship the current camera/screen frames now, while the utterance
452
+ // is still in progress - the server snapshots attachments the
453
+ // moment its VAD ends the turn, so sending them on speech-end
454
+ // arrives too late to be included
455
+ this.sendAttachments();
377
456
  this.emit('speechStart');
378
457
  break;
379
458
  case 'speech-end':
380
- this.sendAttachments();
381
459
  this.emit('speechEnd');
382
460
  break;
383
461
  case 'tool-call-start':
@@ -427,33 +505,49 @@ export class LLMRTCWebClient extends EventEmitter {
427
505
  this.scheduleReconnect();
428
506
  }
429
507
  else {
430
- this.stateMachine.transition(ConnectionState.FAILED);
431
- this.emit('error', {
432
- code: 'CONNECTION_ERROR',
433
- message: error.message,
434
- recoverable: false
435
- });
508
+ this.enterFailedState('CONNECTION_ERROR', error.message);
436
509
  }
437
510
  }
511
+ /**
512
+ * Terminal failure: release every live resource (most importantly the
513
+ * microphone and camera - a failed client must not keep recording) and
514
+ * report the error.
515
+ */
516
+ enterFailedState(code, message) {
517
+ this.stopMediaTracks();
518
+ this.cleanup(false);
519
+ this.stateMachine.transition(ConnectionState.FAILED);
520
+ this.emit('error', { code, message, recoverable: false });
521
+ }
522
+ /** Stop microphone and capture tracks and drop the references. */
523
+ stopMediaTracks() {
524
+ this.audioTrack?.stop();
525
+ this.audioStream?.getTracks().forEach((t) => t.stop());
526
+ this.audioTrack = undefined;
527
+ this.audioStream = undefined;
528
+ this.audioSender = undefined;
529
+ this.videoCapture?.stop();
530
+ this.screenCapture?.stop();
531
+ this.videoCapture = undefined;
532
+ this.screenCapture = undefined;
533
+ }
438
534
  scheduleReconnect() {
439
535
  if (!this.stateMachine.reconnectionEnabled) {
440
- this.stateMachine.transition(ConnectionState.FAILED);
536
+ this.enterFailedState('CONNECTION_ERROR', 'Connection lost');
441
537
  return;
442
538
  }
443
539
  // Clear any existing reconnect timeout
444
540
  if (this.reconnectTimeout) {
445
541
  clearTimeout(this.reconnectTimeout);
446
542
  }
543
+ // The old connection's heartbeat must not fire during backoff - it
544
+ // would burn retries against a socket we already know is dead
545
+ this.stopHeartbeat();
447
546
  this.stateMachine.transition(ConnectionState.RECONNECTING);
448
547
  const delay = this.stateMachine.getNextRetryDelay();
449
548
  if (delay === null) {
450
549
  // Max retries exceeded
451
- this.stateMachine.transition(ConnectionState.FAILED);
452
- this.emit('error', {
453
- code: 'RECONNECTION_FAILED',
454
- message: 'Maximum reconnection attempts exceeded',
455
- recoverable: false
456
- });
550
+ this.enterFailedState('RECONNECTION_FAILED', 'Maximum reconnection attempts exceeded');
457
551
  return;
458
552
  }
459
553
  console.log(`[web-client] Reconnecting in ${delay}ms (attempt ${this.stateMachine.retryCount}/${this.stateMachine.maxRetries})`);
@@ -461,31 +555,45 @@ export class LLMRTCWebClient extends EventEmitter {
461
555
  this.reconnectTimeout = setTimeout(() => this.attemptReconnect(), delay);
462
556
  }
463
557
  async attemptReconnect() {
558
+ if (this.stateMachine.state === ConnectionState.CLOSED ||
559
+ this.stateMachine.state === ConnectionState.FAILED) {
560
+ return;
561
+ }
464
562
  // Save old session ID BEFORE cleanup/connect (connect() will set a new sessionId)
465
563
  const oldSessionId = this.sessionId;
466
564
  // Clean up existing connections but keep session ID
467
565
  this.cleanup(false);
566
+ const epoch = this.connectionEpoch;
468
567
  this.stateMachine.transition(ConnectionState.CONNECTING);
469
568
  try {
470
- await this.connect();
471
- // Send reconnect message with OLD session ID to recover the previous session
472
- // Note: connect() sets this.sessionId to a new value from the server's ready message,
473
- // so we must use oldSessionId here to request session recovery
474
- if (oldSessionId) {
475
- console.log('[web-client] Sending reconnect request for session:', oldSessionId);
476
- this.ws?.send(JSON.stringify({
477
- type: 'reconnect',
478
- sessionId: oldSessionId
479
- }));
569
+ // connect() resumes the old session between ready and the offer, so
570
+ // the recovered history is bound before any turn can run
571
+ await this.connect(oldSessionId);
572
+ // close() may have run while we were connecting; don't resurrect a
573
+ // connection the user has already hung up
574
+ if (this.connectionEpoch !== epoch) {
575
+ console.log('[web-client] Reconnect superseded, tearing down');
576
+ this.peer?.destroy();
577
+ this.peer = null;
578
+ if (this.ws) {
579
+ this.ws.onclose = null;
580
+ this.ws.close();
581
+ this.ws = null;
582
+ }
583
+ this.stopHeartbeat();
584
+ return;
480
585
  }
481
586
  // Re-add audio track if we had one
482
- if (this.audioStream && this.audioTrack) {
587
+ if (this.audioStream && this.audioTrack && this.audioTrack.readyState === 'live') {
483
588
  console.log('[web-client] Re-adding audio track after reconnect');
484
589
  this.audioSender = this.peer?.addTrack(this.audioTrack, this.audioStream);
485
590
  }
486
591
  this.stateMachine.transition(ConnectionState.CONNECTED);
487
592
  }
488
593
  catch (error) {
594
+ if (this.connectionEpoch !== epoch) {
595
+ return;
596
+ }
489
597
  console.error('[web-client] Reconnect attempt failed:', error);
490
598
  this.scheduleReconnect();
491
599
  }
@@ -498,7 +606,8 @@ export class LLMRTCWebClient extends EventEmitter {
498
606
  this.heartbeatTimeout = setTimeout(() => {
499
607
  this.missedHeartbeats++;
500
608
  console.warn(`[web-client] Missed heartbeat (${this.missedHeartbeats}/${MAX_MISSED_HEARTBEATS})`);
501
- if (this.missedHeartbeats >= MAX_MISSED_HEARTBEATS) {
609
+ if (this.missedHeartbeats >= MAX_MISSED_HEARTBEATS &&
610
+ this.stateMachine.state === ConnectionState.CONNECTED) {
502
611
  console.warn('[web-client] Too many missed heartbeats, reconnecting');
503
612
  this.scheduleReconnect();
504
613
  }
@@ -525,43 +634,77 @@ export class LLMRTCWebClient extends EventEmitter {
525
634
  if (!this.peer?.connected) {
526
635
  throw new Error('Peer not connected');
527
636
  }
528
- this.audioStream = stream;
529
- this.audioTrack = stream.getAudioTracks()[0];
530
- if (!this.audioTrack) {
637
+ const track = stream.getAudioTracks()[0];
638
+ if (!track) {
531
639
  throw new Error('No audio track in stream');
532
640
  }
641
+ // Sharing again replaces the previous share; two live mic tracks would
642
+ // confuse the server's single-track VAD pipeline
643
+ if (this.audioSender && this.peer) {
644
+ console.log('[web-client] Replacing existing audio share');
645
+ this.peer.removeTrack(this.audioSender);
646
+ this.audioTrack?.stop();
647
+ }
648
+ this.audioStream = stream;
649
+ this.audioTrack = track;
533
650
  console.log('[web-client] Adding audio track to peer connection');
534
- this.audioSender = this.peer.addTrack(this.audioTrack, stream);
651
+ const sender = this.peer.addTrack(track, stream);
652
+ this.audioSender = sender;
535
653
  // Wait for signaling to stabilize
536
654
  await this.waitForStableSignaling();
537
655
  console.log('[web-client] Audio track added - VAD handled server-side');
538
656
  return {
539
657
  stop: async () => {
540
658
  console.log('[web-client] Stopping audio sharing');
541
- if (this.audioSender && this.peer) {
542
- this.peer.removeTrack(this.audioSender);
659
+ // Only touch client state if this share is still the active one
660
+ if (this.audioSender === sender && this.peer) {
661
+ this.peer.removeTrack(sender);
543
662
  this.audioSender = undefined;
663
+ this.audioTrack = undefined;
664
+ this.audioStream = undefined;
544
665
  }
545
- this.audioTrack?.stop();
666
+ track.stop();
546
667
  stream.getTracks().forEach((t) => t.stop());
547
- this.audioTrack = undefined;
548
- this.audioStream = undefined;
549
668
  }
550
669
  };
551
670
  }
552
- waitForStableSignaling() {
553
- return new Promise((resolve) => {
671
+ waitForStableSignaling(timeoutMs = 10000) {
672
+ return new Promise((resolve, reject) => {
673
+ const deadline = Date.now() + timeoutMs;
554
674
  const checkState = () => {
555
- if (this.peer?.signalingState === 'stable') {
675
+ if (!this.peer || this.peer.destroyed) {
676
+ reject(new Error('Peer closed while waiting for stable signaling'));
677
+ return;
678
+ }
679
+ if (this.peer.signalingState === 'stable') {
556
680
  resolve();
681
+ return;
557
682
  }
558
- else {
559
- setTimeout(checkState, 100);
683
+ if (Date.now() >= deadline) {
684
+ reject(new Error('Timed out waiting for stable signaling'));
685
+ return;
560
686
  }
687
+ setTimeout(checkState, 100);
561
688
  };
562
689
  setTimeout(checkState, 100);
563
690
  });
564
691
  }
692
+ /**
693
+ * Send a complete audio utterance over the signaling channel.
694
+ * This is the non-WebRTC fallback path (e.g. when the server reports
695
+ * WEBRTC_UNAVAILABLE): the server transcribes the buffer and replies
696
+ * over the WebSocket, streaming TTS via 'ttsChunk'/'tts' events.
697
+ */
698
+ sendAudio(audio, attachments) {
699
+ if (this.ws?.readyState !== WebSocket.OPEN) {
700
+ throw new Error('Signaling channel not open');
701
+ }
702
+ this.ws.send(JSON.stringify({
703
+ type: 'audio',
704
+ data: arrayBufferToBase64(audio),
705
+ attachments: attachments ?? this.gatherAttachments()
706
+ }));
707
+ }
565
708
  /**
566
709
  * Send vision attachments to include with next speech segment.
567
710
  */
@@ -594,20 +737,22 @@ export class LLMRTCWebClient extends EventEmitter {
594
737
  return ctrl;
595
738
  }
596
739
  /**
597
- * Close the connection.
740
+ * Close the connection and release all media (microphone included).
741
+ * The client can be started again with start().
598
742
  */
599
743
  close() {
600
744
  this.stateMachine.transition(ConnectionState.CLOSED);
745
+ this.stopMediaTracks();
601
746
  this.cleanup(true);
602
747
  }
603
748
  cleanup(fullCleanup) {
749
+ // Invalidate any in-flight reconnect attempt
750
+ this.connectionEpoch++;
604
751
  this.stopHeartbeat();
605
752
  if (this.reconnectTimeout) {
606
753
  clearTimeout(this.reconnectTimeout);
607
754
  this.reconnectTimeout = undefined;
608
755
  }
609
- this.videoCapture?.stop();
610
- this.screenCapture?.stop();
611
756
  this.peer?.destroy();
612
757
  this.peer = null;
613
758
  if (this.ws) {
@@ -616,16 +761,30 @@ export class LLMRTCWebClient extends EventEmitter {
616
761
  this.ws = null;
617
762
  }
618
763
  if (fullCleanup) {
764
+ // Frame captures are local (frames travel over the data channel), so
765
+ // they survive reconnects; they only stop on close()/failure
766
+ this.videoCapture?.stop();
767
+ this.screenCapture?.stop();
768
+ this.videoCapture = undefined;
769
+ this.screenCapture = undefined;
619
770
  this.sessionId = null;
620
771
  this.serverIceServers = null;
621
772
  this.audioTrack = undefined;
622
773
  this.audioStream = undefined;
623
774
  this.audioSender = undefined;
624
- this.stateMachine.reset();
625
775
  }
626
776
  }
627
777
  }
628
778
  // Helper functions
779
+ function arrayBufferToBase64(buffer) {
780
+ const bytes = new Uint8Array(buffer);
781
+ let binary = '';
782
+ const chunkSize = 0x8000;
783
+ for (let i = 0; i < bytes.length; i += chunkSize) {
784
+ binary += String.fromCharCode(...bytes.subarray(i, i + chunkSize));
785
+ }
786
+ return btoa(binary);
787
+ }
629
788
  function base64ToArrayBuffer(base64) {
630
789
  const binary = atob(base64);
631
790
  const bytes = new Uint8Array(binary.length);
@@ -636,15 +795,22 @@ function base64ToArrayBuffer(base64) {
636
795
  }
637
796
  export async function recordOnce(durationMs = 4000) {
638
797
  const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
639
- const recorder = new MediaRecorder(stream, { mimeType: 'audio/webm' });
798
+ // Pick a container the browser actually supports (Safari records mp4/aac,
799
+ // Chromium and Firefox record webm)
800
+ const mimeType = ['audio/webm', 'audio/mp4', 'audio/ogg'].find((t) => typeof MediaRecorder.isTypeSupported === 'function' ? MediaRecorder.isTypeSupported(t) : true);
801
+ const recorder = new MediaRecorder(stream, mimeType ? { mimeType } : undefined);
640
802
  const chunks = [];
641
- return new Promise((resolve) => {
803
+ return new Promise((resolve, reject) => {
642
804
  recorder.ondataavailable = (e) => {
643
805
  if (e.data.size > 0)
644
806
  chunks.push(e.data);
645
807
  };
808
+ recorder.onerror = (e) => {
809
+ stream.getTracks().forEach((t) => t.stop());
810
+ reject(e.error ?? new Error('Recording failed'));
811
+ };
646
812
  recorder.onstop = async () => {
647
- const blob = new Blob(chunks, { type: 'audio/webm' });
813
+ const blob = new Blob(chunks, { type: recorder.mimeType || 'audio/webm' });
648
814
  const buf = await blob.arrayBuffer();
649
815
  stream.getTracks().forEach((t) => t.stop());
650
816
  resolve(buf);
@@ -660,49 +826,98 @@ export async function captureScreenFrame() {
660
826
  track.stop();
661
827
  return image;
662
828
  }
663
- async function grabFrame(track) {
664
- const capture = new window.ImageCapture(track);
665
- const bitmap = await capture.grabFrame();
829
+ function createFrameGrabber(stream) {
830
+ const track = stream.getVideoTracks()[0];
831
+ if (!track) {
832
+ throw new Error('No video track in stream');
833
+ }
666
834
  const canvas = document.createElement('canvas');
667
- canvas.width = bitmap.width;
668
- canvas.height = bitmap.height;
669
835
  const ctx = canvas.getContext('2d');
670
- if (!ctx)
836
+ if (!ctx) {
671
837
  throw new Error('canvas context missing');
672
- ctx.drawImage(bitmap, 0, 0);
673
- const dataUrl = canvas.toDataURL('image/jpeg', 0.6);
674
- return dataUrl;
838
+ }
839
+ const ImageCaptureCtor = window.ImageCapture;
840
+ if (ImageCaptureCtor) {
841
+ const capture = new ImageCaptureCtor(track);
842
+ return {
843
+ grab: async () => {
844
+ const bitmap = await capture.grabFrame();
845
+ canvas.width = bitmap.width;
846
+ canvas.height = bitmap.height;
847
+ ctx.drawImage(bitmap, 0, 0);
848
+ return canvas.toDataURL('image/jpeg', 0.6);
849
+ },
850
+ dispose: () => {
851
+ // Nothing to release
852
+ }
853
+ };
854
+ }
855
+ // Fallback: hidden video element
856
+ const video = document.createElement('video');
857
+ video.muted = true;
858
+ video.playsInline = true;
859
+ video.srcObject = stream;
860
+ const playing = video.play().catch(() => {
861
+ // Autoplay of a muted, detached video element is permitted everywhere;
862
+ // failures surface on grab() as zero dimensions
863
+ });
864
+ return {
865
+ grab: async () => {
866
+ await playing;
867
+ if (!video.videoWidth || !video.videoHeight) {
868
+ throw new Error('Video frame not ready');
869
+ }
870
+ canvas.width = video.videoWidth;
871
+ canvas.height = video.videoHeight;
872
+ ctx.drawImage(video, 0, 0);
873
+ return canvas.toDataURL('image/jpeg', 0.6);
874
+ },
875
+ dispose: () => {
876
+ video.pause();
877
+ video.srcObject = null;
878
+ }
879
+ };
880
+ }
881
+ async function grabFrame(track) {
882
+ const grabber = createFrameGrabber(new MediaStream([track]));
883
+ try {
884
+ return await grabber.grab();
885
+ }
886
+ finally {
887
+ grabber.dispose();
888
+ }
675
889
  }
676
890
  function startFrameCapture(stream, intervalMs) {
677
- const track = stream.getVideoTracks()[0];
678
891
  let stopped = false;
679
- const canvas = document.createElement('canvas');
680
- const ctx = canvas.getContext('2d');
681
892
  let lastFrame = null;
893
+ let consecutiveFailures = 0;
894
+ const grabber = createFrameGrabber(stream);
682
895
  const tick = async () => {
683
896
  if (stopped)
684
897
  return;
685
898
  try {
686
- const capture = new window.ImageCapture(track);
687
- const bitmap = await capture.grabFrame();
688
- canvas.width = bitmap.width;
689
- canvas.height = bitmap.height;
690
- ctx?.drawImage(bitmap, 0, 0);
691
- lastFrame = canvas.toDataURL('image/jpeg', 0.6);
899
+ lastFrame = await grabber.grab();
900
+ consecutiveFailures = 0;
692
901
  }
693
902
  catch (err) {
694
- // ignore frame errors
903
+ consecutiveFailures++;
904
+ if (consecutiveFailures === 5) {
905
+ console.warn('[web-client] Frame capture failing repeatedly; no frames will be attached:', err);
906
+ }
907
+ }
908
+ if (!stopped) {
909
+ timer = window.setTimeout(tick, intervalMs);
695
910
  }
696
- timer = window.setTimeout(tick, intervalMs);
697
911
  };
698
912
  let timer = window.setTimeout(tick, intervalMs);
699
913
  return {
700
914
  stop: () => {
701
915
  stopped = true;
702
916
  window.clearTimeout(timer);
917
+ grabber.dispose();
703
918
  stream.getTracks().forEach((t) => t.stop());
704
919
  },
705
- getLastFrame: () => lastFrame
920
+ getLastFrame: () => (stopped ? null : lastFrame)
706
921
  };
707
922
  }
708
923
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llmrtc/llmrtc-web-client",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Browser client SDK for @llmrtc/LLMRTC",
5
5
  "homepage": "https://www.llmrtc.org",
6
6
  "license": "Apache-2.0",
@@ -9,9 +9,11 @@
9
9
  "types": "dist/index.d.ts",
10
10
  "exports": {
11
11
  ".": {
12
+ "types": "./dist/index.d.ts",
12
13
  "import": "./dist/index.js",
13
- "types": "./dist/index.d.ts"
14
- }
14
+ "default": "./dist/index.js"
15
+ },
16
+ "./package.json": "./package.json"
15
17
  },
16
18
  "repository": {
17
19
  "type": "git",
@@ -28,7 +30,9 @@
28
30
  "files": [
29
31
  "dist",
30
32
  "README.md",
31
- "LICENSE"
33
+ "LICENSE",
34
+ "NOTICE",
35
+ "CHANGELOG.md"
32
36
  ],
33
37
  "scripts": {
34
38
  "build": "tsc -b",
@@ -36,8 +40,12 @@
36
40
  "prepublishOnly": "npm run build"
37
41
  },
38
42
  "dependencies": {
39
- "@llmrtc/llmrtc-core": "^1.0.0",
43
+ "@llmrtc/llmrtc-core": "^1.1.0",
40
44
  "eventemitter3": "^5.0.1",
41
45
  "zod": "^3.23.8"
46
+ },
47
+ "sideEffects": false,
48
+ "engines": {
49
+ "node": ">=20"
42
50
  }
43
51
  }