@anam-ai/js-sdk 4.15.0 → 4.16.1-alpha.1

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.
Files changed (70) hide show
  1. package/dist/main/AnamClient.d.ts +1 -0
  2. package/dist/main/AnamClient.d.ts.map +1 -1
  3. package/dist/main/AnamClient.js +84 -24
  4. package/dist/main/AnamClient.js.map +1 -1
  5. package/dist/main/lib/ClientMetrics.d.ts +1 -0
  6. package/dist/main/lib/ClientMetrics.d.ts.map +1 -1
  7. package/dist/main/lib/ClientMetrics.js +11 -4
  8. package/dist/main/lib/ClientMetrics.js.map +1 -1
  9. package/dist/main/lib/ConnectionMilestones.d.ts +39 -0
  10. package/dist/main/lib/ConnectionMilestones.d.ts.map +1 -0
  11. package/dist/main/lib/ConnectionMilestones.js +137 -0
  12. package/dist/main/lib/ConnectionMilestones.js.map +1 -0
  13. package/dist/main/lib/constants.js +1 -1
  14. package/dist/main/modules/SignallingClient.d.ts +3 -1
  15. package/dist/main/modules/SignallingClient.d.ts.map +1 -1
  16. package/dist/main/modules/SignallingClient.js +31 -3
  17. package/dist/main/modules/SignallingClient.js.map +1 -1
  18. package/dist/main/modules/StreamingClient.d.ts +20 -1
  19. package/dist/main/modules/StreamingClient.d.ts.map +1 -1
  20. package/dist/main/modules/StreamingClient.js +212 -23
  21. package/dist/main/modules/StreamingClient.js.map +1 -1
  22. package/dist/main/types/AnamPublicClientOptions.d.ts +2 -1
  23. package/dist/main/types/AnamPublicClientOptions.d.ts.map +1 -1
  24. package/dist/main/types/ConnectionMilestoneMetricsOptions.d.ts +16 -0
  25. package/dist/main/types/ConnectionMilestoneMetricsOptions.d.ts.map +1 -0
  26. package/dist/main/types/ConnectionMilestoneMetricsOptions.js +3 -0
  27. package/dist/main/types/ConnectionMilestoneMetricsOptions.js.map +1 -0
  28. package/dist/main/types/coreApi/StartSessionResponse.d.ts +1 -0
  29. package/dist/main/types/coreApi/StartSessionResponse.d.ts.map +1 -1
  30. package/dist/main/types/index.d.ts +1 -0
  31. package/dist/main/types/index.d.ts.map +1 -1
  32. package/dist/main/types/index.js.map +1 -1
  33. package/dist/main/types/streaming/StreamingClientOptions.d.ts +1 -0
  34. package/dist/main/types/streaming/StreamingClientOptions.d.ts.map +1 -1
  35. package/dist/module/AnamClient.d.ts +1 -0
  36. package/dist/module/AnamClient.d.ts.map +1 -1
  37. package/dist/module/AnamClient.js +84 -24
  38. package/dist/module/AnamClient.js.map +1 -1
  39. package/dist/module/lib/ClientMetrics.d.ts +1 -0
  40. package/dist/module/lib/ClientMetrics.d.ts.map +1 -1
  41. package/dist/module/lib/ClientMetrics.js +11 -4
  42. package/dist/module/lib/ClientMetrics.js.map +1 -1
  43. package/dist/module/lib/ConnectionMilestones.d.ts +39 -0
  44. package/dist/module/lib/ConnectionMilestones.d.ts.map +1 -0
  45. package/dist/module/lib/ConnectionMilestones.js +133 -0
  46. package/dist/module/lib/ConnectionMilestones.js.map +1 -0
  47. package/dist/module/lib/constants.js +1 -1
  48. package/dist/module/modules/SignallingClient.d.ts +3 -1
  49. package/dist/module/modules/SignallingClient.d.ts.map +1 -1
  50. package/dist/module/modules/SignallingClient.js +31 -3
  51. package/dist/module/modules/SignallingClient.js.map +1 -1
  52. package/dist/module/modules/StreamingClient.d.ts +20 -1
  53. package/dist/module/modules/StreamingClient.d.ts.map +1 -1
  54. package/dist/module/modules/StreamingClient.js +212 -23
  55. package/dist/module/modules/StreamingClient.js.map +1 -1
  56. package/dist/module/types/AnamPublicClientOptions.d.ts +2 -1
  57. package/dist/module/types/AnamPublicClientOptions.d.ts.map +1 -1
  58. package/dist/module/types/ConnectionMilestoneMetricsOptions.d.ts +16 -0
  59. package/dist/module/types/ConnectionMilestoneMetricsOptions.d.ts.map +1 -0
  60. package/dist/module/types/ConnectionMilestoneMetricsOptions.js +2 -0
  61. package/dist/module/types/ConnectionMilestoneMetricsOptions.js.map +1 -0
  62. package/dist/module/types/coreApi/StartSessionResponse.d.ts +1 -0
  63. package/dist/module/types/coreApi/StartSessionResponse.d.ts.map +1 -1
  64. package/dist/module/types/index.d.ts +1 -0
  65. package/dist/module/types/index.d.ts.map +1 -1
  66. package/dist/module/types/index.js.map +1 -1
  67. package/dist/module/types/streaming/StreamingClientOptions.d.ts +1 -0
  68. package/dist/module/types/streaming/StreamingClientOptions.d.ts.map +1 -1
  69. package/dist/umd/anam.js +1 -1
  70. package/package.json +2 -1
