@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
@@ -20,7 +20,7 @@ const SUCCESS_METRIC_POLLING_TIMEOUT_MS = 15000; // After this time we will stop
20
20
  const STATS_COLLECTION_INTERVAL_MS = 5000;
21
21
  const ICE_CANDIDATE_POOL_SIZE = 2; // Optimisation to speed up connection time
22
22
  class StreamingClient {
23
- constructor(sessionId, options, publicEventEmitter, internalEventEmitter, toolCallManager) {
23
+ constructor(sessionId, options, publicEventEmitter, internalEventEmitter, toolCallManager, connectionMilestones) {
24
24
  var _a, _b, _c, _d;
25
25
  this.peerConnection = null;
26
26
  this.connectionReceivedAnswer = false;
@@ -40,9 +40,14 @@ class StreamingClient {
40
40
  this.peerConnectionStatsReportOutputFormat = 'console';
41
41
  this.statsCollectionInterval = null;
42
42
  this.agentAudioInputStream = null;
43
+ this.firstLocalIceCandidateSent = false;
44
+ this.firstRemoteIceCandidateReceived = false;
45
+ this.firstRemoteIceCandidateApplied = false;
46
+ this.connectionEstablishedMilestoneRecorded = false;
43
47
  this.publicEventEmitter = publicEventEmitter;
44
48
  this.internalEventEmitter = internalEventEmitter;
45
49
  this.toolCallManager = toolCallManager;
50
+ this.connectionMilestones = connectionMilestones;
46
51
  this.apiGatewayConfig = options.apiGateway;
47
52
  // initialize input audio state
48
53
  const { inputAudio } = options;
@@ -60,9 +65,10 @@ class StreamingClient {
60
65
  this.internalEventEmitter.addListener(types_1.InternalEvent.TOOL_CALL_RESULT_READY, this.onToolCallResultReceived.bind(this));
61
66
  // set ice servers
62
67
  this.iceServers = options.iceServers;
68
+ this.iceTransportPolicy = options.iceTransportPolicy;
63
69
  this.rtcConfiguration = options.rtcConfiguration;
64
70
  // initialize signalling client
65
- this.signallingClient = new modules_1.SignallingClient(sessionId, options.signalling, this.publicEventEmitter, this.internalEventEmitter, this.apiGatewayConfig);
71
+ this.signallingClient = new modules_1.SignallingClient(sessionId, options.signalling, this.publicEventEmitter, this.internalEventEmitter, this.apiGatewayConfig, this.connectionMilestones);
66
72
  // initialize engine API client
67
73
  this.engineApiRestClient = new modules_1.EngineApiRestClient(options.engine.baseUrl, sessionId, this.apiGatewayConfig);
68
74
  this.audioDeviceId = options.inputAudio.audioDeviceId;
@@ -129,12 +135,32 @@ class StreamingClient {
129
135
  }
130
136
  });
131
137
  }
138
+ recordSessionSuccess(detectionMethod) {
139
+ var _a, _b;
140
+ if (this.successMetricFired) {
141
+ return;
142
+ }
143
+ this.successMetricFired = true;
144
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_video_frame', {
145
+ detectionMethod,
146
+ });
147
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.recordSessionSuccess({ detectionMethod });
148
+ (0, ClientMetrics_1.sendClientMetric)(ClientMetrics_1.ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS, '1', { detectionMethod });
149
+ }
132
150
  startSuccessMetricPolling() {
133
151
  if (this.successMetricPoller || this.successMetricFired) {
134
152
  return;
135
153
  }
136
154
  const timeoutId = setTimeout(() => {
155
+ var _a, _b;
137
156
  if (this.successMetricPoller) {
157
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_video_frame_timeout', {
158
+ timeoutMs: SUCCESS_METRIC_POLLING_TIMEOUT_MS,
159
+ });
160
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.publishFailure({
161
+ failureStage: 'first_video_frame',
162
+ timeoutMs: SUCCESS_METRIC_POLLING_TIMEOUT_MS,
163
+ });
138
164
  console.warn('No video frames received, there is a problem with the connection.');
139
165
  clearInterval(this.successMetricPoller);
140
166
  this.successMetricPoller = null;
@@ -177,8 +203,7 @@ class StreamingClient {
177
203
  }
178
204
  });
