genesys-cloud-streaming-client 20.0.2-develop.23 → 20.1.0-release.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 (46) hide show
  1. package/dist/cjs/alerting-leader.d.ts +1 -0
  2. package/dist/cjs/alerting-leader.js +7 -3
  3. package/dist/cjs/client.js +11 -8
  4. package/dist/cjs/connection-manager.js +4 -2
  5. package/dist/cjs/http-client.js +24 -2
  6. package/dist/cjs/index.js +19 -6
  7. package/dist/cjs/notifications.js +4 -2
  8. package/dist/cjs/types/genesys-cloud-media-session.js +4 -2
  9. package/dist/cjs/types/interfaces.d.ts +1 -0
  10. package/dist/cjs/types/stanza-media-session.js +5 -3
  11. package/dist/cjs/webrtc.js +4 -2
  12. package/dist/deploy-info.json +5 -5
  13. package/dist/es/alerting-leader.d.ts +1 -0
  14. package/dist/es/alerting-leader.js +12 -2
  15. package/dist/es/client.js +14 -5
  16. package/dist/es/connection-manager.js +9 -1
  17. package/dist/es/index.bundle.js +5524 -13499
  18. package/dist/es/messenger.js +9 -1
  19. package/dist/es/notifications.js +9 -1
  20. package/dist/es/ping.js +9 -1
  21. package/dist/es/types/genesys-cloud-media-session.js +9 -1
  22. package/dist/es/types/interfaces.d.ts +1 -0
  23. package/dist/es/types/stanza-media-session.js +9 -1
  24. package/dist/es/utils.js +9 -1
  25. package/dist/es/webrtc.js +9 -1
  26. package/dist/manifest.json +5 -5
  27. package/dist/npm/CHANGELOG.md +10 -1
  28. package/dist/npm/alerting-leader.d.ts +1 -0
  29. package/dist/npm/alerting-leader.js +7 -3
  30. package/dist/npm/client.js +11 -8
  31. package/dist/npm/connection-manager.js +4 -2
  32. package/dist/npm/http-client.js +24 -2
  33. package/dist/npm/index.js +19 -6
  34. package/dist/npm/notifications.js +4 -2
  35. package/dist/npm/types/genesys-cloud-media-session.js +4 -2
  36. package/dist/npm/types/interfaces.d.ts +1 -0
  37. package/dist/npm/types/stanza-media-session.js +5 -3
  38. package/dist/npm/webrtc.js +4 -2
  39. package/dist/streaming-client.browser.js +1 -1
  40. package/dist/streaming-client.browser.js.LICENSE.txt +1 -1
  41. package/dist/v20/streaming-client.browser.js +1 -1
  42. package/dist/v20/streaming-client.browser.js.LICENSE.txt +1 -1
  43. package/dist/v20.1.0/streaming-client.browser.js +2 -0
  44. package/dist/{v20.0.2 → v20.1.0}/streaming-client.browser.js.LICENSE.txt +1 -1
  45. package/package.json +3 -3
  46. package/dist/v20.0.2/streaming-client.browser.js +0 -2
@@ -9,6 +9,7 @@ export declare class AlertingLeaderExtension extends EventEmitter implements Str
9
9
  private alertableInteractionTypes;
10
10
  private getLeaderAbortController?;
11
11
  private leaderStatus;
12
+ private debouncedClaimAlertingLeader;
12
13
  constructor(client: Client, options: IClientOptions);
13
14
  handleStanzaInstanceChange(stanzaInstance: NamedAgent): void;
14
15
  private setupAlertingLeader;
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.AlertingLeaderExtension = void 0;
4
- const tslib_1 = require("tslib");
5
- const axios_1 = tslib_1.__importDefault(require("axios"));
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const debounce_promise_1 = __importDefault(require("debounce-promise"));
6
9
  const interfaces_1 = require("./types/interfaces");
7
10
  const events_1 = require("events");
8
11
  const utils_1 = require("./utils");
@@ -13,6 +16,7 @@ class AlertingLeaderExtension extends events_1.EventEmitter {
13
16
  this.client = client;
14
17
  this.leaderStatus = {};
15
18
  this.alertableInteractionTypes = (_a = options.alertableInteractionTypes) !== null && _a !== void 0 ? _a : [];
19
+ this.debouncedClaimAlertingLeader = (0, debounce_promise_1.default)(this.claimAlertingLeader.bind(this), 300);
16
20
  }
