@almaviacx/gge-toolkit-service 2.9.1 → 2.9.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.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/models/CallTask.d.ts +11 -0
- package/dist/models/CallTask.js +3 -0
- package/dist/models/CallTask.js.map +1 -0
- package/dist/models/Context.d.ts +1 -0
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.js +1 -0
- package/dist/models/index.js.map +1 -1
- package/dist/tests/almavia-twilio-runtime.js +1 -0
- package/dist/tests/almavia-twilio-runtime.js.map +1 -1
- package/dist/utils/voiceCall.d.ts +8 -0
- package/dist/utils/voiceCall.js +298 -0
- package/dist/utils/voiceCall.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.conversationUtil = exports.calendarUtil = exports.flexFlowsUtil = exports.workerUtil = exports.videoUtil = exports.phonenumber = exports.getCustomMessage = exports.callReason = void 0;
|
|
26
|
+
exports.voiceCallUtil = exports.conversationUtil = exports.calendarUtil = exports.flexFlowsUtil = exports.workerUtil = exports.videoUtil = exports.phonenumber = exports.getCustomMessage = exports.callReason = void 0;
|
|
27
27
|
exports.callReason = __importStar(require("./utils/callreason"));
|
|
28
28
|
var message_1 = require("./utils/message");
|
|
29
29
|
Object.defineProperty(exports, "getCustomMessage", { enumerable: true, get: function () { return message_1.getCustomMessage; } });
|
|
@@ -33,4 +33,5 @@ exports.workerUtil = __importStar(require("./utils/worker"));
|
|
|
33
33
|
exports.flexFlowsUtil = __importStar(require("./utils/flexFlows"));
|
|
34
34
|
exports.calendarUtil = __importStar(require("./utils/calendar"));
|
|
35
35
|
exports.conversationUtil = __importStar(require("./utils/conversation"));
|
|
36
|
+
exports.voiceCallUtil = __importStar(require("./utils/voiceCall"));
|
|
36
37
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAiD;AACjD,2CAAmD;AAA1C,2GAAA,gBAAgB,OAAA;AACzB,mEAAmD;AACnD,2DAA2C;AAC3C,6DAA6C;AAC7C,mEAAmD;AACnD,iEAAiD;AACjD,yEAAyD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAiD;AACjD,2CAAmD;AAA1C,2GAAA,gBAAgB,OAAA;AACzB,mEAAmD;AACnD,2DAA2C;AAC3C,6DAA6C;AAC7C,mEAAmD;AACnD,iEAAiD;AACjD,yEAAyD;AACzD,mEAAmD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare type CallTask = {
|
|
2
|
+
callType: "Inbound" | "Outbound";
|
|
3
|
+
toPhoneNumber: string;
|
|
4
|
+
fromPhoneNumber: string;
|
|
5
|
+
recordingUrl: string;
|
|
6
|
+
recordingSid: string;
|
|
7
|
+
externalId: string;
|
|
8
|
+
recordId: string;
|
|
9
|
+
workerSid?: string;
|
|
10
|
+
workerEmail?: string;
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CallTask.js","sourceRoot":"","sources":["../../src/models/CallTask.ts"],"names":[],"mappings":""}
|
package/dist/models/Context.d.ts
CHANGED
package/dist/models/index.d.ts
CHANGED
package/dist/models/index.js
CHANGED
|
@@ -21,4 +21,5 @@ __exportStar(require("./Worker"), exports);
|
|
|
21
21
|
__exportStar(require("./Activity"), exports);
|
|
22
22
|
__exportStar(require("./Calendar"), exports);
|
|
23
23
|
__exportStar(require("./Conversation"), exports);
|
|
24
|
+
__exportStar(require("./CallTask"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
package/dist/models/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,wDAAsC;AACtC,6CAA2B;AAC3B,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,wDAAsC;AACtC,6CAA2B;AAC3B,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,iDAA+B;AAC/B,6CAA2B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"almavia-twilio-runtime.js","sourceRoot":"","sources":["../../src/tests/almavia-twilio-runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"almavia-twilio-runtime.js","sourceRoot":"","sources":["../../src/tests/almavia-twilio-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Context, CallTask } from "../models";
|
|
2
|
+
export declare const createVoiceCall: (context: Context, callData: CallTask, voiceCallMediaProvider: string) => Promise<{
|
|
3
|
+
voiceCallId: any;
|
|
4
|
+
uploadUrl: any;
|
|
5
|
+
} | undefined>;
|
|
6
|
+
export declare const uploadRecording: (context: Context, uploadUrl: string, recordingURL: string) => Promise<void>;
|
|
7
|
+
export declare const updateVoiceCall: (context: Context, voiceCallId: string, data: any) => Promise<void>;
|
|
8
|
+
export declare const updateVoiceCallTranscription: (context: Context, voiceCallId: string, voiceCallField: string, transcriptSid: string) => Promise<void>;
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (_) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.updateVoiceCallTranscription = exports.updateVoiceCall = exports.uploadRecording = exports.createVoiceCall = void 0;
|
|
51
|
+
var twilio_toolkit_service_1 = require("@almaviacx/twilio-toolkit-service");
|
|
52
|
+
var getUserId = function (context, client, callData) { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
+
var logger, workerSid, workerEmail, data, cacheExisting, workerCache, error_1, query, callResult, error_2, error_3;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
logger = context.logger;
|
|
58
|
+
workerSid = callData.workerSid;
|
|
59
|
+
workerEmail = callData.workerEmail;
|
|
60
|
+
data = undefined;
|
|
61
|
+
cacheExisting = false;
|
|
62
|
+
logger.info("[sf_voicecall] Get user Id for ".concat(workerSid, "/").concat(workerEmail));
|
|
63
|
+
_a.label = 1;
|
|
64
|
+
case 1:
|
|
65
|
+
_a.trys.push([1, 3, , 4]);
|
|
66
|
+
return [4 /*yield*/, client.sync.v1
|
|
67
|
+
.services(context.SERVICE_MISC)
|
|
68
|
+
.syncMaps(context.MAP_EMAIL)
|
|
69
|
+
.syncMapItems(workerEmail)
|
|
70
|
+
.fetch()];
|
|
71
|
+
case 2:
|
|
72
|
+
workerCache = _a.sent();
|
|
73
|
+
data = workerCache.data;
|
|
74
|
+
cacheExisting = true;
|
|
75
|
+
return [3 /*break*/, 4];
|
|
76
|
+
case 3:
|
|
77
|
+
error_1 = _a.sent();
|
|
78
|
+
logger.debug("[sf_voicecall] Can't read cache for ".concat(workerEmail), error_1);
|
|
79
|
+
data = { sid: workerSid };
|
|
80
|
+
return [3 /*break*/, 4];
|
|
81
|
+
case 4:
|
|
82
|
+
if (data.sfId) {
|
|
83
|
+
logger.debug("[sf_voicecall] SF user id loaded from cache for ".concat(workerEmail, " : ").concat(data.sfId));
|
|
84
|
+
return [2 /*return*/, data.sfId];
|
|
85
|
+
}
|
|
86
|
+
_a.label = 5;
|
|
87
|
+
case 5:
|
|
88
|
+
_a.trys.push([5, 7, , 8]);
|
|
89
|
+
query = encodeURIComponent("Select Id FROM User WHERE CORE_FLEX_Twilio_SID__c='".concat(workerSid, "'"));
|
|
90
|
+
return [4 /*yield*/, twilio_toolkit_service_1.callSfdc.callApi("services/data/v57.0/query?q=".concat(query), context, {}, 30000, "get", false)];
|
|
91
|
+
case 6:
|
|
92
|
+
callResult = _a.sent();
|
|
93
|
+
if (callResult && callResult.records && callResult.records.length) {
|
|
94
|
+
data.sfId = callResult.records[0].Id;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
logger.error("[sf_voicecall] No user id found in SF for ".concat(workerSid));
|
|
98
|
+
return [2 /*return*/, undefined];
|
|
99
|
+
}
|
|
100
|
+
return [3 /*break*/, 8];
|
|
101
|
+
case 7:
|
|
102
|
+
error_2 = _a.sent();
|
|
103
|
+
logger.error("[sf_voicecall] Error getting user id in SF", error_2);
|
|
104
|
+
return [2 /*return*/, undefined];
|
|
105
|
+
case 8:
|
|
106
|
+
_a.trys.push([8, 13, , 14]);
|
|
107
|
+
if (!cacheExisting) return [3 /*break*/, 10];
|
|
108
|
+
return [4 /*yield*/, client.sync.v1
|
|
109
|
+
.services(context.SERVICE_MISC)
|
|
110
|
+
.syncMaps(context.MAP_EMAIL)
|
|
111
|
+
.syncMapItems(workerEmail)
|
|
112
|
+
.update({ data: data })];
|
|
113
|
+
case 9:
|
|
114
|
+
_a.sent();
|
|
115
|
+
logger.debug("[sf_voicecall] Cache updated for ".concat(workerEmail, " : ").concat(data.sfId));
|
|
116
|
+
return [3 /*break*/, 12];
|
|
117
|
+
case 10: return [4 /*yield*/, client.sync.v1
|
|
118
|
+
.services(context.SERVICE_MISC)
|
|
119
|
+
.syncMaps(context.MAP_EMAIL)
|
|
120
|
+
.syncMapItems.create({ key: workerEmail, data: data, ttl: 24 * 60 * 60 })];
|
|
121
|
+
case 11:
|
|
122
|
+
_a.sent();
|
|
123
|
+
logger.debug("[sf_voicecall] Cache created for ".concat(workerEmail, " : ").concat(data.sfId));
|
|
124
|
+
_a.label = 12;
|
|
125
|
+
case 12: return [3 /*break*/, 14];
|
|
126
|
+
case 13:
|
|
127
|
+
error_3 = _a.sent();
|
|
128
|
+
logger.error("[sf_voicecall] Can't update cache for ".concat(workerEmail), error_3);
|
|
129
|
+
return [3 /*break*/, 14];
|
|
130
|
+
case 14: return [2 /*return*/, data.sfId];
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}); };
|
|
134
|
+
var getRecording = function (context, client, callData) { return __awaiter(void 0, void 0, void 0, function () {
|
|
135
|
+
var logger, recordingSid, dateCreated, dateUpdated, recording;
|
|
136
|
+
return __generator(this, function (_a) {
|
|
137
|
+
switch (_a.label) {
|
|
138
|
+
case 0:
|
|
139
|
+
logger = context.logger;
|
|
140
|
+
recordingSid = callData.recordingSid;
|
|
141
|
+
if (!recordingSid) {
|
|
142
|
+
dateCreated = new Date();
|
|
143
|
+
dateUpdated = new Date();
|
|
144
|
+
dateCreated.setSeconds(dateCreated.getSeconds() - 1);
|
|
145
|
+
return [2 /*return*/, {
|
|
146
|
+
dateCreated: dateCreated,
|
|
147
|
+
dateUpdated: dateUpdated,
|
|
148
|
+
duration: 1
|
|
149
|
+
}];
|
|
150
|
+
}
|
|
151
|
+
return [4 /*yield*/, client.recordings(recordingSid).fetch()];
|
|
152
|
+
case 1:
|
|
153
|
+
recording = _a.sent();
|
|
154
|
+
if (!(recording.status !== 'completed')) return [3 /*break*/, 4];
|
|
155
|
+
logger.debug("[sf_voicecall] Recording ".concat(recordingSid, " is not completed. Waiting for completion..."), recording);
|
|
156
|
+
return [4 /*yield*/, twilio_toolkit_service_1.miscUtils.sleep(1000)];
|
|
157
|
+
case 2:
|
|
158
|
+
_a.sent();
|
|
159
|
+
return [4 /*yield*/, getRecording(context, client, callData)];
|
|
160
|
+
case 3: return [2 /*return*/, _a.sent()];
|
|
161
|
+
case 4:
|
|
162
|
+
logger.info("[sf_voicecall] Get recording ".concat(recordingSid), recording);
|
|
163
|
+
return [2 /*return*/, recording];
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
}); };
|
|
167
|
+
var createVoiceCall = function (context, callData, voiceCallMediaProvider) { return __awaiter(void 0, void 0, void 0, function () {
|
|
168
|
+
var client, logger, _a, recording, userId, userData, recMode, voicecallsData, result, error_4;
|
|
169
|
+
return __generator(this, function (_b) {
|
|
170
|
+
switch (_b.label) {
|
|
171
|
+
case 0:
|
|
172
|
+
client = context.getTwilioClient();
|
|
173
|
+
logger = context.logger;
|
|
174
|
+
_b.label = 1;
|
|
175
|
+
case 1:
|
|
176
|
+
_b.trys.push([1, 4, , 5]);
|
|
177
|
+
return [4 /*yield*/, Promise.all([
|
|
178
|
+
getRecording(context, client, callData),
|
|
179
|
+
getUserId(context, client, callData)
|
|
180
|
+
])];
|
|
181
|
+
case 2:
|
|
182
|
+
_a = _b.sent(), recording = _a[0], userId = _a[1];
|
|
183
|
+
userData = userId ? { userId: userId } : { userEmail: callData.workerEmail };
|
|
184
|
+
recMode = context.REC_MODE || "mono";
|
|
185
|
+
voicecallsData = {
|
|
186
|
+
calls: [
|
|
187
|
+
__assign({ toPhoneNumber: callData.toPhoneNumber, fromPhoneNumber: callData.fromPhoneNumber, startDateTime: recording.dateCreated.toISOString(), endDateTime: recording.dateUpdated.toISOString(), callType: callData.callType, recordingDuration: recording.duration > 0 ? recording.duration : 1, numberChannels: recMode === "mono" ? 1 : 2, externalId: callData.externalId, recordingFormat: "mp3", recordId: callData.recordId, mediaProviderId: voiceCallMediaProvider }, userData)
|
|
188
|
+
]
|
|
189
|
+
};
|
|
190
|
+
logger.info("[sf_voicecall] Send voice call", voicecallsData);
|
|
191
|
+
return [4 /*yield*/, twilio_toolkit_service_1.callSfdc.callApi("services/data/v64.0/voicecalls", context, voicecallsData, 30000, "post", false)];
|
|
192
|
+
case 3:
|
|
193
|
+
result = _b.sent();
|
|
194
|
+
logger.info("[sf_voicecall] Send voice call result", result);
|
|
195
|
+
if (result.calls && result.calls.length) {
|
|
196
|
+
return [2 /*return*/, {
|
|
197
|
+
voiceCallId: result.calls[0].voiceCallId,
|
|
198
|
+
uploadUrl: result.calls[0].uploadUrl.substring(context.SFDC_URL.length)
|
|
199
|
+
}];
|
|
200
|
+
}
|
|
201
|
+
return [3 /*break*/, 5];
|
|
202
|
+
case 4:
|
|
203
|
+
error_4 = _b.sent();
|
|
204
|
+
logger.error("[sf_voicecall] Exception occured creating voice call", error_4);
|
|
205
|
+
return [3 /*break*/, 5];
|
|
206
|
+
case 5: return [2 /*return*/, undefined];
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
}); };
|
|
210
|
+
exports.createVoiceCall = createVoiceCall;
|
|
211
|
+
var uploadRecording = function (context, uploadUrl, recordingURL) { return __awaiter(void 0, void 0, void 0, function () {
|
|
212
|
+
var logger, uploadData, uploadResult, error_5;
|
|
213
|
+
return __generator(this, function (_a) {
|
|
214
|
+
switch (_a.label) {
|
|
215
|
+
case 0:
|
|
216
|
+
logger = context.logger;
|
|
217
|
+
uploadData = { recordingURL: recordingURL, name: "no_authentication" };
|
|
218
|
+
_a.label = 1;
|
|
219
|
+
case 1:
|
|
220
|
+
_a.trys.push([1, 3, , 4]);
|
|
221
|
+
logger.info("[sf_voicecall] Upload url", uploadData);
|
|
222
|
+
return [4 /*yield*/, twilio_toolkit_service_1.callSfdc.callApi(uploadUrl, context, uploadData, 30000, "post", false, "multipart/form-data")];
|
|
223
|
+
case 2:
|
|
224
|
+
uploadResult = _a.sent();
|
|
225
|
+
logger.info("[sf_voicecall] Upload url result", uploadResult);
|
|
226
|
+
return [3 /*break*/, 4];
|
|
227
|
+
case 3:
|
|
228
|
+
error_5 = _a.sent();
|
|
229
|
+
logger.error("[sf_voicecall] Exception occured uploading recording", error_5);
|
|
230
|
+
return [3 /*break*/, 4];
|
|
231
|
+
case 4: return [2 /*return*/];
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
}); };
|
|
235
|
+
exports.uploadRecording = uploadRecording;
|
|
236
|
+
var updateVoiceCall = function (context, voiceCallId, data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
237
|
+
var logger, result, error_6;
|
|
238
|
+
return __generator(this, function (_a) {
|
|
239
|
+
switch (_a.label) {
|
|
240
|
+
case 0:
|
|
241
|
+
logger = context.logger;
|
|
242
|
+
_a.label = 1;
|
|
243
|
+
case 1:
|
|
244
|
+
_a.trys.push([1, 3, , 4]);
|
|
245
|
+
return [4 /*yield*/, twilio_toolkit_service_1.callSfdc.callApi("services/data/v66.0/sobjects/voicecall/".concat(voiceCallId), context, data, 30000, "patch", false)];
|
|
246
|
+
case 2:
|
|
247
|
+
result = _a.sent();
|
|
248
|
+
logger.info("[sf_voicecall] Update voice call ".concat(voiceCallId, " result"), result);
|
|
249
|
+
return [3 /*break*/, 4];
|
|
250
|
+
case 3:
|
|
251
|
+
error_6 = _a.sent();
|
|
252
|
+
logger.error("[sf_voicecall] Update voice call error", error_6);
|
|
253
|
+
return [3 /*break*/, 4];
|
|
254
|
+
case 4: return [2 /*return*/];
|
|
255
|
+
}
|
|
256
|
+
});
|
|
257
|
+
}); };
|
|
258
|
+
exports.updateVoiceCall = updateVoiceCall;
|
|
259
|
+
var updateVoiceCallTranscription = function (context, voiceCallId, voiceCallField, transcriptSid) { return __awaiter(void 0, void 0, void 0, function () {
|
|
260
|
+
var logger, client, _a, transcript, sentences, callSid, participants, result, data;
|
|
261
|
+
return __generator(this, function (_b) {
|
|
262
|
+
switch (_b.label) {
|
|
263
|
+
case 0:
|
|
264
|
+
logger = context.logger;
|
|
265
|
+
client = context.getTwilioClient();
|
|
266
|
+
return [4 /*yield*/, Promise.all([
|
|
267
|
+
client.intelligence.v2.transcripts(transcriptSid).fetch(),
|
|
268
|
+
client.intelligence.v2.transcripts(transcriptSid).sentences.list()
|
|
269
|
+
])];
|
|
270
|
+
case 1:
|
|
271
|
+
_a = _b.sent(), transcript = _a[0], sentences = _a[1];
|
|
272
|
+
callSid = transcript.channel.media_properties.source_sid;
|
|
273
|
+
participants = [];
|
|
274
|
+
transcript.channel.participants.forEach(function (p) {
|
|
275
|
+
participants[p.channel_participant] = p.full_name.startsWith('client') ? 'agent' : 'customer';
|
|
276
|
+
});
|
|
277
|
+
result = sentences.map(function (s) { return ({
|
|
278
|
+
start: s.startTime,
|
|
279
|
+
text: s.transcript,
|
|
280
|
+
user: participants[s.mediaChannel]
|
|
281
|
+
}); });
|
|
282
|
+
logger.debug("[sf_voicecall] Transcription for call ".concat(callSid), result);
|
|
283
|
+
data = {};
|
|
284
|
+
data[voiceCallField] = JSON.stringify(result);
|
|
285
|
+
return [4 /*yield*/, (0, exports.updateVoiceCall)(context, voiceCallId, data)];
|
|
286
|
+
case 2:
|
|
287
|
+
_b.sent();
|
|
288
|
+
// remove transcript from Twilio after update SFDC
|
|
289
|
+
return [4 /*yield*/, client.intelligence.v2.transcripts(transcriptSid).remove()];
|
|
290
|
+
case 3:
|
|
291
|
+
// remove transcript from Twilio after update SFDC
|
|
292
|
+
_b.sent();
|
|
293
|
+
return [2 /*return*/];
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
}); };
|
|
297
|
+
exports.updateVoiceCallTranscription = updateVoiceCallTranscription;
|
|
298
|
+
//# sourceMappingURL=voiceCall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voiceCall.js","sourceRoot":"","sources":["../../src/utils/voiceCall.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAAwE;AAGxE,IAAM,SAAS,GAAG,UAAO,OAAgB,EAAE,MAAW,EAAE,QAAkB;;;;;gBAC9D,MAAM,GAAK,OAAO,OAAZ,CAAa;gBACrB,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;gBAC/B,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACrC,IAAI,GAAG,SAAS,CAAC;gBACjB,aAAa,GAAG,KAAK,CAAC;gBAE1B,MAAM,CAAC,IAAI,CAAC,yCAAkC,SAAS,cAAI,WAAW,CAAE,CAAC,CAAC;;;;gBAGlD,qBAAM,MAAM,CAAC,IAAI,CAAC,EAAE;yBACnC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;yBAC9B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;yBAC3B,YAAY,CAAC,WAAW,CAAC;yBACzB,KAAK,EAAE,EAAA;;gBAJN,WAAW,GAAG,SAIR;gBACZ,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;gBACxB,aAAa,GAAG,IAAI,CAAC;;;;gBAGrB,MAAM,CAAC,KAAK,CAAC,8CAAuC,WAAW,CAAE,EAAE,OAAK,CAAC,CAAC;gBAC1E,IAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;;;gBAG9B,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,MAAM,CAAC,KAAK,CAAC,0DAAmD,WAAW,gBAAM,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;oBAC9F,sBAAO,IAAI,CAAC,IAAI,EAAC;iBACpB;;;;gBAGS,KAAK,GAAG,kBAAkB,CAAC,6DAAsD,SAAS,MAAG,CAAC,CAAC;gBAClF,qBAAM,iCAAQ,CAAC,OAAO,CAAC,sCAA+B,KAAK,CAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAA;;gBAA7G,UAAU,GAAG,SAAgG;gBAEnH,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE;oBAC/D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxC;qBAAM;oBACH,MAAM,CAAC,KAAK,CAAC,oDAA6C,SAAS,CAAE,CAAC,CAAC;oBACvE,sBAAO,SAAS,EAAC;iBACpB;;;;gBAGD,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,OAAK,CAAC,CAAC;gBAClE,sBAAO,SAAS,EAAC;;;qBAIb,aAAa,EAAb,yBAAa;gBACb,qBAAM,MAAM,CAAC,IAAI,CAAC,EAAE;yBACf,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;yBAC9B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;yBAC3B,YAAY,CAAC,WAAW,CAAC;yBACzB,MAAM,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;gBAJrB,SAIqB,CAAC;gBAEtB,MAAM,CAAC,KAAK,CAAC,2CAAoC,WAAW,gBAAM,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;;qBAE/E,qBAAM,MAAM,CAAC,IAAI,CAAC,EAAE;qBACf,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;qBAC9B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;qBAC3B,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,MAAA,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,EAAA;;gBAHvE,SAGuE,CAAC;gBAExE,MAAM,CAAC,KAAK,CAAC,2CAAoC,WAAW,gBAAM,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;;;;;gBAInF,MAAM,CAAC,KAAK,CAAC,gDAAyC,WAAW,CAAE,EAAE,OAAK,CAAC,CAAC;;qBAGhF,sBAAO,IAAI,CAAC,IAAI,EAAC;;;KACpB,CAAC;AAEF,IAAM,YAAY,GAAG,UAAO,OAAgB,EAAE,MAAW,EAAE,QAAkB;;;;;gBACjE,MAAM,GAAK,OAAO,OAAZ,CAAa;gBACrB,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAE3C,IAAI,CAAC,YAAY,EAAE;oBACT,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;oBACzB,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;oBAE/B,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;oBAErD,sBAAO;4BACH,WAAW,aAAA;4BACX,WAAW,aAAA;4BACX,QAAQ,EAAE,CAAC;yBACd,EAAC;iBACL;gBAEiB,qBAAM,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAA;;gBAAzD,SAAS,GAAG,SAA6C;qBAE3D,CAAA,SAAS,CAAC,MAAM,KAAK,WAAW,CAAA,EAAhC,wBAAgC;gBAChC,MAAM,CAAC,KAAK,CAAC,mCAA4B,YAAY,iDAA8C,EAAE,SAAS,CAAC,CAAC;gBAChH,qBAAM,kCAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA;;gBAA3B,SAA2B,CAAC;gBACrB,qBAAM,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAA;oBAApD,sBAAO,SAA6C,EAAC;;gBAGzD,MAAM,CAAC,IAAI,CAAC,uCAAgC,YAAY,CAAE,EAAE,SAAS,CAAC,CAAC;gBACvE,sBAAO,SAAS,EAAC;;;KACpB,CAAC;AAEK,IAAM,eAAe,GAAG,UAAO,OAAgB,EAAE,QAAkB,EAAE,sBAA8B;;;;;gBAChG,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;gBACjC,MAAM,GAAK,OAAO,OAAZ,CAAa;;;;gBAGK,qBAAM,OAAO,CAAC,GAAG,CAAC;wBAC1C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;wBACvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;qBACvC,CAAC,EAAA;;gBAHI,KAAsB,SAG1B,EAHK,SAAS,QAAA,EAAE,MAAM,QAAA;gBAKlB,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAErE,OAAO,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;gBAErC,cAAc,GAAG;oBACnB,KAAK,EAAE;mCAEC,aAAa,EAAE,QAAQ,CAAC,aAAa,EACrC,eAAe,EAAE,QAAQ,CAAC,eAAe,EACzC,aAAa,EAAE,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,EAClD,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,EAChD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,iBAAiB,EAAE,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAClE,cAAc,EAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1C,UAAU,EAAE,QAAQ,CAAC,UAAU,EAC/B,eAAe,EAAE,KAAK,EACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,eAAe,EAAE,sBAAsB,IACpC,QAAQ;qBAElB;iBACJ,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAAC;gBAE/C,qBAAM,iCAAQ,CAAC,OAAO,CAAC,gCAAgC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAA;;gBAAhH,MAAM,GAAG,SAAuG;gBAEtH,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAC;gBAE7D,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;oBACrC,sBAAO;4BACH,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW;4BACxC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;yBAC1E,EAAC;iBACL;;;;gBAGD,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,OAAK,CAAC,CAAC;;oBAGhF,sBAAO,SAAS,EAAC;;;KACpB,CAAC;AAnDW,QAAA,eAAe,mBAmD1B;AAEK,IAAM,eAAe,GAAG,UAAO,OAAgB,EAAE,SAAiB,EAAE,YAAoB;;;;;gBACnF,MAAM,GAAK,OAAO,OAAZ,CAAa;gBACrB,UAAU,GAAG,EAAE,YAAY,cAAA,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;;;;gBAG3D,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;gBAEhC,qBAAM,iCAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,EAAA;;gBAAlH,YAAY,GAAG,SAAmG;gBAExH,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,YAAY,CAAC,CAAC;;;;gBAG9D,MAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,OAAK,CAAC,CAAC;;;;;KAEnF,CAAC;AAdW,QAAA,eAAe,mBAc1B;AAEK,IAAM,eAAe,GAAG,UAAO,OAAgB,EAAE,WAAmB,EAAE,IAAS;;;;;gBAC1E,MAAM,GAAK,OAAO,OAAZ,CAAa;;;;gBAGR,qBAAM,iCAAQ,CAAC,OAAO,CAAC,iDAA0C,WAAW,CAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAA;;gBAA9H,MAAM,GAAG,SAAqH;gBACpI,MAAM,CAAC,IAAI,CAAC,2CAAoC,WAAW,YAAS,EAAE,MAAM,CAAC,CAAC;;;;gBAG9E,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,OAAK,CAAC,CAAC;;;;;KAErE,CAAC;AAVW,QAAA,eAAe,mBAU1B;AAEK,IAAM,4BAA4B,GAAG,UAAO,OAAgB,EAAE,WAAmB,EAAE,cAAsB,EAAE,aAAqB;;;;;gBAC3H,MAAM,GAAK,OAAO,OAAZ,CAAa;gBACrB,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;gBAET,qBAAM,OAAO,CAAC,GAAG,CAAC;wBAC9C,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE;wBACzD,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;qBACrE,CAAC,EAAA;;gBAHI,KAA0B,SAG9B,EAHK,UAAU,QAAA,EAAE,SAAS,QAAA;gBAKtB,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC;gBACzD,YAAY,GAAQ,EAAE,CAAC;gBAE7B,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,CAAM;oBAC3C,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;gBAClG,CAAC,CAAC,CAAC;gBAEG,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC;oBACtC,KAAK,EAAE,CAAC,CAAC,SAAS;oBAClB,IAAI,EAAE,CAAC,CAAC,UAAU;oBAClB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;iBACrC,CAAC,EAJuC,CAIvC,CAAC,CAAC;gBAEJ,MAAM,CAAC,KAAK,CAAC,gDAAyC,OAAO,CAAE,EAAE,MAAM,CAAC,CAAC;gBAEnE,IAAI,GAAQ,EAAE,CAAC;gBACrB,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAE9C,qBAAM,IAAA,uBAAe,EAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAA;;gBAAjD,SAAiD,CAAC;gBAElD,kDAAkD;gBAClD,qBAAM,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAA;;gBADhE,kDAAkD;gBAClD,SAAgE,CAAC;;;;KACpE,CAAC;AA/BW,QAAA,4BAA4B,gCA+BvC"}
|