From ede2194a9b9e70a1f99a1ab593e8f0e46c67b1fb Mon Sep 17 00:00:00 2001
From: Alonso Cadenas <cadenas.alonso@gmail.com>
Date: Thu, 12 Oct 2023 14:10:51 -0500
Subject: [PATCH 1/2] Update engagement data on callCompleted event (#151)

* HS owned engagements demo

* Add new events

* Add new event handlers to demo app

* 0.1.8-alpha.0

* 0.1.8-alpha.1

---------

Co-authored-by: Esme Ling <esmelingyr@gmail.com>
---
 .prettierrc.json               |  2 +-
 demos/demo-minimal-js/index.js | 14 ++++++++++++++
 package-lock.json              |  4 ++--
 package.json                   |  2 +-
 src/CallingExtensions.js       | 20 ++++++++++++++++++++
 src/Constants.js               |  7 +++++++
 6 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/.prettierrc.json b/.prettierrc.json
index 97051a73..9c0e417b 100644
--- a/.prettierrc.json
+++ b/.prettierrc.json
@@ -1 +1 @@
-{ "arrowParens": "avoid" }
+{ "arrowParens": "avoid", "trailingComma": "all" }
diff --git a/demos/demo-minimal-js/index.js b/demos/demo-minimal-js/index.js
index 3331bc10..536588d0 100644
--- a/demos/demo-minimal-js/index.js
+++ b/demos/demo-minimal-js/index.js
@@ -36,6 +36,16 @@ const cti = new CallingExtensions({
       }, 500);
     },
     onVisibilityChanged: (data, rawEvent) => {},
+    onCreateEngagementSucceeded: (data, rawEvent) => {
+      const { engagementId } = data;
+      state.engagementId = engagementId;
+    },
+    onCreateEngagementFailed: (data, rawEvent) => {},
+    onUpdateEngagementSucceeded: (data, rawEvent) => {
+      const { engagementId } = data;
+      state.engagementId = engagementId;
+    },
+    onUpdateEngagementFailed: (data, rawEvent) => {},
   },
 });
 