17
21
  handleStanzaInstanceChange(stanzaInstance) {
18
22
  var _a, _b;
@@ -150,7 +154,7 @@ class AlertingLeaderExtension extends events_1.EventEmitter {
150
154
  return {
151
155
  on: this.on.bind(this),
152
156
  off: this.off.bind(this),
153
- claimAlertingLeader: this.claimAlertingLeader.bind(this),
157
+ claimAlertingLeader: this.debouncedClaimAlertingLeader,
154
158
  getLeaderStatus: () => { return this.leaderStatus; },
155
159
  leaderStatus: this.leaderStatus
156
160
  };
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.Client = void 0;
4
- const tslib_1 = require("tslib");
5
7
  const limiter_1 = require("limiter");
6
8
  const genesys_cloud_client_logger_1 = require("genesys-cloud-client-logger");
7
9
  require("./polyfills");
@@ -13,14 +15,14 @@ const server_monitor_1 = require("./server-monitor");
13
15
  const utils_1 = require("./utils");
14
16
  const http_client_1 = require("./http-client");
15
17
  const interfaces_1 = require("./types/interfaces");
16
- const events_1 = tslib_1.__importDefault(require("events"));
18
+ const events_1 = __importDefault(require("events"));
17
19
  const connection_manager_1 = require("./connection-manager");
18
20
  const exponential_backoff_1 = require("exponential-backoff");
19
- const sasl_error_1 = tslib_1.__importDefault(require("./types/sasl-error"));
21
+ const sasl_error_1 = __importDefault(require("./types/sasl-error"));
20
22
  const timeout_error_1 = require("./types/timeout-error");
21
23
  const messenger_1 = require("./messenger");
22
24
  const connection_transfer_1 = require("./connection-transfer");
23
- const user_cancelled_error_1 = tslib_1.__importDefault(require("./types/user-cancelled-error"));
25
+ const user_cancelled_error_1 = __importDefault(require("./types/user-cancelled-error"));
24
26
  const extensions = {
25
27
  notifications: notifications_1.Notifications,
26
28
  webrtcSessions: webrtc_1.WebrtcExtension,
@@ -58,6 +60,7 @@ class Client extends events_1.default {
58
60
  jwt: options.jwt,
59
61
  jid: options.jid,
60
62
  jidResource: options.jidResource,
63
+ userId: options.userId,
61
64
  channelId: null,
62
65
  appName: options.appName,
63
66
  appVersion: options.appVersion,
@@ -544,8 +547,6 @@ class Client extends events_1.default {
544
547
  throw new user_cancelled_error_1.default('Connection attempt cancelled');
545
548
  }
546
549
  stanzaInstance = await this.connectionManager.getNewStanzaConnection();
547
- this.connected = true;
548
- this.connecting = false;
549
550
  this.addInateEventHandlers(stanzaInstance);
550
551
  this.proxyStanzaEvents(stanzaInstance);
551
552
  // handle any extension configuration
@@ -557,8 +558,10 @@ class Client extends events_1.default {
557
558
  for (const extension of this.extensions) {
558
559
  extension.handleStanzaInstanceChange(stanzaInstance);
559
560
  }
560
- this.activeStanzaInstance = stanzaInstance;
561
561
  await this.setupConnectionMonitoring(stanzaInstance);
562
+ this.activeStanzaInstance = stanzaInstance;
563
+ this.connected = true;
564
+ this.connecting = false;
562
565
  this.emit('connected');
563
566
  }
564
567
  catch (err) {
@@ -671,7 +674,7 @@ class Client extends events_1.default {
671
674
  return Client.version;
672
675
  }
673
676
  static get version() {
674
- return '20.0.2';
677
+ return '20.1.0';
675
678
  }
676
679
  }
677
680
  exports.Client = Client;
@@ -7,11 +7,13 @@
7
7
  // which makes trying to reconnect a stanza instance an tricky endeavor because we don't know if a disconnect
8
8
  // event applies to a past connection attempt or if it applies to the most recent connection attempt. For this
9
9
  // reason, we want a vanilla instance of stanza every time we call `connect` so wires don't get crossed.
10
+ var __importDefault = (this && this.__importDefault) || function (mod) {
11
+ return (mod && mod.__esModule) ? mod : { "default": mod };
12
+ };
10
13
  Object.defineProperty(exports, "__esModule", { value: true });
11
14
  exports.ConnectionManager = void 0;
12
- const tslib_1 = require("tslib");
13
15
  const stanza_1 = require("stanza");
14
- const sasl_error_1 = tslib_1.__importDefault(require("./types/sasl-error"));
16
+ const sasl_error_1 = __importDefault(require("./types/sasl-error"));
15
17
  const utils_1 = require("./utils");
16
18
  class ConnectionManager {
17
19
  constructor(logger, config) {
@@ -1,8 +1,30 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.HttpClient = void 0;
4
- const tslib_1 = require("tslib");
5
- const axios_1 = tslib_1.__importStar(require("axios"));
27
+ const axios_1 = __importStar(require("axios"));
6
28
  const utils_1 = require("./utils");
7
29
  const correlationIdHeaderName = 'inin-correlation-id';
8
30
  class HttpClient {
package/dist/cjs/index.js CHANGED
@@ -1,14 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
17
  exports.parseJwt = exports.StreamingSubscriptionError = exports.StreamingClientError = exports.HttpClient = void 0;
4
- const tslib_1 = require("tslib");
5
18
  /// <reference path="types/libs.ts" />
6
19
  const client_1 = require("./client");
7
- tslib_1.__exportStar(require("./types/genesys-cloud-media-session"), exports);
8
- tslib_1.__exportStar(require("./types/stanza-media-session"), exports);
9
- tslib_1.__exportStar(require("./types/media-session"), exports);
10
- tslib_1.__exportStar(require("./types/interfaces"), exports);
11
- tslib_1.__exportStar(require("./messenger"), exports);
20
+ __exportStar(require("./types/genesys-cloud-media-session"), exports);
21
+ __exportStar(require("./types/stanza-media-session"), exports);
22
+ __exportStar(require("./types/media-session"), exports);
23
+ __exportStar(require("./types/interfaces"), exports);
24
+ __exportStar(require("./messenger"), exports);
12
25
  var http_client_1 = require("./http-client");
13
26
  Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_1.HttpClient; } });
14
27
  var utils_1 = require("./utils");
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.Notifications = void 0;
4
- const tslib_1 = require("tslib");
5
- const debounce_promise_1 = tslib_1.__importDefault(require("debounce-promise"));
7
+ const debounce_promise_1 = __importDefault(require("debounce-promise"));
6
8
  const utils_1 = require("./utils");
7
9
  const _1 = require("./");
8
10
  const PUBSUB_HOST_DEFAULT = 'notifications.mypurecloud.com';
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.GenesysCloudMediaSession = void 0;
4
- const tslib_1 = require("tslib");
5
- const webrtc_stats_gatherer_1 = tslib_1.__importDefault(require("webrtc-stats-gatherer"));
7
+ const webrtc_stats_gatherer_1 = __importDefault(require("webrtc-stats-gatherer"));
6
8
  const events_1 = require("events");
7
9
  const utils_1 = require("../utils");
8
10
  const interfaces_1 = require("./interfaces");
@@ -9,6 +9,7 @@ export interface IClientOptions {
9
9
  authToken?: string;
10
10
  jwt?: string;
11
11
  jid?: string;
12
+ userId?: string;
12
13
  jidResource?: string;
13
14
  reconnectOnNoLongerSubscribed?: boolean;
14
15
  optOutOfWebrtcStatsTelemetry?: boolean;
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.StanzaMediaSession = void 0;
4
- const tslib_1 = require("tslib");
5
7
  /* istanbul ignore file */
6
- const events_1 = tslib_1.__importDefault(require("events"));
8
+ const events_1 = __importDefault(require("events"));
7
9
  const jingle_1 = require("stanza/jingle");
8
10
  const Constants_1 = require("stanza/Constants");
9
- const webrtc_stats_gatherer_1 = tslib_1.__importDefault(require("webrtc-stats-gatherer"));
11
+ const webrtc_stats_gatherer_1 = __importDefault(require("webrtc-stats-gatherer"));
10
12
  const interfaces_1 = require("./interfaces");
11
13
  const loggingOverrides = {
12
14
  'Discovered new ICE candidate': { skipMessage: true }
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.WebrtcExtension = void 0;
4
- const tslib_1 = require("tslib");
5
7
  const events_1 = require("events");
6
8
  const JID_1 = require("stanza/JID");
7
9
  const lru_cache_1 = require("lru-cache");
8
10
  const Constants_1 = require("stanza/Constants");
9
- const lodash_throttle_1 = tslib_1.__importDefault(require("lodash.throttle"));
11
+ const lodash_throttle_1 = __importDefault(require("lodash.throttle"));
10
12
  const browserama_1 = require("browserama");
11
13
  const webrtc_signaling_1 = require("./stanza-definitions/webrtc-signaling");
12
14
  const utils_1 = require("./utils");
@@ -1,13 +1,13 @@
1
1
  {
2
- "version": "20.0.2-develop",
3
- "build": "23",
4
- "buildDate": "2026-08-24T15:48:53.574Z",
2
+ "version": "release/v20.1.0",
3
+ "build": "1",
4
+ "buildDate": "2026-09-08T18:25:56.487Z",
5
5
  "indexFiles": [
6
6
  {
7
- "file": "v20.0.2/streaming-client.browser.js"
7
+ "file": "v20.1.0/streaming-client.browser.js"
8
8
  },
9
9
  {
10
- "file": "v20.0.2/streaming-client.browser.js.LICENSE.txt"
10
+ "file": "v20.1.0/streaming-client.browser.js.LICENSE.txt"
11
11
  },
12
12
  {
13
13
  "file": "v20/streaming-client.browser.js"
@@ -9,6 +9,7 @@ export declare class AlertingLeaderExtension extends EventEmitter implements Str
9
9
  private alertableInteractionTypes;
10
10
  private getLeaderAbortController?;
11
11
  private leaderStatus;
12
+ private debouncedClaimAlertingLeader;
12
13
  constructor(client: Client, options: IClientOptions);
13
14
  handleStanzaInstanceChange(stanzaInstance: NamedAgent): void;
14
15
  private setupAlertingLeader;
@@ -1,5 +1,14 @@
1
- import { __awaiter } from "tslib";
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
2
10
  import axios from 'axios';
11
+ import debounce from 'debounce-promise';
3
12
  import { StreamingClientErrorTypes } from './types/interfaces';
4
13
  import { EventEmitter } from 'events';
5
14
  import { StreamingClientError, retryPromise } from './utils';
@@ -10,6 +19,7 @@ export class AlertingLeaderExtension extends EventEmitter {
10
19
  this.client = client;
11
20
  this.leaderStatus = {};
12
21
  this.alertableInteractionTypes = (_a = options.alertableInteractionTypes) !== null && _a !== void 0 ? _a : [];
22
+ this.debouncedClaimAlertingLeader = debounce(this.claimAlertingLeader.bind(this), 300);
13
23
  }
14
24
  handleStanzaInstanceChange(stanzaInstance) {
15
25
  var _a, _b;
@@ -159,7 +169,7 @@ export class AlertingLeaderExtension extends EventEmitter {
159
169
  return {
160
170
  on: this.on.bind(this),
161
171
  off: this.off.bind(this),
162
- claimAlertingLeader: this.claimAlertingLeader.bind(this),
172
+ claimAlertingLeader: this.debouncedClaimAlertingLeader,
163
173
  getLeaderStatus: () => { return this.leaderStatus; },
164
174
  leaderStatus: this.leaderStatus
165
175
  };
package/dist/es/client.js CHANGED
@@ -1,5 +1,13 @@
1
1
  'use strict';
2
- import { __awaiter } from "tslib";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
3
11
  import { TokenBucket } from 'limiter';
4
12
  import { Logger } from 'genesys-cloud-client-logger';
5
13
  import './polyfills';
@@ -56,6 +64,7 @@ export class Client extends EventEmitter {
56
64
  jwt: options.jwt,
57
65
  jid: options.jid,
58
66
  jidResource: options.jidResource,
67
+ userId: options.userId,
59
68
  channelId: null,
60
69
  appName: options.appName,
61
70
  appVersion: options.appVersion,
@@ -553,8 +562,6 @@ export class Client extends EventEmitter {
553
562
  throw new UserCancelledError('Connection attempt cancelled');
554
563
  }
555
564
  stanzaInstance = yield this.connectionManager.getNewStanzaConnection();
556
- this.connected = true;
557
- this.connecting = false;
558
565
  this.addInateEventHandlers(stanzaInstance);
559
566
  this.proxyStanzaEvents(stanzaInstance);
560
567
  // handle any extension configuration
@@ -566,8 +573,10 @@ export class Client extends EventEmitter {
566
573
  for (const extension of this.extensions) {
567
574
  extension.handleStanzaInstanceChange(stanzaInstance);
568
575
  }
569
- this.activeStanzaInstance = stanzaInstance;
570
576
  yield this.setupConnectionMonitoring(stanzaInstance);
577
+ this.activeStanzaInstance = stanzaInstance;
578
+ this.connected = true;
579
+ this.connecting = false;
571
580
  this.emit('connected');
572
581
  }
573
582
  catch (err) {
@@ -685,6 +694,6 @@ export class Client extends EventEmitter {
685
694
  return Client.version;
686
695
  }
687
696
  static get version() {
688
- return '20.0.2';
697
+ return '20.1.0';
689
698
  }
690
699
  }
@@ -6,7 +6,15 @@
6
6
  // which makes trying to reconnect a stanza instance an tricky endeavor because we don't know if a disconnect
7
7
  // event applies to a past connection attempt or if it applies to the most recent connection attempt. For this
8
8
  // reason, we want a vanilla instance of stanza every time we call `connect` so wires don't get crossed.
9
- import { __awaiter } from "tslib";
9
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
+ return new (P || (P = Promise))(function (resolve, reject) {
12
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
16
+ });
17
+ };
10
18
  import { createClient } from 'stanza';
11
19
  import SaslError from './types/sasl-error';
12
20
  import { parseJwt, timeoutPromise } from './utils';