@twilio/conversations 2.3.0-rc.0 → 2.3.0-rc.2

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 (73) hide show
  1. package/README.md +2 -2
  2. package/builds/browser.js +84 -51
  3. package/builds/browser.js.map +1 -1
  4. package/builds/lib.d.ts +1 -2
  5. package/builds/lib.js +75 -51
  6. package/builds/lib.js.map +1 -1
  7. package/builds/twilio-conversations.js +125 -92
  8. package/builds/twilio-conversations.min.js +1 -1
  9. package/dist/aggregated-delivery-receipt.js +9 -0
  10. package/dist/aggregated-delivery-receipt.js.map +1 -1
  11. package/dist/client.js +9 -0
  12. package/dist/client.js.map +1 -1
  13. package/dist/command-executor.js +9 -0
  14. package/dist/command-executor.js.map +1 -1
  15. package/dist/configuration.js +9 -0
  16. package/dist/configuration.js.map +1 -1
  17. package/dist/content-client.js +9 -0
  18. package/dist/content-client.js.map +1 -1
  19. package/dist/content-template.js +9 -0
  20. package/dist/content-template.js.map +1 -1
  21. package/dist/conversation.js +14 -5
  22. package/dist/conversation.js.map +1 -1
  23. package/dist/data/conversations.js +9 -0
  24. package/dist/data/conversations.js.map +1 -1
  25. package/dist/data/messages.js +9 -0
  26. package/dist/data/messages.js.map +1 -1
  27. package/dist/data/participants.js +9 -0
  28. package/dist/data/participants.js.map +1 -1
  29. package/dist/data/users.js +9 -0
  30. package/dist/data/users.js.map +1 -1
  31. package/dist/detailed-delivery-receipt.js +9 -0
  32. package/dist/detailed-delivery-receipt.js.map +1 -1
  33. package/dist/index.js +9 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/interfaces/notification-types.js +9 -0
  36. package/dist/interfaces/notification-types.js.map +1 -1
  37. package/dist/interfaces/{attributes.js → rules.js} +26 -7
  38. package/dist/interfaces/rules.js.map +1 -0
  39. package/dist/logger.js +9 -0
  40. package/dist/logger.js.map +1 -1
  41. package/dist/media.js +9 -0
  42. package/dist/media.js.map +1 -1
  43. package/dist/message-builder.js +58 -6
  44. package/dist/message-builder.js.map +1 -1
  45. package/dist/message.js +36 -12
  46. package/dist/message.js.map +1 -1
  47. package/dist/node_modules/tslib/tslib.es6.js +9 -0
  48. package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
  49. package/dist/packages/conversations/package.json.js +10 -1
  50. package/dist/packages/conversations/package.json.js.map +1 -1
  51. package/dist/participant.js +11 -2
  52. package/dist/participant.js.map +1 -1
  53. package/dist/push-notification.js +9 -0
  54. package/dist/push-notification.js.map +1 -1
  55. package/dist/rest-paginator.js +9 -0
  56. package/dist/rest-paginator.js.map +1 -1
  57. package/dist/services/network.js +9 -0
  58. package/dist/services/network.js.map +1 -1
  59. package/dist/services/typing-indicator.js +9 -0
  60. package/dist/services/typing-indicator.js.map +1 -1
  61. package/dist/unsent-message.js +9 -0
  62. package/dist/unsent-message.js.map +1 -1
  63. package/dist/user.js +11 -2
  64. package/dist/user.js.map +1 -1
  65. package/dist/util/deferred.js +9 -0
  66. package/dist/util/deferred.js.map +1 -1
  67. package/dist/util/index.js +9 -0
  68. package/dist/util/index.js.map +1 -1
  69. package/docs/classes/ContentTemplate.html +1 -1
  70. package/docs/index.html +3 -3
  71. package/docs/modules.html +2 -2
  72. package/package.json +11 -9
  73. package/dist/interfaces/attributes.js.map +0 -1
