@microsoft/omnichannel-chat-sdk 2.0.2 → 2.1.0-main.8f375cf

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.
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  var OmnichannelMessage_1 = require("../core/messaging/OmnichannelMessage");
15
15
  var LiveChatVersion_1 = require("../core/LiveChatVersion");
16
16
  var utilities_1 = require("./utilities");
17
+ var messageUpdates_1 = require("./messageUpdates");
17
18
  var createOmnichannelMessage = function (message, optionalParams) {
18
19
  var omnichannelMessage = {};
19
20
  omnichannelMessage.liveChatVersion = optionalParams.liveChatVersion || LiveChatVersion_1.default.V1;
@@ -47,6 +48,9 @@ var createOmnichannelMessage = function (message, optionalParams) {
47
48
  omnichannelMessage.properties.tags = metadata && metadata.tags ? metadata.tags : [];
48
49
  omnichannelMessage.tags = metadata && metadata.tags ? metadata.tags.replace(/\"/g, "").split(",").filter(function (tag) { return tag.length > 0; }) : []; // eslint-disable-line no-useless-escape
49
50
  omnichannelMessage.timestamp = editedOn !== null && editedOn !== void 0 ? editedOn : createdOn;
51
+ if ((0, messageUpdates_1.isMessageEdited)(message)) {
52
+ omnichannelMessage.resourceType = OmnichannelMessage_1.ResourceType.MessageUpdate;
53
+ }
50
54
  omnichannelMessage.messageType = OmnichannelMessage_1.MessageType.UserMessage; // Backward compatibility
51
55
  // `sender` can be null/undefined for system messages or certain ACS
52
56
  // event types. Use optional chaining so message transformation does not
@@ -118,6 +122,7 @@ var createOmnichannelMessage = function (message, optionalParams) {
118
122
  };
119
123
  }
120
124
  omnichannelMessage.role = (0, utilities_1.getMessageRole)(omnichannelMessage);
125
+ (0, messageUpdates_1.retainMessageVersion)(omnichannelMessage, message);
121
126
  }
122
127
  else {
123
128
  var clientmessageid = message.clientmessageid;
@@ -1 +1 @@
1
- {"version":3,"file":"createOmnichannelMessage.js","sourceRoot":"","sources":["../../src/utils/createOmnichannelMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createOmnichannelMessage.js","sourceRoot":"","sources":["../../src/utils/createOmnichannelMessage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const getMessageVersion: (message: object) => string | undefined;
2
+ export declare const retainMessageVersion: (message: object, source: object) => void;
3
+ export declare const isNewerMessageVersion: (version: string, previous?: string) => boolean;
4
+ export declare const isMessageEdited: (message: object) => boolean;
5
+ export declare class MessageUpdateTracker {
6
+ private observedVersions;
7
+ private deliveredVersions;
8
+ shouldDeliver(id: string, version: string): boolean;
9
+ markDelivered(id: string, version: string): void;
10
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageUpdateTracker = exports.isMessageEdited = exports.isNewerMessageVersion = exports.retainMessageVersion = exports.getMessageVersion = void 0;
4
+ // Keep transport versions off the public message payload, including during rehydration.
5
+ var retainedMessageVersions = new WeakMap();
6
+ var getMessageVersion = function (message) {
7
+ var version = "version" in message ? message.version : retainedMessageVersions.get(message);
8
+ if (typeof version !== "string" || !/^\d+$/.test(version)) {
9
+ return undefined;
10
+ }
11
+ return version.replace(/^0+(?=\d)/, "");
12
+ };
13
+ exports.getMessageVersion = getMessageVersion;
14
+ var retainMessageVersion = function (message, source) {
15
+ var version = (0, exports.getMessageVersion)(source);
16
+ if (version !== undefined) {
17
+ retainedMessageVersions.set(message, version);
18
+ }
19
+ };
20
+ exports.retainMessageVersion = retainMessageVersion;
21
+ var isNewerMessageVersion = function (version, previous) {
22
+ // ACS versions are UInt64 strings; Number would lose precision and BigInt would raise the runtime target.
23
+ return previous === undefined
24
+ || version.length > previous.length
25
+ || (version.length === previous.length && version > previous);
26
+ };
27
+ exports.isNewerMessageVersion = isNewerMessageVersion;
28
+ var isMessageEdited = function (message) {
29
+ return "editedOn" in message
30
+ && message.editedOn instanceof Date
31
+ && Number.isFinite(message.editedOn.getTime());
32
+ };
33
+ exports.isMessageEdited = isMessageEdited;
34
+ var MessageUpdateTracker = /** @class */ (function () {
35
+ function MessageUpdateTracker() {
36
+ this.observedVersions = new Map();
37
+ this.deliveredVersions = new Map();
38
+ }
39
+ MessageUpdateTracker.prototype.shouldDeliver = function (id, version) {
40
+ var observed = this.observedVersions.get(id);
41
+ if (observed !== undefined && (0, exports.isNewerMessageVersion)(observed, version)) {
42
+ return false;
43
+ }
44
+ // Keep the latest observation even if a callback fails after partially updating its UI.
45
+ this.observedVersions.set(id, version);
46
+ return (0, exports.isNewerMessageVersion)(version, this.deliveredVersions.get(id));
47
+ };
48
+ MessageUpdateTracker.prototype.markDelivered = function (id, version) {
49
+ if ((0, exports.isNewerMessageVersion)(version, this.deliveredVersions.get(id))) {
50
+ this.deliveredVersions.set(id, version);
51
+ }
52
+ };
53
+ return MessageUpdateTracker;
54
+ }());
55
+ exports.MessageUpdateTracker = MessageUpdateTracker;
56
+ //# sourceMappingURL=messageUpdates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageUpdates.js","sourceRoot":"","sources":["../../src/utils/messageUpdates.ts"],"names":[],"mappings":";;;AAAA,wFAAwF;AACxF,IAAM,uBAAuB,GAAG,IAAI,OAAO,EAAkB,CAAC;AAEvD,IAAM,iBAAiB,GAAG,UAAC,OAAe;IAC7C,IAAM,OAAO,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9F,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC,CAAC;AAPW,QAAA,iBAAiB,qBAO5B;AAEK,IAAM,oBAAoB,GAAG,UAAC,OAAe,EAAE,MAAc;IAChE,IAAM,OAAO,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;AACL,CAAC,CAAC;AALW,QAAA,oBAAoB,wBAK/B;AAEK,IAAM,qBAAqB,GAAG,UAAC,OAAe,EAAE,QAAiB;IACpE,0GAA0G;IAC1G,OAAO,QAAQ,KAAK,SAAS;WACtB,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;WAChC,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,OAAO,GAAG,QAAQ,CAAC,CAAC;AACtE,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC;AAEK,IAAM,eAAe,GAAG,UAAC,OAAe;IAC3C,OAAO,UAAU,IAAI,OAAO;WACrB,OAAO,CAAC,QAAQ,YAAY,IAAI;WAChC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEF;IAAA;QACY,qBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,sBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAkB1D,CAAC;IAhBU,4CAAa,GAApB,UAAqB,EAAU,EAAE,OAAe;QAC5C,IAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAA,6BAAqB,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,wFAAwF;QACxF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,IAAA,6BAAqB,EAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,4CAAa,GAApB,UAAqB,EAAU,EAAE,OAAe;QAC5C,IAAI,IAAA,6BAAqB,EAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IACL,2BAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,oDAAoB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/omnichannel-chat-sdk",
3
- "version": "2.0.2",
3
+ "version": "2.1.0-main.8f375cf",
4
4
  "description": "Microsoft Omnichannel Chat SDK",
5
5
  "files": [
6
6
  "lib/**/*"
@@ -52,7 +52,7 @@
52
52
  "@azure/communication-chat": "1.6.0-beta.7",
53
53
  "@azure/communication-common": "2.4.2",
54
54
  "@microsoft/botframework-webchat-adapter-azure-communication-chat": "0.0.1-beta.8",
55
- "@microsoft/ocsdk": "0.6.0",
55
+ "@microsoft/ocsdk": "0.6.0-main.316a2fa",
56
56
  "@microsoft/omnichannel-amsclient": "0.2.0",
57
57
  "@microsoft/omnichannel-ic3core": "^0.1.5"
58
58
  },