@@ -17,7 +17,7 @@ const SUCCESS_METRIC_POLLING_TIMEOUT_MS = 15000; // After this time we will stop
17
17
  const STATS_COLLECTION_INTERVAL_MS = 5000;
18
18
  const ICE_CANDIDATE_POOL_SIZE = 2; // Optimisation to speed up connection time
19
19
  export class StreamingClient {
20
- constructor(sessionId, options, publicEventEmitter, internalEventEmitter, toolCallManager) {
20
+ constructor(sessionId, options, publicEventEmitter, internalEventEmitter, toolCallManager, connectionMilestones) {
21
21
  var _a, _b, _c, _d;
22
22
  this.peerConnection = null;
23
23
  this.connectionReceivedAnswer = false;
@@ -37,9 +37,14 @@ export class StreamingClient {
37
37
  this.peerConnectionStatsReportOutputFormat = 'console';
38
38
  this.statsCollectionInterval = null;
39
39
  this.agentAudioInputStream = null;
40
+ this.firstLocalIceCandidateSent = false;
41
+ this.firstRemoteIceCandidateReceived = false;
42
+ this.firstRemoteIceCandidateApplied = false;
43
+ this.connectionEstablishedMilestoneRecorded = false;
40
44
  this.publicEventEmitter = publicEventEmitter;
41
45
  this.internalEventEmitter = internalEventEmitter;
42
46
  this.toolCallManager = toolCallManager;
47
+ this.connectionMilestones = connectionMilestones;
43
48
  this.apiGatewayConfig = options.apiGateway;
44
49
  // initialize input audio state
45
50
  const { inputAudio } = options;
@@ -57,9 +62,10 @@ export class StreamingClient {
57
62
  this.internalEventEmitter.addListener(InternalEvent.TOOL_CALL_RESULT_READY, this.onToolCallResultReceived.bind(this));
58
63
  // set ice servers
59
64
  this.iceServers = options.iceServers;
65
+ this.iceTransportPolicy = options.iceTransportPolicy;
60
66
  this.rtcConfiguration = options.rtcConfiguration;
61
67
  // initialize signalling client
62
- this.signallingClient = new SignallingClient(sessionId, options.signalling, this.publicEventEmitter, this.internalEventEmitter, this.apiGatewayConfig);
68
+ this.signallingClient = new SignallingClient(sessionId, options.signalling, this.publicEventEmitter, this.internalEventEmitter, this.apiGatewayConfig, this.connectionMilestones);
63
69
  // initialize engine API client
64
70
  this.engineApiRestClient = new EngineApiRestClient(options.engine.baseUrl, sessionId, this.apiGatewayConfig);
65
71
  this.audioDeviceId = options.inputAudio.audioDeviceId;
@@ -126,12 +132,32 @@ export class StreamingClient {
126
132
  }
127
133
  });
128
134
  }
135
+ recordSessionSuccess(detectionMethod) {
136
+ var _a, _b;
137
+ if (this.successMetricFired) {
138
+ return;
139
+ }
140
+ this.successMetricFired = true;
141
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_video_frame', {
142
+ detectionMethod,
143
+ });
144
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.recordSessionSuccess({ detectionMethod });
145
+ sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS, '1', { detectionMethod });
146
+ }
129
147
  startSuccessMetricPolling() {
130
148
  if (this.successMetricPoller || this.successMetricFired) {
131
149
  return;
132
150
  }
133
151
  const timeoutId = setTimeout(() => {
152
+ var _a, _b;
134
153
  if (this.successMetricPoller) {
154
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_video_frame_timeout', {
155
+ timeoutMs: SUCCESS_METRIC_POLLING_TIMEOUT_MS,
156
+ });
157
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.publishFailure({
158
+ failureStage: 'first_video_frame',
159
+ timeoutMs: SUCCESS_METRIC_POLLING_TIMEOUT_MS,
160
+ });
135
161
  console.warn('No video frames received, there is a problem with the connection.');
136
162
  clearInterval(this.successMetricPoller);
137
163
  this.successMetricPoller = null;
@@ -174,8 +200,7 @@ export class StreamingClient {
174
200
  }
175
201
  });
