@scout9/app 1.0.0-alpha.0.7.1 → 1.0.0-alpha.0.7.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/{dev-b1573a91.cjs → dev-d2f96a9d.cjs} +2 -2
- package/dist/{index-ee8d473f.cjs → index-5a88279c.cjs} +6 -6
- package/dist/index.cjs +3 -3
- package/dist/{multipart-parser-5a398f28.cjs → multipart-parser-d0654ebb.cjs} +3 -3
- package/dist/{spirits-8ee2b3b6.cjs → spirits-51104a4a.cjs} +69 -34
- package/dist/spirits.cjs +1 -1
- package/dist/testing-tools.cjs +2 -2
- package/package.json +1 -1
- package/src/testing-tools/spirits.js +44 -17
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var spirits = require("./spirits-
|
|
3
|
+
var spirits = require("./spirits-51104a4a.cjs");
|
|
4
4
|
var require$$0$4 = require('util');
|
|
5
5
|
var require$$0$3 = require('stream');
|
|
6
6
|
var require$$1 = require('path');
|
|
@@ -35241,7 +35241,7 @@ function _loadUserPackageJson() {
|
|
|
35241
35241
|
targetPkgUrl = isTest ? packageTestJsonUrl : packageJsonUrl;
|
|
35242
35242
|
_context2.t0 = JSON;
|
|
35243
35243
|
_context2.next = 10;
|
|
35244
|
-
return fs__default["default"].readFile(new URL(targetPkgUrl, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('dev-
|
|
35244
|
+
return fs__default["default"].readFile(new URL(targetPkgUrl, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('dev-d2f96a9d.js', document.baseURI).href))), 'utf-8');
|
|
35245
35245
|
case 10:
|
|
35246
35246
|
_context2.t1 = _context2.sent;
|
|
35247
35247
|
pkg = _context2.t0.parse.call(_context2.t0, _context2.t1);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var spirits = require("./spirits-
|
|
4
|
-
var dev = require("./dev-
|
|
3
|
+
var spirits = require("./spirits-51104a4a.cjs");
|
|
4
|
+
var dev = require("./dev-d2f96a9d.cjs");
|
|
5
5
|
var macros = require("./macros-22b2e0b8.cjs");
|
|
6
6
|
var require$$0 = require('fs');
|
|
7
7
|
var require$$2$1 = require('events');
|
|
@@ -29483,7 +29483,7 @@ class Body {
|
|
|
29483
29483
|
}
|
|
29484
29484
|
const {
|
|
29485
29485
|
toFormData
|
|
29486
|
-
} = await Promise.resolve().then(function () { return require("./multipart-parser-
|
|
29486
|
+
} = await Promise.resolve().then(function () { return require("./multipart-parser-d0654ebb.cjs"); });
|
|
29487
29487
|
return toFormData(this.body, ct);
|
|
29488
29488
|
}
|
|
29489
29489
|
|
|
@@ -41884,7 +41884,7 @@ function _loadUserPackageJson() {
|
|
|
41884
41884
|
targetPkgUrl = isTest ? packageTestJsonUrl : packageJsonUrl;
|
|
41885
41885
|
_context.t0 = JSON;
|
|
41886
41886
|
_context.next = 10;
|
|
41887
|
-
return fs__default["default"].readFile(new URL(targetPkgUrl, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-
|
|
41887
|
+
return fs__default["default"].readFile(new URL(targetPkgUrl, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-5a88279c.js', document.baseURI).href))), 'utf-8');
|
|
41888
41888
|
case 10:
|
|
41889
41889
|
_context.t1 = _context.sent;
|
|
41890
41890
|
pkg = _context.t0.parse.call(_context.t0, _context.t1);
|
|
@@ -43176,7 +43176,7 @@ var ProjectFiles = /*#__PURE__*/function () {
|
|
|
43176
43176
|
return ProjectFiles;
|
|
43177
43177
|
}();
|
|
43178
43178
|
|
|
43179
|
-
var __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-
|
|
43179
|
+
var __filename$1 = node_url.fileURLToPath((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-5a88279c.js', document.baseURI).href)));
|
|
43180
43180
|
var __dirname$1 = path__default["default"].dirname(__filename$1);
|
|
43181
43181
|
function zipDirectory(source, out) {
|
|
43182
43182
|
var archive = archiver$1('tar', {
|
|
@@ -43391,7 +43391,7 @@ function _buildApp() {
|
|
|
43391
43391
|
case 11:
|
|
43392
43392
|
_context4.t0 = JSON;
|
|
43393
43393
|
_context4.next = 14;
|
|
43394
|
-
return fs__default["default"].readFile(new URL(templatePackagePath, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-
|
|
43394
|
+
return fs__default["default"].readFile(new URL(templatePackagePath, (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index-5a88279c.js', document.baseURI).href))), 'utf-8');
|
|
43395
43395
|
case 14:
|
|
43396
43396
|
_context4.t1 = _context4.sent;
|
|
43397
43397
|
packageTemplate = _context4.t0.parse.call(_context4.t0, _context4.t1);
|
package/dist/index.cjs
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var index = require("./index-
|
|
6
|
-
var dev = require("./dev-
|
|
7
|
-
require("./spirits-
|
|
5
|
+
var index = require("./index-5a88279c.cjs");
|
|
6
|
+
var dev = require("./dev-d2f96a9d.cjs");
|
|
7
|
+
require("./spirits-51104a4a.cjs");
|
|
8
8
|
require("./macros-22b2e0b8.cjs");
|
|
9
9
|
require('fs');
|
|
10
10
|
require('events');
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
require('node:fs');
|
|
4
4
|
require('node:path');
|
|
5
|
-
var index = require("./index-
|
|
6
|
-
require("./spirits-
|
|
7
|
-
require("./dev-
|
|
5
|
+
var index = require("./index-5a88279c.cjs");
|
|
6
|
+
require("./spirits-51104a4a.cjs");
|
|
7
|
+
require("./dev-d2f96a9d.cjs");
|
|
8
8
|
require('util');
|
|
9
9
|
require('stream');
|
|
10
10
|
require('path');
|
|
@@ -807,22 +807,27 @@ var Spirits = {
|
|
|
807
807
|
_slot,
|
|
808
808
|
slotId,
|
|
809
809
|
_tasks2,
|
|
810
|
-
_iterator3,
|
|
811
|
-
_step3,
|
|
812
|
-
instruction,
|
|
813
810
|
_iterator4,
|
|
814
811
|
_step4,
|
|
812
|
+
instruction,
|
|
813
|
+
_iterator5,
|
|
814
|
+
_step5,
|
|
815
815
|
_loop,
|
|
816
816
|
manualMessageObj,
|
|
817
817
|
now,
|
|
818
818
|
generatorInput,
|
|
819
819
|
generatorPayload,
|
|
820
|
-
agentMessages,
|
|
821
|
-
lastAgentMessage,
|
|
822
820
|
_generatorPayload$ent,
|
|
823
821
|
_generatorPayload$con,
|
|
822
|
+
_generatorPayload$med,
|
|
823
|
+
agentMessages,
|
|
824
|
+
lastAgentMessage,
|
|
825
|
+
addedMessages,
|
|
824
826
|
_iterator2,
|
|
825
827
|
_step2,
|
|
828
|
+
newMessage,
|
|
829
|
+
_iterator3,
|
|
830
|
+
_step3,
|
|
826
831
|
transformResponse,
|
|
827
832
|
_agentMessages,
|
|
828
833
|
_lastAgentMessage,
|
|
@@ -1228,10 +1233,10 @@ var Spirits = {
|
|
|
1228
1233
|
_context2.next = 85;
|
|
1229
1234
|
break;
|
|
1230
1235
|
}
|
|
1231
|
-
|
|
1236
|
+
_iterator4 = _createForOfIteratorHelper(instructions);
|
|
1232
1237
|
try {
|
|
1233
|
-
for (
|
|
1234
|
-
instruction =
|
|
1238
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
1239
|
+
instruction = _step4.value;
|
|
1235
1240
|
if (typeof instruction === 'string') {
|
|
1236
1241
|
addInstruction(instruction, previousLockAttempt);
|
|
1237
1242
|
} else {
|
|
@@ -1239,9 +1244,9 @@ var Spirits = {
|
|
|
1239
1244
|
}
|
|
1240
1245
|
}
|
|
1241
1246
|
} catch (err) {
|
|
1242
|
-
|
|
1247
|
+
_iterator4.e(err);
|
|
1243
1248
|
} finally {
|
|
1244
|
-
|
|
1249
|
+
_iterator4.f();
|
|
1245
1250
|
}
|
|
1246
1251
|
_context2.next = 90;
|
|
1247
1252
|
break;
|
|
@@ -1260,14 +1265,14 @@ var Spirits = {
|
|
|
1260
1265
|
_context2.next = 107;
|
|
1261
1266
|
break;
|
|
1262
1267
|
}
|
|
1263
|
-
|
|
1268
|
+
_iterator5 = _createForOfIteratorHelper(removeInstructions);
|
|
1264
1269
|
_context2.prev = 92;
|
|
1265
1270
|
_loop = /*#__PURE__*/_regeneratorRuntime().mark(function _loop() {
|
|
1266
1271
|
var instructionId, index;
|
|
1267
1272
|
return _regeneratorRuntime().wrap(function _loop$(_context) {
|
|
1268
1273
|
while (1) switch (_context.prev = _context.next) {
|
|
1269
1274
|
case 0:
|
|
1270
|
-
instructionId =
|
|
1275
|
+
instructionId = _step5.value;
|
|
1271
1276
|
index = messages.findIndex(function (m) {
|
|
1272
1277
|
return m.id === instructionId;
|
|
1273
1278
|
});
|
|
@@ -1285,9 +1290,9 @@ var Spirits = {
|
|
|
1285
1290
|
}
|
|
1286
1291
|
}, _loop);
|
|
1287
1292
|
});
|
|
1288
|
-
|
|
1293
|
+
_iterator5.s();
|
|
1289
1294
|
case 95:
|
|
1290
|
-
if ((
|
|
1295
|
+
if ((_step5 = _iterator5.n()).done) {
|
|
1291
1296
|
_context2.next = 99;
|
|
1292
1297
|
break;
|
|
1293
1298
|
}
|
|
@@ -1301,10 +1306,10 @@ var Spirits = {
|
|
|
1301
1306
|
case 101:
|
|
1302
1307
|
_context2.prev = 101;
|
|
1303
1308
|
_context2.t1 = _context2["catch"](92);
|
|
1304
|
-
|
|
1309
|
+
_iterator5.e(_context2.t1);
|
|
1305
1310
|
case 104:
|
|
1306
1311
|
_context2.prev = 104;
|
|
1307
|
-
|
|
1312
|
+
_iterator5.f();
|
|
1308
1313
|
return _context2.finish(104);
|
|
1309
1314
|
case 107:
|
|
1310
1315
|
if (!manualMessage) {
|
|
@@ -1420,8 +1425,8 @@ var Spirits = {
|
|
|
1420
1425
|
progress('Generated response', 'failed', undefined, {
|
|
1421
1426
|
error: generatorPayload.error || 'Unknown Reason'
|
|
1422
1427
|
});
|
|
1423
|
-
console.error("Locking conversation, api returned send false: ".concat(generatorPayload.message), generatorPayload.error || 'Unknown Reason');
|
|
1424
|
-
conversation = lockConversation(conversation, 'API: ' + generatorPayload.error || 'Unknown Reason');
|
|
1428
|
+
console.error("Locking conversation, api returned send false: ".concat(generatorPayload.message), generatorPayload.error || generatorPayload.forwardNote || 'Unknown Reason');
|
|
1429
|
+
conversation = lockConversation(conversation, 'API: ' + generatorPayload.error || generatorPayload.forwardNote || 'Unknown Reason');
|
|
1425
1430
|
} else {
|
|
1426
1431
|
progress('Generated response', 'success', undefined, undefined);
|
|
1427
1432
|
// Check if already had message
|
|
@@ -1429,19 +1434,49 @@ var Spirits = {
|
|
|
1429
1434
|
return m.role === 'agent';
|
|
1430
1435
|
});
|
|
1431
1436
|
lastAgentMessage = agentMessages[agentMessages.length - 1];
|
|
1432
|
-
|
|
1437
|
+
addedMessages = [{
|
|
1438
|
+
id: idGenerator('agent'),
|
|
1439
|
+
content: generatorPayload.message,
|
|
1440
|
+
role: 'agent',
|
|
1441
|
+
time: new Date().toISOString(),
|
|
1442
|
+
entities: (_generatorPayload$ent = generatorPayload.entities) !== null && _generatorPayload$ent !== void 0 ? _generatorPayload$ent : [],
|
|
1443
|
+
context: (_generatorPayload$con = generatorPayload.context) !== null && _generatorPayload$con !== void 0 ? _generatorPayload$con : {},
|
|
1444
|
+
mediaUrls: (_generatorPayload$med = generatorPayload.mediaUrls) !== null && _generatorPayload$med !== void 0 ? _generatorPayload$med : []
|
|
1445
|
+
}].concat(_toConsumableArray(((generatorPayload === null || generatorPayload === void 0 ? void 0 : generatorPayload.addedMessages) || []).map(function (message) {
|
|
1446
|
+
var _message$time, _message$entities, _message$context;
|
|
1447
|
+
return {
|
|
1448
|
+
id: idGenerator('agent'),
|
|
1449
|
+
content: message.content,
|
|
1450
|
+
role: 'agent',
|
|
1451
|
+
time: ((_message$time = message.time) === null || _message$time === void 0 || (_message$time = _message$time.toDate()) === null || _message$time === void 0 ? void 0 : _message$time.toISOString()) || new Date().toISOString(),
|
|
1452
|
+
entities: (_message$entities = message.entities) !== null && _message$entities !== void 0 ? _message$entities : {},
|
|
1453
|
+
context: (_message$context = message.context) !== null && _message$context !== void 0 ? _message$context : {},
|
|
1454
|
+
mediaUrls: message.mediaUrls
|
|
1455
|
+
};
|
|
1456
|
+
}))).reduce(function (accumulator, message) {
|
|
1457
|
+
if (!accumulator.find(function (m) {
|
|
1458
|
+
return m.content === message.content;
|
|
1459
|
+
})) accumulator.push(message);
|
|
1460
|
+
return accumulator;
|
|
1461
|
+
}, []);
|
|
1462
|
+
if (lastAgentMessage && lastAgentMessage.content && addedMessages.some(function (message) {
|
|
1463
|
+
return message.content === lastAgentMessage.content;
|
|
1464
|
+
})) {
|
|
1433
1465
|
// Error should not have happened
|
|
1434
1466
|
conversation = lockConversation(conversation, 'Duplicate message');
|
|
1435
1467
|
} else {
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
})
|
|
1444
|
-
|
|
1468
|
+
_iterator2 = _createForOfIteratorHelper(addedMessages);
|
|
1469
|
+
try {
|
|
1470
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
1471
|
+
newMessage = _step2.value;
|
|
1472
|
+
messages.push(message);
|
|
1473
|
+
progress('Added agent message', 'info', 'ADD_MESSAGE', messages[messages.length - 1]);
|
|
1474
|
+
}
|
|
1475
|
+
} catch (err) {
|
|
1476
|
+
_iterator2.e(err);
|
|
1477
|
+
} finally {
|
|
1478
|
+
_iterator2.f();
|
|
1479
|
+
}
|
|
1445
1480
|
}
|
|
1446
1481
|
|
|
1447
1482
|
// Check if conversation was marked for forward (generator message still allowed to be sent)
|
|
@@ -1467,15 +1502,15 @@ var Spirits = {
|
|
|
1467
1502
|
break;
|
|
1468
1503
|
}
|
|
1469
1504
|
_context2.prev = 154;
|
|
1470
|
-
|
|
1505
|
+
_iterator3 = _createForOfIteratorHelper(messagesToTransform);
|
|
1471
1506
|
_context2.prev = 156;
|
|
1472
|
-
|
|
1507
|
+
_iterator3.s();
|
|
1473
1508
|
case 158:
|
|
1474
|
-
if ((
|
|
1509
|
+
if ((_step3 = _iterator3.n()).done) {
|
|
1475
1510
|
_context2.next = 169;
|
|
1476
1511
|
break;
|
|
1477
1512
|
}
|
|
1478
|
-
|
|
1513
|
+
_step3.value;
|
|
1479
1514
|
_context2.next = 162;
|
|
1480
1515
|
return transformer({
|
|
1481
1516
|
message: messagesToTransform,
|
|
@@ -1513,10 +1548,10 @@ var Spirits = {
|
|
|
1513
1548
|
case 171:
|
|
1514
1549
|
_context2.prev = 171;
|
|
1515
1550
|
_context2.t4 = _context2["catch"](156);
|
|
1516
|
-
|
|
1551
|
+
_iterator3.e(_context2.t4);
|
|
1517
1552
|
case 174:
|
|
1518
1553
|
_context2.prev = 174;
|
|
1519
|
-
|
|
1554
|
+
_iterator3.f();
|
|
1520
1555
|
return _context2.finish(174);
|
|
1521
1556
|
case 177:
|
|
1522
1557
|
_context2.next = 184;
|
package/dist/spirits.cjs
CHANGED
package/dist/testing-tools.cjs
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var dev = require("./dev-
|
|
6
|
-
require("./spirits-
|
|
5
|
+
var dev = require("./dev-d2f96a9d.cjs");
|
|
6
|
+
require("./spirits-51104a4a.cjs");
|
|
7
7
|
require('util');
|
|
8
8
|
require('stream');
|
|
9
9
|
require('path');
|
package/package.json
CHANGED
|
@@ -117,7 +117,8 @@ export const Spirits = {
|
|
|
117
117
|
* @param {(error: Error) => void} onError
|
|
118
118
|
* @returns {Promise<ConversationEvent>}
|
|
119
119
|
*/
|
|
120
|
-
customer: async function (input, onError = () => {
|
|
120
|
+
customer: async function (input, onError = () => {
|
|
121
|
+
}) {
|
|
121
122
|
const {
|
|
122
123
|
customer,
|
|
123
124
|
config,
|
|
@@ -433,7 +434,7 @@ export const Spirits = {
|
|
|
433
434
|
yes: anticipate.yes,
|
|
434
435
|
no: anticipate.no
|
|
435
436
|
},
|
|
436
|
-
did: anticipate.did
|
|
437
|
+
did: anticipate.did
|
|
437
438
|
});
|
|
438
439
|
} else {
|
|
439
440
|
throw new Error(`Invalid anticipate payload "${JSON.stringify(anticipate)}"`);
|
|
@@ -510,7 +511,8 @@ export const Spirits = {
|
|
|
510
511
|
} else if (typeof instructions === 'object' && 'content' in instructions) {
|
|
511
512
|
addInstruction(instructions.content, previousLockAttempt, instructions.id);
|
|
512
513
|
} else {
|
|
513
|
-
throw new Error(`SpiritsError: instructions must be a string or array or {content: "<instruction>"}, got: ${JSON.stringify(
|
|
514
|
+
throw new Error(`SpiritsError: instructions must be a string or array or {content: "<instruction>"}, got: ${JSON.stringify(
|
|
515
|
+
instructions)}`);
|
|
514
516
|
}
|
|
515
517
|
}
|
|
516
518
|
|
|
@@ -523,7 +525,8 @@ export const Spirits = {
|
|
|
523
525
|
messages.splice(index, 1);
|
|
524
526
|
progress('Remove instruction', 'info', 'REMOVE_MESSAGE', instructionId);
|
|
525
527
|
} else {
|
|
526
|
-
console.log(`Instruction not found "${instructionId}", other ids: ${messages.map(m => `"${m.id}"`)
|
|
528
|
+
console.log(`Instruction not found "${instructionId}", other ids: ${messages.map(m => `"${m.id}"`)
|
|
529
|
+
.join(', ')}`);
|
|
527
530
|
}
|
|
528
531
|
}
|
|
529
532
|
}
|
|
@@ -600,7 +603,7 @@ export const Spirits = {
|
|
|
600
603
|
context,
|
|
601
604
|
llm: config.llm,
|
|
602
605
|
pmt: config.pmt
|
|
603
|
-
}
|
|
606
|
+
};
|
|
604
607
|
|
|
605
608
|
if (!!_tasks && Array.isArray(_tasks) && !!_tasks.length) {
|
|
606
609
|
generatorInput.tasks = _tasks;
|
|
@@ -610,27 +613,51 @@ export const Spirits = {
|
|
|
610
613
|
progress('Generated response', 'failed', undefined, {error: generatorPayload.error || 'Unknown Reason'});
|
|
611
614
|
console.error(
|
|
612
615
|
`Locking conversation, api returned send false: ${generatorPayload.message}`,
|
|
613
|
-
generatorPayload.error || 'Unknown Reason'
|
|
616
|
+
generatorPayload.error || generatorPayload.forwardNote || 'Unknown Reason'
|
|
617
|
+
);
|
|
618
|
+
conversation = lockConversation(
|
|
619
|
+
conversation,
|
|
620
|
+
'API: ' + generatorPayload.error || generatorPayload.forwardNote || 'Unknown Reason'
|
|
614
621
|
);
|
|
615
|
-
conversation = lockConversation(conversation, 'API: ' + generatorPayload.error || 'Unknown Reason');
|
|
616
622
|
} else {
|
|
617
623
|
progress('Generated response', 'success', undefined, undefined);
|
|
618
624
|
// Check if already had message
|
|
619
625
|
const agentMessages = messages.filter(m => m.role === 'agent');
|
|
620
626
|
const lastAgentMessage = agentMessages[agentMessages.length - 1];
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
conversation = lockConversation(conversation, 'Duplicate message');
|
|
624
|
-
} else {
|
|
625
|
-
messages.push({
|
|
627
|
+
const addedMessages = [
|
|
628
|
+
{
|
|
626
629
|
id: idGenerator('agent'),
|
|
627
|
-
role: 'agent',
|
|
628
630
|
content: generatorPayload.message,
|
|
631
|
+
role: 'agent',
|
|
629
632
|
time: new Date().toISOString(),
|
|
630
633
|
entities: generatorPayload.entities ?? [],
|
|
631
|
-
context: generatorPayload.context ?? {}
|
|
632
|
-
|
|
633
|
-
|
|
634
|
+
context: generatorPayload.context ?? {},
|
|
635
|
+
mediaUrls: generatorPayload.mediaUrls ?? []
|
|
636
|
+
},
|
|
637
|
+
...(generatorPayload?.addedMessages || [])
|
|
638
|
+
.map((message) => ({
|
|
639
|
+
id: idGenerator('agent'),
|
|
640
|
+
content: message.content,
|
|
641
|
+
role: 'agent',
|
|
642
|
+
time: message.time?.toDate()?.toISOString() || new Date().toISOString(),
|
|
643
|
+
entities: message.entities ?? {},
|
|
644
|
+
context: message.context ?? {},
|
|
645
|
+
mediaUrls: message.mediaUrls
|
|
646
|
+
}))
|
|
647
|
+
]
|
|
648
|
+
.reduce((accumulator, message) => {
|
|
649
|
+
if (!accumulator.find(m => m.content === message.content)) accumulator.push(message);
|
|
650
|
+
return accumulator;
|
|
651
|
+
}, []);
|
|
652
|
+
|
|
653
|
+
if (lastAgentMessage && lastAgentMessage.content && addedMessages.some((message) => message.content === lastAgentMessage.content)) {
|
|
654
|
+
// Error should not have happened
|
|
655
|
+
conversation = lockConversation(conversation, 'Duplicate message');
|
|
656
|
+
} else {
|
|
657
|
+
for (const newMessage of addedMessages) {
|
|
658
|
+
messages.push(message);
|
|
659
|
+
progress('Added agent message', 'info', 'ADD_MESSAGE', messages[messages.length - 1]);
|
|
660
|
+
}
|
|
634
661
|
}
|
|
635
662
|
|
|
636
663
|
// Check if conversation was marked for forward (generator message still allowed to be sent)
|
|
@@ -688,7 +715,7 @@ export const Spirits = {
|
|
|
688
715
|
onError(e);
|
|
689
716
|
}
|
|
690
717
|
} else if (messagesToTransform.length) {
|
|
691
|
-
console.warn(`No transformer provided`)
|
|
718
|
+
console.warn(`No transformer provided`);
|
|
692
719
|
}
|
|
693
720
|
}
|
|
694
721
|
|