package/README.md CHANGED
@@ -54,7 +54,7 @@ client.on('initFailed', ({ error }) => {
54
54
  Releases of `twilio-conversations.js` are hosted on a CDN, and you can include these
55
55
  directly in your web app using a `<script>` tag.
56
56
  ```html
57
- <script src="https://media.twiliocdn.com/sdk/js/conversations/v2.2/twilio-conversations.min.js"></script>
57
+ <script src="https://media.twiliocdn.com/sdk/js/conversations/v2.3/twilio-conversations.min.js"></script>
58
58
  ```
59
59
  Using this method, `twilio-conversations.js` will set a browser global `Twilio.Conversations` through which you can use the client:
60
60
  ```
@@ -72,7 +72,7 @@ number. While less flexible it is significantly more secure, which is required b
72
72
  To consume securely use the following script snippet format:
73
73
 
74
74
  ```html
75
- <script src="https://media.twiliocdn.com/sdk/js/conversations/releases/2.2.0/twilio-conversations.min.js"
75
+ <script src="https://media.twiliocdn.com/sdk/js/conversations/releases/2.3.0/twilio-conversations.min.js"
76
76
  integrity="sha256-<HASH FROM THE CHANGELOGS PAGE>"
77
77
  crossorigin="anonymous"></script>
78
78
  ```
package/builds/browser.js CHANGED
@@ -128,6 +128,15 @@ This software includes platform.js under the following license.
128
128
  */
129
129
  'use strict';
130
130
 
131
+ var global =
132
+ typeof global !== "undefined"
133
+ ? global
134
+ : typeof self !== "undefined"
135
+ ? self
136
+ : typeof window !== "undefined"
137
+ ? window
138
+ : {};
139
+
131
140
  Object.defineProperty(exports, '__esModule', { value: true });
132
141
 
133
142
  require('core-js/modules/es.reflect.to-string-tag.js');
@@ -164,6 +173,7 @@ require('core-js/modules/es.regexp.exec.js');
164
173
  require('core-js/modules/es.string.replace.js');
165
174
  require('core-js/modules/es.array.join.js');
166
175
  var declarativeTypeValidator = require('@twilio/declarative-type-validator');
176
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
167
177
  require('core-js/modules/es.array.includes.js');
168
178
  var replayEventEmitter = require('@twilio/replay-event-emitter');
169
179
  var isEqual = require('lodash.isequal');
@@ -179,7 +189,6 @@ var twilsock = require('twilsock');
179
189
  var notifications = require('@twilio/notifications');
180
190
  var twilioSync = require('twilio-sync');
181
191
  var mcsClient = require('@twilio/mcs-client');
182
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
183
192
  require('core-js/modules/es.set.js');
184
193
  require('core-js/modules/es.number.is-integer.js');
185
194
  require('core-js/modules/es.typed-array.uint8-array.js');
@@ -250,9 +259,9 @@ var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallChec
250
259
  var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
251
260
  var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
252
261
  var loglevelLog__namespace = /*#__PURE__*/_interopNamespace(loglevelLog);
262
+ var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
253
263
  var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
254
264
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
255
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
256
265
 
257
266
  function __decorate(decorators, target, key, desc) {
258
267
  var c = arguments.length,
@@ -555,12 +564,17 @@ var UriBuilder = /*#__PURE__*/function () {
555
564
  return UriBuilder;
556
565
  }();
557
566
 
558
- var attributesValidator = declarativeTypeValidator.custom(function (value) {
567
+ var json = declarativeTypeValidator.custom(function (value) {
559
568
  return [["string", "number", "boolean", "object"].includes(_typeof__default["default"](value)), "a JSON type"];
560
569
  });
561
- var optionalAttributesValidator = declarativeTypeValidator.custom(function (value) {
570
+ var optionalJson = declarativeTypeValidator.custom(function (value) {
562
571
  return [["undefined", "string", "number", "boolean", "object"].includes(_typeof__default["default"](value)), "an optional JSON type"];
563
572
  });
573
+ var sendMediaOptions = declarativeTypeValidator.objectSchema("send media options", {
574
+ contentType: [declarativeTypeValidator.literal(null), "string"],
575
+ filename: ["string", "undefined"],
576
+ media: [declarativeTypeValidator.literal("null"), "string", Buffer].concat(_toConsumableArray__default["default"](typeof Blob === "function" ? [Blob] : []))
577
+ });
564
578
 
565
579
  function _createSuper$8(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$8(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
566
580
 
@@ -1067,7 +1081,7 @@ var User = /*#__PURE__*/function (_ReplayEventEmitter) {
1067
1081
  return User;
1068
1082
  }(replayEventEmitter.ReplayEventEmitter);
1069
1083
 
1070
- __decorate([declarativeTypeValidator.validateTypesAsync(attributesValidator), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], User.prototype, "updateAttributes", null);
1084
+ __decorate([declarativeTypeValidator.validateTypesAsync(json), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], User.prototype, "updateAttributes", null);
1071
1085
 
1072
1086
  __decorate([declarativeTypeValidator.validateTypesAsync(["string"]), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise)], User.prototype, "updateFriendlyName", null);
1073
1087
 
@@ -1621,7 +1635,7 @@ _defineProperty__default["default"](Participant, "typingEnded", "typingEnded");
1621
1635
 
1622
1636
  _defineProperty__default["default"](Participant, "updated", "updated");
1623
1637
 
1624
- __decorate([declarativeTypeValidator.validateTypesAsync(attributesValidator), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], Participant.prototype, "updateAttributes", null);
1638
+ __decorate([declarativeTypeValidator.validateTypesAsync(json), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], Participant.prototype, "updateAttributes", null);
1625
1639
 
1626
1640
  function _createSuper$6(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$6(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
1627
1641
 
@@ -2756,7 +2770,7 @@ var ContentTemplate = /*#__PURE__*/_createClass__default["default"](
2756
2770
  */
2757
2771
 
2758
2772
  /**
2759
- * Variants of the content. See @{link ContentData}.
2773
+ * Variants of the content. See {@link ContentData}.
2760
2774
  */
2761
2775
 
2762
2776
  /**
@@ -2795,10 +2809,14 @@ function _createSuper$5(Derived) { var hasNativeReflectConstruct = _isNativeRefl
2795
2809
 
2796
2810
  function _isNativeReflectConstruct$5() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2797
2811
  var log$3 = Logger.scope("Message");
2812
+
2813
+ var XHR = // eslint-disable-next-line @typescript-eslint/no-var-requires
2814
+ global["XMLHttpRequest"] || {};
2798
2815
  /**
2799
2816
  * A message in a conversation.
2800
2817
  */
2801
2818
 
2819
+
2802
2820
  var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
2803
2821
  _inherits__default["default"](Message, _ReplayEventEmitter);
2804
2822
 
@@ -3565,7 +3583,7 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3565
3583
 
3566
3584
  return new mcsClient.CancellablePromise( /*#__PURE__*/function () {
3567
3585
  var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee9(resolve, reject, onCancel) {
3568
- var bodies, twilioPrefix, filteredMedias, contentMedia, urlPromise, url, abortController, responsePromise, json, response, blob, text, dataType;
3586
+ var bodies, twilioPrefix, filteredMedias, contentMedia, urlPromise, url, jsonStringPromise, json, jsonString, dataType;
3569
3587
  return _regeneratorRuntime__default["default"].wrap(function _callee9$(_context9) {
3570
3588
  while (1) {
3571
3589
  switch (_context9.prev = _context9.next) {
@@ -3634,49 +3652,59 @@ var Message = /*#__PURE__*/function (_ReplayEventEmitter) {
3634
3652
  return _context9.abrupt("return");
3635
3653
 
3636
3654
  case 28:
3637
- abortController = new AbortController();
3638
- responsePromise = fetch(url, {
3639
- signal: abortController.signal
3640
- });
3641
- onCancel(function () {
3642
- abortController.abort();
3655
+ jsonStringPromise = new Promise(function (resolve, reject) {
3656
+ var _url;
3657
+
3658
+ var isCancelled = false;
3659
+ var xhr = new XHR();
3660
+ xhr.open("GET", (_url = url) !== null && _url !== void 0 ? _url : "", true);
3661
+ xhr.responseType = "text";
3662
+
3663
+ xhr.onreadystatechange = function () {
3664
+ if (xhr.readyState !== 4 || isCancelled) {
3665
+ return;
3666
+ }
3667
+
3668
+ resolve(xhr.responseText);
3669
+ };
3670
+
3671
+ xhr.onerror = function () {
3672
+ reject(xhr.statusText);
3673
+ };
3674
+
3675
+ onCancel(function () {
3676
+ isCancelled = true;
3677
+ xhr.abort();
3678
+ reject(new Error("XHR has been aborted"));
3679
+ });
3680
+ xhr.send();
3643
3681
  });
3644
- _context9.prev = 31;
3645
- _context9.next = 34;
3646
- return responsePromise;
3682
+ _context9.prev = 29;
3683
+ _context9.next = 32;
3684
+ return jsonStringPromise;
3647
3685
 
3648
- case 34:
3649
- response = _context9.sent;
3650
- _context9.next = 37;
3651
- return response.blob();
3652
-
3653
- case 37:
3654
- blob = _context9.sent;
3686
+ case 32:
3687
+ jsonString = _context9.sent;
3688
+ json = JSON.parse(jsonString);
3655
3689
  _context9.next = 40;
3656
- return blob.text();
3657
-
3658
- case 40:
3659
- text = _context9.sent;
3660
- json = JSON.parse(text);
3661
- _context9.next = 48;
3662
3690
  break;
3663
3691
 
3664
- case 44:
3665
- _context9.prev = 44;
3666
- _context9.t1 = _context9["catch"](31);
3692
+ case 36:
3693
+ _context9.prev = 36;
3694
+ _context9.t1 = _context9["catch"](29);
3667
3695
  reject(_context9.t1);
3668
3696
  return _context9.abrupt("return");
3669
3697
 
3670
- case 48:
3698
+ case 40:
3671
3699
  dataType = contentMedia.contentType.replace(twilioPrefix, "").replace(".", "/");
3672
3700
  resolve(parseVariant(dataType, json.data));
3673
3701
 
3674
- case 50:
3702
+ case 42:
3675
3703
  case "end":
3676
3704
  return _context9.stop();
3677
3705
  }
3678
3706
  }
3679
- }, _callee9, null, [[15, 21], [31, 44]]);
3707
+ }, _callee9, null, [[15, 21], [29, 36]]);
3680
3708
  }));
3681
3709
 
3682
3710
  return function (_x8, _x9, _x10) {
@@ -3699,7 +3727,7 @@ __decorate([declarativeTypeValidator.validateTypes([declarativeTypeValidator.non
3699
3727
 
3700
3728
  __decorate([declarativeTypeValidator.validateTypesAsync("string"), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise)], Message.prototype, "updateBody", null);
3701
3729
 
3702
- __decorate([declarativeTypeValidator.validateTypesAsync(attributesValidator), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], Message.prototype, "updateAttributes", null);
3730
+ __decorate([declarativeTypeValidator.validateTypesAsync(json), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], Message.prototype, "updateAttributes", null);
3703
3731
 
3704
3732
  __decorate([deprecationDecorator.deprecated("attachTemporaryUrlsFor", "getTemporaryContentUrlsForMedia"), __metadata("design:type", Function), __metadata("design:paramtypes", [Array]), __metadata("design:returntype", Promise)], Message.prototype, "attachTemporaryUrlsFor", null);
3705
3733
 
@@ -4557,20 +4585,25 @@ var MessageBuilder = /*#__PURE__*/function () {
4557
4585
  value: function buildAndSend() {
4558
4586
  return this.build().send();
4559
4587
  }
4560
- }, {
4561
- key: "getPayloadContentType",
4562
- value: function getPayloadContentType(payload) {
4563
- if (typeof FormData !== "undefined" && payload instanceof FormData) {
4564
- return payload.get("Content-Type");
4565
- }
4566
-
4567
- return payload.contentType;
4568
- }
4569
4588
  }]);
4570
4589
 
4571
4590
  return MessageBuilder;
4572
4591
  }();
4573
4592
 
4593
+ __decorate([declarativeTypeValidator.validateTypes("string"), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", MessageBuilder)], MessageBuilder.prototype, "setBody", null);
4594
+
4595
+ __decorate([declarativeTypeValidator.validateTypes("string"), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", MessageBuilder)], MessageBuilder.prototype, "setSubject", null);
4596
+
4597
+ __decorate([declarativeTypeValidator.validateTypes(json), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", MessageBuilder)], MessageBuilder.prototype, "setAttributes", null);
4598
+
4599
+ __decorate([declarativeTypeValidator.validateTypes("string", [FormData, sendMediaOptions]), __metadata("design:type", Function), __metadata("design:paramtypes", [String, Object]), __metadata("design:returntype", MessageBuilder)], MessageBuilder.prototype, "setEmailBody", null);
4600
+
4601
+ __decorate([declarativeTypeValidator.validateTypes("string", [FormData, sendMediaOptions]), __metadata("design:type", Function), __metadata("design:paramtypes", [String, Object]), __metadata("design:returntype", MessageBuilder)], MessageBuilder.prototype, "setEmailHistory", null);
4602
+
4603
+ __decorate([declarativeTypeValidator.validateTypes("string", [declarativeTypeValidator.array("content variables", ContentTemplateVariable), "undefined"]), __metadata("design:type", Function), __metadata("design:paramtypes", [String, Array]), __metadata("design:returntype", MessageBuilder)], MessageBuilder.prototype, "setContentTemplate", null);
4604
+
4605
+ __decorate([declarativeTypeValidator.validateTypes([FormData, sendMediaOptions]), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", MessageBuilder)], MessageBuilder.prototype, "addMedia", null);
4606
+
4574
4607
  function _createForOfIteratorHelper$1(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
4575
4608
 
4576
4609
  function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
@@ -6397,9 +6430,9 @@ _defineProperty__default["default"](Conversation, "removed", "removed");
6397
6430
 
6398
6431
  _defineProperty__default["default"](Conversation, "_logger", Logger.scope("Conversation"));
6399
6432
 
6400
- __decorate([declarativeTypeValidator.validateTypesAsync(declarativeTypeValidator.nonEmptyString, optionalAttributesValidator), __metadata("design:type", Function), __metadata("design:paramtypes", [String, Object]), __metadata("design:returntype", Promise)], Conversation.prototype, "add", null);
6433
+ __decorate([declarativeTypeValidator.validateTypesAsync(declarativeTypeValidator.nonEmptyString, optionalJson), __metadata("design:type", Function), __metadata("design:paramtypes", [String, Object]), __metadata("design:returntype", Promise)], Conversation.prototype, "add", null);
6401
6434
 
6402
- __decorate([declarativeTypeValidator.validateTypesAsync(declarativeTypeValidator.nonEmptyString, declarativeTypeValidator.nonEmptyString, optionalAttributesValidator), __metadata("design:type", Function), __metadata("design:paramtypes", [String, String, Object, Object]), __metadata("design:returntype", Promise)], Conversation.prototype, "addNonChatParticipant", null);
6435
+ __decorate([declarativeTypeValidator.validateTypesAsync(declarativeTypeValidator.nonEmptyString, declarativeTypeValidator.nonEmptyString, optionalJson), __metadata("design:type", Function), __metadata("design:paramtypes", [String, String, Object, Object]), __metadata("design:returntype", Promise)], Conversation.prototype, "addNonChatParticipant", null);
6403
6436
 
6404
6437
  __decorate([declarativeTypeValidator.validateTypesAsync(declarativeTypeValidator.nonNegativeInteger), __metadata("design:type", Function), __metadata("design:paramtypes", [Number]), __metadata("design:returntype", Promise)], Conversation.prototype, "advanceLastReadMessageIndex", null);
6405
6438
 
@@ -6422,13 +6455,13 @@ __decorate([declarativeTypeValidator.validateTypesAsync(["string", FormData, dec
6422
6455
 
6423
6456
  return [isValid, "a non-empty string, an instance of Buffer or an instance of Blob"];
6424
6457
  })
6425
- })], optionalAttributesValidator, ["undefined", declarativeTypeValidator.literal(null), declarativeTypeValidator.objectSchema("email attributes", {
6458
+ })], optionalJson, ["undefined", declarativeTypeValidator.literal(null), declarativeTypeValidator.objectSchema("email attributes", {
6426
6459
  subject: [declarativeTypeValidator.nonEmptyString, "undefined"]
6427
6460
  })]), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Object, Object]), __metadata("design:returntype", Promise)], Conversation.prototype, "sendMessage", null);
6428
6461
 
6429
6462
  __decorate([declarativeTypeValidator.validateTypesAsync(declarativeTypeValidator.literal("default", "muted")), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise)], Conversation.prototype, "setUserNotificationLevel", null);
6430
6463
 
6431
- __decorate([declarativeTypeValidator.validateTypesAsync(attributesValidator), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], Conversation.prototype, "updateAttributes", null);
6464
+ __decorate([declarativeTypeValidator.validateTypesAsync(json), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], Conversation.prototype, "updateAttributes", null);
6432
6465
 
6433
6466
  __decorate([declarativeTypeValidator.validateTypesAsync("string"), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", Promise)], Conversation.prototype, "updateFriendlyName", null);
6434
6467
 
@@ -7741,7 +7774,7 @@ function PushNotification(data) {
7741
7774
  this.data = data.data || {};
7742
7775
  });
7743
7776
 
7744
- var version = "2.3.0-rc.0";
7777
+ var version = "2.3.0-rc.2";
7745
7778
 
7746
7779
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7747
7780