176
202
  if (videoDetected && !this.successMetricFired) {
177
- this.successMetricFired = true;
178
- sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS, '1', detectionMethod ? { detectionMethod } : undefined);
203
+ this.recordSessionSuccess(detectionMethod !== null && detectionMethod !== void 0 ? detectionMethod : 'unknown');
179
204
  if (this.successMetricPoller) {
180
205
  clearInterval(this.successMetricPoller);
181
206
  }
@@ -291,11 +316,14 @@ export class StreamingClient {
291
316
  }
292
317
  }
293
318
  startConnection() {
319
+ var _a;
294
320
  try {
295
321
  if (this.peerConnection) {
296
322
  console.error('StreamingClient - startConnection: peer connection already exists');
297
323
  return;
298
324
  }
325
+ this.resetAttemptScopedMilestoneState();
326
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('connection_start_requested');
299
327
  // start the connection
300
328
  this.signallingClient.connect();
301
329
  }
@@ -304,6 +332,12 @@ export class StreamingClient {
304
332
  this.handleWebrtcFailure(error);
305
333
  }
306
334
  }
335
+ resetAttemptScopedMilestoneState() {
336
+ this.firstLocalIceCandidateSent = false;
337
+ this.firstRemoteIceCandidateReceived = false;
338
+ this.firstRemoteIceCandidateApplied = false;
339
+ this.connectionEstablishedMilestoneRecorded = false;
340
+ }
307
341
  stopConnection() {
308
342
  return __awaiter(this, void 0, void 0, function* () {
309
343
  yield this.shutdown();
@@ -334,11 +368,18 @@ export class StreamingClient {
334
368
  }
335
369
  initPeerConnection() {
336
370
  return __awaiter(this, void 0, void 0, function* () {
371
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
372
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('peer_connection_creating');
337
373
  this.peerConnection = new RTCPeerConnection(Object.assign(Object.assign({
338
374
  // SDK default first (caller's rtcConfiguration may override it)
339
- iceCandidatePoolSize: ICE_CANDIDATE_POOL_SIZE }, this.rtcConfiguration), {
375
+ iceCandidatePoolSize: ICE_CANDIDATE_POOL_SIZE }, this.rtcConfiguration), { iceTransportPolicy: (_d = (_c = (_b = this.rtcConfiguration) === null || _b === void 0 ? void 0 : _b.iceTransportPolicy) !== null && _c !== void 0 ? _c : this.iceTransportPolicy) !== null && _d !== void 0 ? _d : undefined,
340
376
  // resolved iceServers always wins for its field (preserves backward compat)
341
377
  iceServers: this.iceServers }));
378
+ (_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.record('peer_connection_created', {
379
+ iceCandidatePoolSize: ICE_CANDIDATE_POOL_SIZE,
380
+ iceServerCount: this.iceServers.length,
381
+ iceTransportPolicy: (_h = (_g = (_f = this.rtcConfiguration) === null || _f === void 0 ? void 0 : _f.iceTransportPolicy) !== null && _g !== void 0 ? _g : this.iceTransportPolicy) !== null && _h !== void 0 ? _h : 'all',
382
+ });
342
383
  // set event handlers
343
384
  this.peerConnection.onicecandidate = this.onIceCandidate.bind(this);
344
385
  this.peerConnection.oniceconnectionstatechange =
@@ -351,12 +392,18 @@ export class StreamingClient {
351
392
  // add transceivers
352
393
  this.peerConnection.addTransceiver('video', { direction: 'recvonly' });
353
394
  if (this.disableInputAudio) {
395
+ (_j = this.connectionMilestones) === null || _j === void 0 ? void 0 : _j.record('microphone_permission_skipped', {
396
+ reason: 'input_audio_disabled',
397
+ });
354
398
  this.peerConnection.addTransceiver('audio', { direction: 'recvonly' });
355
399
  }
356
400
  else {
357
401
  this.peerConnection.addTransceiver('audio', { direction: 'sendrecv' });
358
402
  // Handle audio setup after transceivers are configured
359
403
  if (this.inputAudioStream) {
404
+ (_k = this.connectionMilestones) === null || _k === void 0 ? void 0 : _k.record('input_audio_stream_provided', {
405
+ audioTrackCount: this.inputAudioStream.getAudioTracks().length,
406
+ });
360
407
  // User provided an audio stream, set it up immediately
361
408
  yield this.setupAudioTrack();
362
409
  }
@@ -372,30 +419,42 @@ export class StreamingClient {
372
419
  }
373
420
  onSignalMessage(signalMessage) {
374
421
  return __awaiter(this, void 0, void 0, function* () {
422
+ var _a, _b, _c, _d;
375
423
  if (!this.peerConnection) {
376
424
  console.error('StreamingClient - onSignalMessage: peerConnection is not initialized');
377
425
  return;
378
426
  }
379
427
  switch (signalMessage.actionType) {
380
- case SignalMessageAction.ANSWER:
428
+ case SignalMessageAction.ANSWER: {
429
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('answer_received');
381
430
  const answer = signalMessage.payload;
382
431
  yield this.peerConnection.setRemoteDescription(answer);
432
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('remote_description_set');
383
433
  this.connectionReceivedAnswer = true;
384
434
  // flush the remote buffer
385
- this.flushRemoteIceCandidateBuffer();
435
+ yield this.flushRemoteIceCandidateBuffer();
386
436
  break;
387
- case SignalMessageAction.ICE_CANDIDATE:
437
+ }
438
+ case SignalMessageAction.ICE_CANDIDATE: {
388
439
  const iceCandidateConfig = signalMessage.payload;
389
440
  const candidate = new RTCIceCandidate(iceCandidateConfig);
441
+ if (!this.firstRemoteIceCandidateReceived) {
442
+ this.firstRemoteIceCandidateReceived = true;
443
+ (_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('first_remote_ice_candidate_received', getIceCandidateMilestoneTags(candidate));
444
+ }
390
445
  if (this.connectionReceivedAnswer) {
391
- yield this.peerConnection.addIceCandidate(candidate);
446
+ yield this.addRemoteIceCandidate(candidate);
392
447
  }
393
448
  else {
394
449
  this.remoteIceCandidateBuffer.push(candidate);
395
450
  }
396
451
  break;
452
+ }
397
453
  case SignalMessageAction.END_SESSION:
398
454
  const reason = signalMessage.payload;
455
+ (_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.publishFailure({
456
+ failureStage: 'server_closed_connection',
457
+ });
399
458
  this.publicEventEmitter.emit(AnamEvent.CONNECTION_CLOSED, ConnectionClosedCode.SERVER_CLOSED_CONNECTION, reason);
400
459
  // close the peer connection
401
460
  this.shutdown();
@@ -434,11 +493,43 @@ export class StreamingClient {
434
493
  });
435
494
  }
436
495
  flushRemoteIceCandidateBuffer() {
437
- this.remoteIceCandidateBuffer.forEach((candidate) => {
438
- var _a;
439
- (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.addIceCandidate(candidate);
496
+ return __awaiter(this, void 0, void 0, function* () {
497
+ const bufferedCandidates = [...this.remoteIceCandidateBuffer];
498
+ this.remoteIceCandidateBuffer = [];
499
+ for (const candidate of bufferedCandidates) {
500
+ yield this.addRemoteIceCandidate(candidate);
501
+ }
440
502
  });
441
- this.remoteIceCandidateBuffer = [];
503
+ }
504
+ /**
505
+ * Add a single remote ICE candidate to the peer connection.
506
+ * Each candidate is added independently: a rejection on one candidate is
507
+ * logged and swallowed so it cannot abort the flush loop (dropping the
508
+ * remaining buffered candidates) or surface as an unhandled rejection from
509
+ * the ANSWER handler. The "first applied" milestone is only recorded after a
510
+ * genuine, successful add.
511
+ */
512
+ addRemoteIceCandidate(candidate) {
513
+ return __awaiter(this, void 0, void 0, function* () {
514
+ if (!this.peerConnection) {
515
+ return;
516
+ }
517
+ try {
518
+ yield this.peerConnection.addIceCandidate(candidate);
519
+ this.recordFirstRemoteIceCandidateApplied(candidate);
520
+ }
521
+ catch (error) {
522
+ console.warn('StreamingClient - addRemoteIceCandidate: failed to add remote ICE candidate', error);
523
+ }
524
+ });
525
+ }
526
+ recordFirstRemoteIceCandidateApplied(candidate) {
527
+ var _a;
528
+ if (this.firstRemoteIceCandidateApplied) {
529
+ return;
530
+ }
531
+ this.firstRemoteIceCandidateApplied = true;
532
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_remote_ice_candidate_applied', getIceCandidateMilestoneTags(candidate));
442
533
  }
443
534
  /**
444
535
  * ICE Candidate Trickle
@@ -446,27 +537,68 @@ export class StreamingClient {
446
537
  * webRTC server immediately in an effort to reduce time to connection.
447
538
  */
448
539
  onIceCandidate(event) {
540
+ var _a, _b;
449
541
  if (event.candidate) {
542
+ if (!this.firstLocalIceCandidateSent) {
543
+ this.firstLocalIceCandidateSent = true;
544
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_local_ice_candidate_sent', getIceCandidateMilestoneTags(event.candidate));
545
+ }
450
546
  this.signallingClient.sendIceCandidate(event.candidate);
451
547
  }
548
+ else {
549
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('ice_gathering_complete');
550
+ }
452
551
  }
453
552
  onIceConnectionStateChange() {
454
- var _a, _b;
455
- if (((_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState) === 'connected' ||
456
- ((_b = this.peerConnection) === null || _b === void 0 ? void 0 : _b.iceConnectionState) === 'completed') {
553
+ var _a, _b, _c, _d, _e, _f, _g;
554
+ const iceConnectionState = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState;
555
+ if (iceConnectionState) {
556
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('ice_connection_state_changed', {
557
+ iceConnectionState,
558
+ });
559
+ }
560
+ if (((_c = this.peerConnection) === null || _c === void 0 ? void 0 : _c.iceConnectionState) === 'connected' ||
561
+ ((_d = this.peerConnection) === null || _d === void 0 ? void 0 : _d.iceConnectionState) === 'completed') {
562
+ if (!this.connectionEstablishedMilestoneRecorded) {
563
+ this.connectionEstablishedMilestoneRecorded = true;
564
+ (_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.record('client_connection_established', {
565
+ iceConnectionState: this.peerConnection.iceConnectionState,
566
+ });
567
+ }
457
568
  this.publicEventEmitter.emit(AnamEvent.CONNECTION_ESTABLISHED);
458
569
  // Start collecting stats every 5 seconds
459
570
  this.startStatsCollection();
460
571
  }
572
+ else if (((_f = this.peerConnection) === null || _f === void 0 ? void 0 : _f.iceConnectionState) === 'failed') {
573
+ (_g = this.connectionMilestones) === null || _g === void 0 ? void 0 : _g.publishFailure({
574
+ failureStage: 'ice_connection',
575
+ iceConnectionState: this.peerConnection.iceConnectionState,
576
+ });
577
+ }
461
578
  }
462
579
  onConnectionStateChange() {
463
- var _a;
464
- if (((_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.connectionState) === 'closed') {
580
+ var _a, _b, _c, _d, _e;
581
+ const connectionState = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.connectionState;
582
+ if (connectionState) {
583
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('webrtc_connection_state_changed', {
584
+ connectionState,
585
+ });
586
+ }
587
+ if (((_c = this.peerConnection) === null || _c === void 0 ? void 0 : _c.connectionState) === 'failed') {
588
+ (_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.publishFailure({
589
+ failureStage: 'webrtc_connection',
590
+ connectionState: this.peerConnection.connectionState,
591
+ });
592
+ }
593
+ if (((_e = this.peerConnection) === null || _e === void 0 ? void 0 : _e.connectionState) === 'closed') {
465
594
  console.error('StreamingClient - onConnectionStateChange: Connection closed');
466
595
  this.handleWebrtcFailure('The connection to our servers was lost. Please try again.');
467
596
  }
468
597
  }
469
598
  handleWebrtcFailure(err) {
599
+ var _a, _b;
600
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('webrtc_failure', getErrorTags(err));
601
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.publishFailure(Object.assign({ failureStage: 'webrtc' }, getErrorTags(err)));
470
602
  console.error({ message: 'StreamingClient - handleWebrtcFailure: ', err });
471
603
  if (err.name === 'NotAllowedError' && err.message === 'Permission denied') {
472
604
  this.publicEventEmitter.emit(AnamEvent.CONNECTION_CLOSED, ConnectionClosedCode.MICROPHONE_PERMISSION_DENIED);
@@ -482,7 +614,9 @@ export class StreamingClient {
482
614
  }
483
615
  }
484
616
  onTrackEventHandler(event) {
617
+ var _a, _b;
485
618
  if (event.track.kind === 'video') {
619
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('video_track_received');
486
620
  // start polling stats to detect successful video data received
487
621
  this.startSuccessMetricPolling();
488
622
  this.videoStream = event.streams[0];
@@ -494,14 +628,12 @@ export class StreamingClient {
494
628
  // unregister the callback after the first frame
495
629
  (_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.cancelVideoFrameCallback(handle);
496
630
  this.publicEventEmitter.emit(AnamEvent.VIDEO_PLAY_STARTED);
497
- if (!this.successMetricFired) {
498
- this.successMetricFired = true;
499
- sendClientMetric(ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS, '1', { detectionMethod: 'videoElement' });
500
- }
631
+ this.recordSessionSuccess('videoElement');
501
632
  });
502
633
  }
503
634
  }
504
635
  else if (event.track.kind === 'audio') {
636
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('audio_track_received');
505
637
  this.audioStream = event.streams[0];
506
638
  this.publicEventEmitter.emit(AnamEvent.AUDIO_STREAM_STARTED, this.audioStream);
507
639
  }
@@ -511,6 +643,7 @@ export class StreamingClient {
511
643
  */
512
644
  setupDataChannels() {
513
645
  return __awaiter(this, void 0, void 0, function* () {
646
+ var _a;
514
647
  if (!this.peerConnection) {
515
648
  console.error('StreamingClient - setupDataChannels: peer connection is not initialized');
516
649
  return;
@@ -536,10 +669,16 @@ export class StreamingClient {
536
669
  const dataChannel = this.peerConnection.createDataChannel('session', {
537
670
  ordered: true,
538
671
  });
672
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('data_channel_created');
539
673
  dataChannel.onopen = () => {
674
+ var _a;
540
675
  this.dataChannel = dataChannel !== null && dataChannel !== void 0 ? dataChannel : null;
676
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('data_channel_open');
677
+ };
678
+ dataChannel.onclose = () => {
679
+ var _a;
680
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('data_channel_closed');
541
681
  };
542
- dataChannel.onclose = () => { };
543
682
  // pass text message to the message history client
544
683
  dataChannel.onmessage = (event) => {
545
684
  var _a, _b, _c, _d;
@@ -598,10 +737,12 @@ export class StreamingClient {
598
737
  */
599
738
  requestMicrophonePermissionAsync() {
600
739
  return __awaiter(this, void 0, void 0, function* () {
740
+ var _a, _b, _c;
601
741
  if (this.inputAudioState.permissionState === AudioPermissionState.PENDING) {
602
742
  return; // Already requesting
603
743
  }
604
744
  this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { permissionState: AudioPermissionState.PENDING });
745
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('microphone_permission_pending');
605
746
  this.publicEventEmitter.emit(AnamEvent.MIC_PERMISSION_PENDING);
606
747
  try {
607
748
  const audioConstraints = {
@@ -617,6 +758,7 @@ export class StreamingClient {
617
758
  audio: audioConstraints,
618
759
  });
619
760
  this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { permissionState: AudioPermissionState.GRANTED });
761
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('microphone_permission_granted');
620
762
  this.publicEventEmitter.emit(AnamEvent.MIC_PERMISSION_GRANTED);
621
763
  // Now add the audio track to the existing connection
622
764
  yield this.setupAudioTrack();
@@ -624,6 +766,7 @@ export class StreamingClient {
624
766
  catch (error) {
625
767
  console.error('Failed to get microphone permission:', error);
626
768
  this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { permissionState: AudioPermissionState.DENIED });
769
+ (_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('microphone_permission_denied', Object.assign({}, getErrorTags(error)));
627
770
  const errorMessage = error instanceof Error ? error.message : String(error);
628
771
  this.publicEventEmitter.emit(AnamEvent.MIC_PERMISSION_DENIED, errorMessage);
629
772
  }
@@ -634,6 +777,7 @@ export class StreamingClient {
634
777
  */
635
778
  setupAudioTrack() {
636
779
  return __awaiter(this, void 0, void 0, function* () {
780
+ var _a;
637
781
  if (!this.peerConnection || !this.inputAudioStream) {
638
782
  return;
639
783
  }
@@ -670,11 +814,15 @@ export class StreamingClient {
670
814
  this.peerConnection.addTrack(audioTrack, this.inputAudioStream);
671
815
  }
672
816
  // pass the stream to the callback
817
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('input_audio_stream_started', {
818
+ audioTrackCount: this.inputAudioStream.getAudioTracks().length,
819
+ });
673
820
  this.publicEventEmitter.emit(AnamEvent.INPUT_AUDIO_STREAM_STARTED, this.inputAudioStream);
674
821
  });
675
822
  }
676
823
  initPeerConnectionAndSendOffer() {
677
824
  return __awaiter(this, void 0, void 0, function* () {
825
+ var _a, _b, _c, _d, _e, _f;
678
826
  yield this.initPeerConnection();
679
827
  if (!this.peerConnection) {
680
828
  console.error('StreamingClient - initPeerConnectionAndSendOffer: peer connection is not initialized');
@@ -682,16 +830,22 @@ export class StreamingClient {
682
830
  }
683
831
  // create offer and set local description
684
832
  try {
833
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('offer_creation_started');
685
834
  const offer = yield this.peerConnection.createOffer();
835
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('offer_creation_completed');
686
836
  yield this.peerConnection.setLocalDescription(offer);
837
+ (_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('local_description_set');
687
838
  }
688
839
  catch (error) {
689
840
  console.error('StreamingClient - initPeerConnectionAndSendOffer: error creating offer', error);
841
+ (_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.record('offer_creation_failed', Object.assign({}, getErrorTags(error)));
842
+ (_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.publishFailure(Object.assign({ failureStage: 'offer_creation' }, getErrorTags(error)));
690
843
  }
691
844
  if (!this.peerConnection.localDescription) {
692
845
  throw new Error('StreamingClient - initPeerConnectionAndSendOffer: local description is null');
693
846
  }
694
847
  yield this.signallingClient.sendOffer(this.peerConnection.localDescription);
848
+ (_f = this.connectionMilestones) === null || _f === void 0 ? void 0 : _f.record('offer_sent');
695
849
  });
696
850
  }
697
851
  shutdown() {
@@ -751,4 +905,39 @@ export class StreamingClient {
751
905
  });
752
906
  }
753
907
  }
908
+ const getIceCandidateMilestoneTags = (candidate) => {
909
+ const safeCandidate = candidate;
910
+ return removeEmptyTags({
911
+ candidateType: safeCandidate.type,
912
+ protocol: safeCandidate.protocol,
913
+ relayProtocol: safeCandidate.relayProtocol,
914
+ tcpType: safeCandidate.tcpType,
915
+ component: safeCandidate.component,
916
+ });
917
+ };
918
+ const getErrorTags = (error) => {
919
+ if (error instanceof Error) {
920
+ return removeEmptyTags({ errorName: error.name });
921
+ }
922
+ if (typeof error === 'object' && error !== null) {
923
+ const possibleError = error;
924
+ return removeEmptyTags({
925
+ errorName: typeof possibleError.name === 'string' ? possibleError.name : undefined,
926
+ errorCode: typeof possibleError.code === 'string' ||
927
+ typeof possibleError.code === 'number'
928
+ ? possibleError.code
929
+ : undefined,
930
+ });
931
+ }
932
+ return {};
933
+ };
934
+ const removeEmptyTags = (tags) => {
935
+ const sanitizedTags = {};
936
+ Object.entries(tags).forEach(([key, value]) => {
937
+ if (value !== undefined) {
938
+ sanitizedTags[key] = value;
939
+ }
940
+ });
941
+ return sanitizedTags;
942
+ };
754
943
  //# sourceMappingURL=StreamingClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamingClient.js","sourceRoot":"","sources":["../../../src/modules/StreamingClient.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { ApiOptions } from '../types';
2
+ import { ConnectionMilestoneMetricsOptions } from './ConnectionMilestoneMetricsOptions';
2
3
  import { VoiceDetectionOptions } from './VoiceDetectionOptions';
3
4
  export interface AnamPublicClientOptions {
4
5
  api?: ApiOptions;
5
6
  voiceDetection?: VoiceDetectionOptions;
6
7
  audioDeviceId?: string;
7
8
  disableInputAudio?: boolean;
8
- metrics?: {
9
+ metrics?: ConnectionMilestoneMetricsOptions & {
9
10
  showPeerConnectionStatsReport?: boolean;
10
11
  peerConnectionStatsReportOutputFormat?: 'console' | 'json';
11
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AnamPublicClientOptions.d.ts","sourceRoot":"","sources":["../../../src/types/AnamPublicClientOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,qCAAqC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;QAC3D;;;;WAIG;QACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;IACF,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC"}
1
+ {"version":3,"file":"AnamPublicClientOptions.d.ts","sourceRoot":"","sources":["../../../src/types/AnamPublicClientOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,iCAAiC,GAAG;QAC5C,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,qCAAqC,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;QAC3D;;;;WAIG;QACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;IACF,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC"}
@@ -0,0 +1,16 @@
1
+ export interface ConnectionMilestoneMetricsOptions {
2
+ /**
3
+ * Ratio of successful normal connection attempts that should publish detailed
4
+ * connection milestones. Failed and slow attempts are published regardless.
5
+ * Values are clamped to the 0-1 range.
6
+ * @default 0
7
+ */
8
+ connectionMilestoneSampleRatio?: number;
9
+ /**
10
+ * Successful attempts with total connection setup time at or above this
11
+ * threshold publish detailed connection milestones even when not sampled.
12
+ * @default 5000
13
+ */
14
+ slowConnectionThresholdMs?: number;
15
+ }
16
+ //# sourceMappingURL=ConnectionMilestoneMetricsOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionMilestoneMetricsOptions.d.ts","sourceRoot":"","sources":["../../../src/types/ConnectionMilestoneMetricsOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iCAAiC;IAChD;;;;;OAKG;IACH,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC"}