179
205
  if (videoDetected && !this.successMetricFired) {
180
- this.successMetricFired = true;
181
- (0, ClientMetrics_1.sendClientMetric)(ClientMetrics_1.ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS, '1', detectionMethod ? { detectionMethod } : undefined);
206
+ this.recordSessionSuccess(detectionMethod !== null && detectionMethod !== void 0 ? detectionMethod : 'unknown');
182
207
  if (this.successMetricPoller) {
183
208
  clearInterval(this.successMetricPoller);
184
209
  }
@@ -294,11 +319,14 @@ class StreamingClient {
294
319
  }
295
320
  }
296
321
  startConnection() {
322
+ var _a;
297
323
  try {
298
324
  if (this.peerConnection) {
299
325
  console.error('StreamingClient - startConnection: peer connection already exists');
300
326
  return;
301
327
  }
328
+ this.resetAttemptScopedMilestoneState();
329
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('connection_start_requested');
302
330
  // start the connection
303
331
  this.signallingClient.connect();
304
332
  }
@@ -307,6 +335,12 @@ class StreamingClient {
307
335
  this.handleWebrtcFailure(error);
308
336
  }
309
337
  }
338
+ resetAttemptScopedMilestoneState() {
339
+ this.firstLocalIceCandidateSent = false;
340
+ this.firstRemoteIceCandidateReceived = false;
341
+ this.firstRemoteIceCandidateApplied = false;
342
+ this.connectionEstablishedMilestoneRecorded = false;
343
+ }
310
344
  stopConnection() {
311
345
  return __awaiter(this, void 0, void 0, function* () {
312
346
  yield this.shutdown();
@@ -337,11 +371,18 @@ class StreamingClient {
337
371
  }
338
372
  initPeerConnection() {
339
373
  return __awaiter(this, void 0, void 0, function* () {
374
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
375
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('peer_connection_creating');
340
376
  this.peerConnection = new RTCPeerConnection(Object.assign(Object.assign({
341
377
  // SDK default first (caller's rtcConfiguration may override it)
342
- iceCandidatePoolSize: ICE_CANDIDATE_POOL_SIZE }, this.rtcConfiguration), {
378
+ 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,
343
379
  // resolved iceServers always wins for its field (preserves backward compat)
344
380
  iceServers: this.iceServers }));
381
+ (_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.record('peer_connection_created', {
382
+ iceCandidatePoolSize: ICE_CANDIDATE_POOL_SIZE,
383
+ iceServerCount: this.iceServers.length,
384
+ 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',
385
+ });
345
386
  // set event handlers
346
387
  this.peerConnection.onicecandidate = this.onIceCandidate.bind(this);
347
388
  this.peerConnection.oniceconnectionstatechange =
@@ -354,12 +395,18 @@ class StreamingClient {
354
395
  // add transceivers
355
396
  this.peerConnection.addTransceiver('video', { direction: 'recvonly' });
356
397
  if (this.disableInputAudio) {
398
+ (_j = this.connectionMilestones) === null || _j === void 0 ? void 0 : _j.record('microphone_permission_skipped', {
399
+ reason: 'input_audio_disabled',
400
+ });
357
401
  this.peerConnection.addTransceiver('audio', { direction: 'recvonly' });
358
402
  }
359
403
  else {
360
404
  this.peerConnection.addTransceiver('audio', { direction: 'sendrecv' });
361
405
  // Handle audio setup after transceivers are configured
362
406
  if (this.inputAudioStream) {
407
+ (_k = this.connectionMilestones) === null || _k === void 0 ? void 0 : _k.record('input_audio_stream_provided', {
408
+ audioTrackCount: this.inputAudioStream.getAudioTracks().length,
409
+ });
363
410
  // User provided an audio stream, set it up immediately
364
411
  yield this.setupAudioTrack();
365
412
  }
@@ -375,30 +422,42 @@ class StreamingClient {
375
422
  }
376
423
  onSignalMessage(signalMessage) {
377
424
  return __awaiter(this, void 0, void 0, function* () {
425
+ var _a, _b, _c, _d;
378
426
  if (!this.peerConnection) {
379
427
  console.error('StreamingClient - onSignalMessage: peerConnection is not initialized');
380
428
  return;
381
429
  }
382
430
  switch (signalMessage.actionType) {
383
- case types_1.SignalMessageAction.ANSWER:
431
+ case types_1.SignalMessageAction.ANSWER: {
432
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('answer_received');
384
433
  const answer = signalMessage.payload;
385
434
  yield this.peerConnection.setRemoteDescription(answer);
435
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('remote_description_set');
386
436
  this.connectionReceivedAnswer = true;
387
437
  // flush the remote buffer
388
- this.flushRemoteIceCandidateBuffer();
438
+ yield this.flushRemoteIceCandidateBuffer();
389
439
  break;
390
- case types_1.SignalMessageAction.ICE_CANDIDATE:
440
+ }
441
+ case types_1.SignalMessageAction.ICE_CANDIDATE: {
391
442
  const iceCandidateConfig = signalMessage.payload;
392
443
  const candidate = new RTCIceCandidate(iceCandidateConfig);
444
+ if (!this.firstRemoteIceCandidateReceived) {
445
+ this.firstRemoteIceCandidateReceived = true;
446
+ (_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('first_remote_ice_candidate_received', getIceCandidateMilestoneTags(candidate));
447
+ }
393
448
  if (this.connectionReceivedAnswer) {
394
- yield this.peerConnection.addIceCandidate(candidate);
449
+ yield this.addRemoteIceCandidate(candidate);
395
450
  }
396
451
  else {
397
452
  this.remoteIceCandidateBuffer.push(candidate);
398
453
  }
399
454
  break;
455
+ }
400
456
  case types_1.SignalMessageAction.END_SESSION:
401
457
  const reason = signalMessage.payload;
458
+ (_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.publishFailure({
459
+ failureStage: 'server_closed_connection',
460
+ });
402
461
  this.publicEventEmitter.emit(types_1.AnamEvent.CONNECTION_CLOSED, types_1.ConnectionClosedCode.SERVER_CLOSED_CONNECTION, reason);
403
462
  // close the peer connection
404
463
  this.shutdown();
@@ -437,11 +496,43 @@ class StreamingClient {
437
496
  });
438
497
  }
439
498
  flushRemoteIceCandidateBuffer() {
440
- this.remoteIceCandidateBuffer.forEach((candidate) => {
441
- var _a;
442
- (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.addIceCandidate(candidate);
499
+ return __awaiter(this, void 0, void 0, function* () {
500
+ const bufferedCandidates = [...this.remoteIceCandidateBuffer];
501
+ this.remoteIceCandidateBuffer = [];
502
+ for (const candidate of bufferedCandidates) {
503
+ yield this.addRemoteIceCandidate(candidate);
504
+ }
443
505
  });
444
- this.remoteIceCandidateBuffer = [];
506
+ }
507
+ /**
508
+ * Add a single remote ICE candidate to the peer connection.
509
+ * Each candidate is added independently: a rejection on one candidate is
510
+ * logged and swallowed so it cannot abort the flush loop (dropping the
511
+ * remaining buffered candidates) or surface as an unhandled rejection from
512
+ * the ANSWER handler. The "first applied" milestone is only recorded after a
513
+ * genuine, successful add.
514
+ */
515
+ addRemoteIceCandidate(candidate) {
516
+ return __awaiter(this, void 0, void 0, function* () {
517
+ if (!this.peerConnection) {
518
+ return;
519
+ }
520
+ try {
521
+ yield this.peerConnection.addIceCandidate(candidate);
522
+ this.recordFirstRemoteIceCandidateApplied(candidate);
523
+ }
524
+ catch (error) {
525
+ console.warn('StreamingClient - addRemoteIceCandidate: failed to add remote ICE candidate', error);
526
+ }
527
+ });
528
+ }
529
+ recordFirstRemoteIceCandidateApplied(candidate) {
530
+ var _a;
531
+ if (this.firstRemoteIceCandidateApplied) {
532
+ return;
533
+ }
534
+ this.firstRemoteIceCandidateApplied = true;
535
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_remote_ice_candidate_applied', getIceCandidateMilestoneTags(candidate));
445
536
  }
446
537
  /**
447
538
  * ICE Candidate Trickle
@@ -449,27 +540,68 @@ class StreamingClient {
449
540
  * webRTC server immediately in an effort to reduce time to connection.
450
541
  */
451
542
  onIceCandidate(event) {
543
+ var _a, _b;
452
544
  if (event.candidate) {
545
+ if (!this.firstLocalIceCandidateSent) {
546
+ this.firstLocalIceCandidateSent = true;
547
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('first_local_ice_candidate_sent', getIceCandidateMilestoneTags(event.candidate));
548
+ }
453
549
  this.signallingClient.sendIceCandidate(event.candidate);
454
550
  }
551
+ else {
552
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('ice_gathering_complete');
553
+ }
455
554
  }
456
555
  onIceConnectionStateChange() {
457
- var _a, _b;
458
- if (((_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState) === 'connected' ||
459
- ((_b = this.peerConnection) === null || _b === void 0 ? void 0 : _b.iceConnectionState) === 'completed') {
556
+ var _a, _b, _c, _d, _e, _f, _g;
557
+ const iceConnectionState = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.iceConnectionState;
558
+ if (iceConnectionState) {
559
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('ice_connection_state_changed', {
560
+ iceConnectionState,
561
+ });
562
+ }
563
+ if (((_c = this.peerConnection) === null || _c === void 0 ? void 0 : _c.iceConnectionState) === 'connected' ||
564
+ ((_d = this.peerConnection) === null || _d === void 0 ? void 0 : _d.iceConnectionState) === 'completed') {
565
+ if (!this.connectionEstablishedMilestoneRecorded) {
566
+ this.connectionEstablishedMilestoneRecorded = true;
567
+ (_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.record('client_connection_established', {
568
+ iceConnectionState: this.peerConnection.iceConnectionState,
569
+ });
570
+ }
460
571
  this.publicEventEmitter.emit(types_1.AnamEvent.CONNECTION_ESTABLISHED);
461
572
  // Start collecting stats every 5 seconds
462
573
  this.startStatsCollection();
463
574
  }
575
+ else if (((_f = this.peerConnection) === null || _f === void 0 ? void 0 : _f.iceConnectionState) === 'failed') {
576
+ (_g = this.connectionMilestones) === null || _g === void 0 ? void 0 : _g.publishFailure({
577
+ failureStage: 'ice_connection',
578
+ iceConnectionState: this.peerConnection.iceConnectionState,
579
+ });
580
+ }
464
581
  }
465
582
  onConnectionStateChange() {
466
- var _a;
467
- if (((_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.connectionState) === 'closed') {
583
+ var _a, _b, _c, _d, _e;
584
+ const connectionState = (_a = this.peerConnection) === null || _a === void 0 ? void 0 : _a.connectionState;
585
+ if (connectionState) {
586
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('webrtc_connection_state_changed', {
587
+ connectionState,
588
+ });
589
+ }
590
+ if (((_c = this.peerConnection) === null || _c === void 0 ? void 0 : _c.connectionState) === 'failed') {
591
+ (_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.publishFailure({
592
+ failureStage: 'webrtc_connection',
593
+ connectionState: this.peerConnection.connectionState,
594
+ });
595
+ }
596
+ if (((_e = this.peerConnection) === null || _e === void 0 ? void 0 : _e.connectionState) === 'closed') {
468
597
  console.error('StreamingClient - onConnectionStateChange: Connection closed');
469
598
  this.handleWebrtcFailure('The connection to our servers was lost. Please try again.');
470
599
  }
471
600
  }
472
601
  handleWebrtcFailure(err) {
602
+ var _a, _b;
603
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('webrtc_failure', getErrorTags(err));
604
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.publishFailure(Object.assign({ failureStage: 'webrtc' }, getErrorTags(err)));
473
605
  console.error({ message: 'StreamingClient - handleWebrtcFailure: ', err });
474
606
  if (err.name === 'NotAllowedError' && err.message === 'Permission denied') {
475
607
  this.publicEventEmitter.emit(types_1.AnamEvent.CONNECTION_CLOSED, types_1.ConnectionClosedCode.MICROPHONE_PERMISSION_DENIED);
@@ -485,7 +617,9 @@ class StreamingClient {
485
617
  }
486
618
  }
487
619
  onTrackEventHandler(event) {
620
+ var _a, _b;
488
621
  if (event.track.kind === 'video') {
622
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('video_track_received');
489
623
  // start polling stats to detect successful video data received
490
624
  this.startSuccessMetricPolling();
491
625
  this.videoStream = event.streams[0];
@@ -497,14 +631,12 @@ class StreamingClient {
497
631
  // unregister the callback after the first frame
498
632
  (_a = this.videoElement) === null || _a === void 0 ? void 0 : _a.cancelVideoFrameCallback(handle);
499
633
  this.publicEventEmitter.emit(types_1.AnamEvent.VIDEO_PLAY_STARTED);
500
- if (!this.successMetricFired) {
501
- this.successMetricFired = true;
502
- (0, ClientMetrics_1.sendClientMetric)(ClientMetrics_1.ClientMetricMeasurement.CLIENT_METRIC_MEASUREMENT_SESSION_SUCCESS, '1', { detectionMethod: 'videoElement' });
503
- }
634
+ this.recordSessionSuccess('videoElement');
504
635
  });
505
636
  }
506
637
  }
507
638
  else if (event.track.kind === 'audio') {
639
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('audio_track_received');
508
640
  this.audioStream = event.streams[0];
509
641
  this.publicEventEmitter.emit(types_1.AnamEvent.AUDIO_STREAM_STARTED, this.audioStream);
510
642
  }
@@ -514,6 +646,7 @@ class StreamingClient {
514
646
  */
515
647
  setupDataChannels() {
516
648
  return __awaiter(this, void 0, void 0, function* () {
649
+ var _a;
517
650
  if (!this.peerConnection) {
518
651
  console.error('StreamingClient - setupDataChannels: peer connection is not initialized');
519
652
  return;
@@ -539,10 +672,16 @@ class StreamingClient {
539
672
  const dataChannel = this.peerConnection.createDataChannel('session', {
540
673
  ordered: true,
541
674
  });
675
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('data_channel_created');
542
676
  dataChannel.onopen = () => {
677
+ var _a;
543
678
  this.dataChannel = dataChannel !== null && dataChannel !== void 0 ? dataChannel : null;
679
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('data_channel_open');
680
+ };
681
+ dataChannel.onclose = () => {
682
+ var _a;
683
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('data_channel_closed');
544
684
  };
545
- dataChannel.onclose = () => { };
546
685
  // pass text message to the message history client
547
686
  dataChannel.onmessage = (event) => {
548
687
  var _a, _b, _c, _d;
@@ -601,10 +740,12 @@ class StreamingClient {
601
740
  */
602
741
  requestMicrophonePermissionAsync() {
603
742
  return __awaiter(this, void 0, void 0, function* () {
743
+ var _a, _b, _c;
604
744
  if (this.inputAudioState.permissionState === types_1.AudioPermissionState.PENDING) {
605
745
  return; // Already requesting
606
746
  }
607
747
  this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { permissionState: types_1.AudioPermissionState.PENDING });
748
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('microphone_permission_pending');
608
749
  this.publicEventEmitter.emit(types_1.AnamEvent.MIC_PERMISSION_PENDING);
609
750
  try {
610
751
  const audioConstraints = {
@@ -620,6 +761,7 @@ class StreamingClient {
620
761
  audio: audioConstraints,
621
762
  });
622
763
  this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { permissionState: types_1.AudioPermissionState.GRANTED });
764
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('microphone_permission_granted');
623
765
  this.publicEventEmitter.emit(types_1.AnamEvent.MIC_PERMISSION_GRANTED);
624
766
  // Now add the audio track to the existing connection
625
767
  yield this.setupAudioTrack();
@@ -627,6 +769,7 @@ class StreamingClient {
627
769
  catch (error) {
628
770
  console.error('Failed to get microphone permission:', error);
629
771
  this.inputAudioState = Object.assign(Object.assign({}, this.inputAudioState), { permissionState: types_1.AudioPermissionState.DENIED });
772
+ (_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('microphone_permission_denied', Object.assign({}, getErrorTags(error)));
630
773
  const errorMessage = error instanceof Error ? error.message : String(error);
631
774
  this.publicEventEmitter.emit(types_1.AnamEvent.MIC_PERMISSION_DENIED, errorMessage);
632
775
  }
@@ -637,6 +780,7 @@ class StreamingClient {
637
780
  */
638
781
  setupAudioTrack() {
639
782
  return __awaiter(this, void 0, void 0, function* () {
783
+ var _a;
640
784
  if (!this.peerConnection || !this.inputAudioStream) {
641
785
  return;
642
786
  }
@@ -673,11 +817,15 @@ class StreamingClient {
673
817
  this.peerConnection.addTrack(audioTrack, this.inputAudioStream);
674
818
  }
675
819
  // pass the stream to the callback
820
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('input_audio_stream_started', {
821
+ audioTrackCount: this.inputAudioStream.getAudioTracks().length,
822
+ });
676
823
  this.publicEventEmitter.emit(types_1.AnamEvent.INPUT_AUDIO_STREAM_STARTED, this.inputAudioStream);
677
824
  });
678
825
  }
679
826
  initPeerConnectionAndSendOffer() {
680
827
  return __awaiter(this, void 0, void 0, function* () {
828
+ var _a, _b, _c, _d, _e, _f;
681
829
  yield this.initPeerConnection();
682
830
  if (!this.peerConnection) {
683
831
  console.error('StreamingClient - initPeerConnectionAndSendOffer: peer connection is not initialized');
@@ -685,16 +833,22 @@ class StreamingClient {
685
833
  }
686
834
  // create offer and set local description
687
835
  try {
836
+ (_a = this.connectionMilestones) === null || _a === void 0 ? void 0 : _a.record('offer_creation_started');
688
837
  const offer = yield this.peerConnection.createOffer();
838
+ (_b = this.connectionMilestones) === null || _b === void 0 ? void 0 : _b.record('offer_creation_completed');
689
839
  yield this.peerConnection.setLocalDescription(offer);
840
+ (_c = this.connectionMilestones) === null || _c === void 0 ? void 0 : _c.record('local_description_set');
690
841
  }
691
842
  catch (error) {
692
843
  console.error('StreamingClient - initPeerConnectionAndSendOffer: error creating offer', error);
844
+ (_d = this.connectionMilestones) === null || _d === void 0 ? void 0 : _d.record('offer_creation_failed', Object.assign({}, getErrorTags(error)));
845
+ (_e = this.connectionMilestones) === null || _e === void 0 ? void 0 : _e.publishFailure(Object.assign({ failureStage: 'offer_creation' }, getErrorTags(error)));
693
846
  }
694
847
  if (!this.peerConnection.localDescription) {
695
848
  throw new Error('StreamingClient - initPeerConnectionAndSendOffer: local description is null');
696
849
  }
697
850
  yield this.signallingClient.sendOffer(this.peerConnection.localDescription);
851
+ (_f = this.connectionMilestones) === null || _f === void 0 ? void 0 : _f.record('offer_sent');
698
852
  });
699
853
  }
700
854
  shutdown() {
@@ -755,4 +909,39 @@ class StreamingClient {
755
909
  }
756
910
  }
757
911
  exports.StreamingClient = StreamingClient;
912
+ const getIceCandidateMilestoneTags = (candidate) => {
913
+ const safeCandidate = candidate;
914
+ return removeEmptyTags({
915
+ candidateType: safeCandidate.type,
916
+ protocol: safeCandidate.protocol,
917
+ relayProtocol: safeCandidate.relayProtocol,
918
+ tcpType: safeCandidate.tcpType,
919
+ component: safeCandidate.component,
920
+ });
921
+ };
922
+ const getErrorTags = (error) => {
923
+ if (error instanceof Error) {
924
+ return removeEmptyTags({ errorName: error.name });
925
+ }
926
+ if (typeof error === 'object' && error !== null) {
927
+ const possibleError = error;
928
+ return removeEmptyTags({
929
+ errorName: typeof possibleError.name === 'string' ? possibleError.name : undefined,
930
+ errorCode: typeof possibleError.code === 'string' ||
931
+ typeof possibleError.code === 'number'
932
+ ? possibleError.code
933
+ : undefined,
934
+ });
935
+ }
936
+ return {};
937
+ };
938
+ const removeEmptyTags = (tags) => {
939
+ const sanitizedTags = {};
940
+ Object.entries(tags).forEach(([key, value]) => {
941
+ if (value !== undefined) {
942
+ sanitizedTags[key] = value;
943
+ }
944
+ });
945
+ return sanitizedTags;
946
+ };
758
947
  //# 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"}