@@ -122,6 +132,10 @@ export function completeCall() {
   cti.callCompleted({
     engagementId: state.engagementId,
     hideWidget: false,
+    engagementProperties: {
+      hs_call_title: "Demo call",
+      hs_call_body: "Resolved issue",
+    },
   });
   disableButtons([COMPLETE_CALL]);
   enableButtons([OUTGOING_CALL]);
diff --git a/package-lock.json b/package-lock.json
index 9e4af3be..cc852665 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "@hubspot/calling-extensions-sdk",
-  "version": "0.1.7",
+  "version": "0.1.8-alpha.1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "@hubspot/calling-extensions-sdk",
-      "version": "0.1.7",
+      "version": "0.1.8-alpha.1",
       "license": "MIT",
       "devDependencies": {
         "@babel/cli": "^7.21.0",
diff --git a/package.json b/package.json
index e089d3d4..31af4868 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@hubspot/calling-extensions-sdk",
-  "version": "0.1.7",
+  "version": "0.1.8-alpha.1",
   "description": "HubSpot calling extensions sdk for call widget integration.",
   "publishConfig": {
     "access": "public"
diff --git a/src/CallingExtensions.js b/src/CallingExtensions.js
index f65831c9..cf26b352 100644
--- a/src/CallingExtensions.js
+++ b/src/CallingExtensions.js
@@ -152,6 +152,26 @@ class CallingExtensions {
         handler = onSetCallState;
         break;
       }
+      case messageType.CREATE_ENGAGEMENT_FAILED: {
+        const { onCreateEngagementFailed } = eventHandlers;
+        handler = onCreateEngagementFailed;
+        break;
+      }
+      case messageType.CREATE_ENGAGEMENT_SUCCEEDED: {
+        const { onCreateEngagementSucceeded } = eventHandlers;
+        handler = onCreateEngagementSucceeded;
+        break;
+      }
+      case messageType.UPDATE_ENGAGEMENT_FAILED: {
+        const { onUpdateEngagementFailed } = eventHandlers;
+        handler = onUpdateEngagementFailed;
+        break;
+      }
+      case messageType.UPDATE_ENGAGEMENT_SUCCEEDED: {
+        const { onUpdateEngagementSucceeded } = eventHandlers;
+        handler = onUpdateEngagementSucceeded;
+        break;
+      }
       default: {
         // Send back a message indicating an unknown event is received
         this.sendMessage({
diff --git a/src/Constants.js b/src/Constants.js
index 9960ed48..dd13a704 100644
--- a/src/Constants.js
+++ b/src/Constants.js
@@ -8,8 +8,13 @@ export const messageType = {
   CALL_COMPLETED: "CALL_COMPLETED",
   CALL_DATA: "CALL_DATA",
   CALL_ENDED: "CALL_ENDED",
+  CREATE_ENGAGEMENT_FAILED: "CREATE_ENGAGEMENT_FAILED",
+  CREATE_ENGAGEMENT_SUCCEEDED: "CREATE_ENGAGEMENT_SUCCEEDED",
   DIAL_NUMBER: "DIAL_NUMBER",
   END_CALL: "END_CALL",
+  /**
+   * @deprecated use CREATE_ENGAGEMENT_SUCCEEDED instead
+   */
   ENGAGEMENT_CREATED: "ENGAGEMENT_CREATED",
   ERROR: "ERROR",
   INCOMING_CALL: "INCOMING_CALL",
@@ -25,6 +30,8 @@ export const messageType = {
   SYNC_ACK: "SYNC_ACK",
   SYNC: "SYNC",
   UNLOADING: "UNLOADING",
+  UPDATE_ENGAGEMENT_FAILED: "UPDATE_ENGAGEMENT_FAILED",
+  UPDATE_ENGAGEMENT_SUCCEEDED: "UPDATE_ENGAGEMENT_SUCCEEDED",
   VISIBILITY_CHANGED: "VISIBILITY_CHANGED",
 };
 

From 3a337e600ab95100ba9c9f6c2c5e03bfb9e40f7c Mon Sep 17 00:00:00 2001
From: Esme <23175119+esme@users.noreply.github.com>
Date: Mon, 23 Oct 2023 15:15:00 -0700
Subject: [PATCH 2/2] 0.1.8 (#152)

* 0.1.8

* Bump version for demos
---
 demos/demo-minimal-js/package-lock.json | 14 +++++++-------
 demos/demo-minimal-js/package.json      |  2 +-
 demos/demo-react-ts/package-lock.json   | 14 +++++++-------
 demos/demo-react-ts/package.json        |  2 +-
 package-lock.json                       |  4 ++--
 package.json                            |  2 +-
 6 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/demos/demo-minimal-js/package-lock.json b/demos/demo-minimal-js/package-lock.json
index b2b1ccf8..b589ce5b 100644
--- a/demos/demo-minimal-js/package-lock.json
+++ b/demos/demo-minimal-js/package-lock.json
@@ -9,7 +9,7 @@
       "version": "1.0.0",
       "license": "MIT",
       "dependencies": {
-        "@hubspot/calling-extensions-sdk": "0.1.7"
+        "@hubspot/calling-extensions-sdk": "^0.1.8"
       },
       "devDependencies": {
         "cross-env": "^7.0.3",
@@ -32,9 +32,9 @@
       }
     },
     "node_modules/@hubspot/calling-extensions-sdk": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/@hubspot/calling-extensions-sdk/-/calling-extensions-sdk-0.1.7.tgz",
-      "integrity": "sha512-c+UM08wYCTyV+vSpEz5ppXwJiqIBvA1I8BxbcngRblu7mrYmsfMsMj8cPZsXP+OzTCaSM2hTQIsDC4zKMitYgw==",
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/@hubspot/calling-extensions-sdk/-/calling-extensions-sdk-0.1.8.tgz",
+      "integrity": "sha512-dAMnFSfAFzb0KRJSqkJ+ulJaWxG6UedV9bNU5IvMzK4YW9Qo1rQisQH7MIoPQNjOpVSidirV1JwpomAB03G2Vg==",
       "engines": {
         "node": ">=14"
       }
@@ -3482,9 +3482,9 @@
       "dev": true
     },
     "@hubspot/calling-extensions-sdk": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/@hubspot/calling-extensions-sdk/-/calling-extensions-sdk-0.1.7.tgz",
-      "integrity": "sha512-c+UM08wYCTyV+vSpEz5ppXwJiqIBvA1I8BxbcngRblu7mrYmsfMsMj8cPZsXP+OzTCaSM2hTQIsDC4zKMitYgw=="
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/@hubspot/calling-extensions-sdk/-/calling-extensions-sdk-0.1.8.tgz",
+      "integrity": "sha512-dAMnFSfAFzb0KRJSqkJ+ulJaWxG6UedV9bNU5IvMzK4YW9Qo1rQisQH7MIoPQNjOpVSidirV1JwpomAB03G2Vg=="
     },
     "@jridgewell/gen-mapping": {
       "version": "0.3.2",
diff --git a/demos/demo-minimal-js/package.json b/demos/demo-minimal-js/package.json
index e1bb5f98..e55474e7 100644
--- a/demos/demo-minimal-js/package.json
+++ b/demos/demo-minimal-js/package.json
@@ -21,6 +21,6 @@
     "webpack-dev-server": "^4.11.1"
   },
   "dependencies": {
-    "@hubspot/calling-extensions-sdk": "0.1.7"
+    "@hubspot/calling-extensions-sdk": "^0.1.8"
   }
 }
diff --git a/demos/demo-react-ts/package-lock.json b/demos/demo-react-ts/package-lock.json
index 5b995b35..5cd5b5a1 100644
--- a/demos/demo-react-ts/package-lock.json
+++ b/demos/demo-react-ts/package-lock.json
@@ -9,7 +9,7 @@
       "version": "1.0.0",
       "license": "MIT",
       "dependencies": {
-        "@hubspot/calling-extensions-sdk": "0.1.7",
+        "@hubspot/calling-extensions-sdk": "^0.1.8",
         "react": "^18.2.0",
         "react-aria": "^3.22.0",
         "react-dom": "^18.2.0",
@@ -1946,9 +1946,9 @@
       }
     },
     "node_modules/@hubspot/calling-extensions-sdk": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/@hubspot/calling-extensions-sdk/-/calling-extensions-sdk-0.1.7.tgz",
-      "integrity": "sha512-c+UM08wYCTyV+vSpEz5ppXwJiqIBvA1I8BxbcngRblu7mrYmsfMsMj8cPZsXP+OzTCaSM2hTQIsDC4zKMitYgw==",
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/@hubspot/calling-extensions-sdk/-/calling-extensions-sdk-0.1.8.tgz",
+      "integrity": "sha512-dAMnFSfAFzb0KRJSqkJ+ulJaWxG6UedV9bNU5IvMzK4YW9Qo1rQisQH7MIoPQNjOpVSidirV1JwpomAB03G2Vg==",
       "engines": {
         "node": ">=14"
       }
@@ -9901,9 +9901,9 @@
       }
     },
     "@hubspot/calling-extensions-sdk": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmjs.org/@hubspot/calling-extensions-sdk/-/calling-extensions-sdk-0.1.7.tgz",
-      "integrity": "sha512-c+UM08wYCTyV+vSpEz5ppXwJiqIBvA1I8BxbcngRblu7mrYmsfMsMj8cPZsXP+OzTCaSM2hTQIsDC4zKMitYgw=="
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/@hubspot/calling-extensions-sdk/-/calling-extensions-sdk-0.1.8.tgz",
+      "integrity": "sha512-dAMnFSfAFzb0KRJSqkJ+ulJaWxG6UedV9bNU5IvMzK4YW9Qo1rQisQH7MIoPQNjOpVSidirV1JwpomAB03G2Vg=="
     },
     "@internationalized/date": {
       "version": "3.1.0",
diff --git a/demos/demo-react-ts/package.json b/demos/demo-react-ts/package.json
index 86eb270a..c30c31d3 100644
--- a/demos/demo-react-ts/package.json
+++ b/demos/demo-react-ts/package.json
@@ -18,7 +18,7 @@
     "node": ">=14"
   },
   "dependencies": {
-    "@hubspot/calling-extensions-sdk": "0.1.7",
+    "@hubspot/calling-extensions-sdk": "^0.1.8",
     "react": "^18.2.0",
     "react-aria": "^3.22.0",
     "react-dom": "^18.2.0",
diff --git a/package-lock.json b/package-lock.json
index cc852665..0d91daee 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "@hubspot/calling-extensions-sdk",
-  "version": "0.1.8-alpha.1",
+  "version": "0.1.8",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "@hubspot/calling-extensions-sdk",
-      "version": "0.1.8-alpha.1",
+      "version": "0.1.8",
       "license": "MIT",
       "devDependencies": {
         "@babel/cli": "^7.21.0",
diff --git a/package.json b/package.json
index 31af4868..3b3e70e5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@hubspot/calling-extensions-sdk",
-  "version": "0.1.8-alpha.1",
+  "version": "0.1.8",
   "description": "HubSpot calling extensions sdk for call widget integration.",
   "publishConfig": {
     "access": "public"