@ai-group/chat-sdk 3.6.5 → 3.6.7
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.
|
@@ -49,6 +49,56 @@ var getMessageEventId = function getMessageEventId(messageItem) {
|
|
|
49
49
|
var _messageItem$raw;
|
|
50
50
|
return messageItem.eventId || ((_messageItem$raw = messageItem.raw) === null || _messageItem$raw === void 0 ? void 0 : _messageItem$raw.id);
|
|
51
51
|
};
|
|
52
|
+
var deduplicateMessages = function deduplicateMessages(messageItems) {
|
|
53
|
+
var seenMessageIds = new Set();
|
|
54
|
+
var hasDuplicate = false;
|
|
55
|
+
var uniqueIdMessages = messageItems.filter(function (messageItem) {
|
|
56
|
+
if (seenMessageIds.has(messageItem.id)) {
|
|
57
|
+
hasDuplicate = true;
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
seenMessageIds.add(messageItem.id);
|
|
61
|
+
return true;
|
|
62
|
+
});
|
|
63
|
+
var botTextGroups = new Map();
|
|
64
|
+
uniqueIdMessages.forEach(function (messageItem) {
|
|
65
|
+
var eventId = getMessageEventId(messageItem);
|
|
66
|
+
if (messageItem.role !== "bot" || !eventId || typeof messageItem.text !== "string") return;
|
|
67
|
+
var normalizedText = messageItem.text.replace(/\s+/g, " ").trim();
|
|
68
|
+
if (!normalizedText) return;
|
|
69
|
+
var fileKey = (messageItem.fileData || []).map(function (file) {
|
|
70
|
+
return file.fileUri;
|
|
71
|
+
}).join("|");
|
|
72
|
+
var groupKey = "".concat(eventId, "\0").concat(Boolean(messageItem.thought), "\0").concat(fileKey);
|
|
73
|
+
var group = botTextGroups.get(groupKey) || [];
|
|
74
|
+
group.push({
|
|
75
|
+
messageItem: messageItem,
|
|
76
|
+
normalizedText: normalizedText
|
|
77
|
+
});
|
|
78
|
+
botTextGroups.set(groupKey, group);
|
|
79
|
+
});
|
|
80
|
+
var redundantMessageIds = new Set();
|
|
81
|
+
botTextGroups.forEach(function (group) {
|
|
82
|
+
var completeTexts = [];
|
|
83
|
+
_toConsumableArray(group).sort(function (a, b) {
|
|
84
|
+
return b.normalizedText.length - a.normalizedText.length;
|
|
85
|
+
}).forEach(function (_ref) {
|
|
86
|
+
var messageItem = _ref.messageItem,
|
|
87
|
+
normalizedText = _ref.normalizedText;
|
|
88
|
+
if (completeTexts.some(function (completeText) {
|
|
89
|
+
return completeText.includes(normalizedText);
|
|
90
|
+
})) {
|
|
91
|
+
redundantMessageIds.add(messageItem.id);
|
|
92
|
+
hasDuplicate = true;
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
completeTexts.push(normalizedText);
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
return hasDuplicate ? uniqueIdMessages.filter(function (messageItem) {
|
|
99
|
+
return !redundantMessageIds.has(messageItem.id);
|
|
100
|
+
}) : messageItems;
|
|
101
|
+
};
|
|
52
102
|
var mapSessionMessages = function mapSessionMessages(sessionEvents) {
|
|
53
103
|
var mapped = [];
|
|
54
104
|
sessionEvents.forEach(function (item) {
|
|
@@ -232,22 +282,22 @@ var insertMissingSessionEvents = function insertMissingSessionEvents(currentMess
|
|
|
232
282
|
|
|
233
283
|
// 后台会话连接状态
|
|
234
284
|
|
|
235
|
-
function useADKChat(
|
|
285
|
+
function useADKChat(_ref2) {
|
|
236
286
|
var _config$session$pollS, _config$session, _config$session$sessi, _config$session2;
|
|
237
|
-
var
|
|
238
|
-
url =
|
|
239
|
-
token =
|
|
240
|
-
|
|
241
|
-
config =
|
|
242
|
-
|
|
243
|
-
type =
|
|
244
|
-
|
|
245
|
-
enabled =
|
|
246
|
-
strategies =
|
|
247
|
-
onError =
|
|
248
|
-
onMessage =
|
|
249
|
-
onSuccess =
|
|
250
|
-
onStream =
|
|
287
|
+
var _ref2$url = _ref2.url,
|
|
288
|
+
url = _ref2$url === void 0 ? window.location.origin : _ref2$url,
|
|
289
|
+
token = _ref2.token,
|
|
290
|
+
_ref2$config = _ref2.config,
|
|
291
|
+
config = _ref2$config === void 0 ? {} : _ref2$config,
|
|
292
|
+
_ref2$type = _ref2.type,
|
|
293
|
+
type = _ref2$type === void 0 ? "agentDebug" : _ref2$type,
|
|
294
|
+
_ref2$enabled = _ref2.enabled,
|
|
295
|
+
enabled = _ref2$enabled === void 0 ? true : _ref2$enabled,
|
|
296
|
+
strategies = _ref2.strategies,
|
|
297
|
+
onError = _ref2.onError,
|
|
298
|
+
onMessage = _ref2.onMessage,
|
|
299
|
+
onSuccess = _ref2.onSuccess,
|
|
300
|
+
onStream = _ref2.onStream;
|
|
251
301
|
var _useState = useState(false),
|
|
252
302
|
_useState2 = _slicedToArray(_useState, 2),
|
|
253
303
|
loading = _useState2[0],
|
|
@@ -266,9 +316,9 @@ function useADKChat(_ref) {
|
|
|
266
316
|
var tokenRef = useRef(token);
|
|
267
317
|
tokenRef.current = token;
|
|
268
318
|
// 应用配置
|
|
269
|
-
var
|
|
270
|
-
appNo =
|
|
271
|
-
showFirstSession =
|
|
319
|
+
var _ref3 = config || {},
|
|
320
|
+
appNo = _ref3.appNo,
|
|
321
|
+
showFirstSession = _ref3.showFirstSession;
|
|
272
322
|
var pollSessionEvents = (_config$session$pollS = config === null || config === void 0 || (_config$session = config.session) === null || _config$session === void 0 ? void 0 : _config$session.pollSessionEvents) !== null && _config$session$pollS !== void 0 ? _config$session$pollS : true;
|
|
273
323
|
var sessionEventsPollingInterval = Math.max((_config$session$sessi = config === null || config === void 0 || (_config$session2 = config.session) === null || _config$session2 === void 0 ? void 0 : _config$session2.sessionEventsPollingInterval) !== null && _config$session$sessi !== void 0 ? _config$session$sessi : DEFAULT_SESSION_EVENTS_POLLING_INTERVAL, 1000);
|
|
274
324
|
var _useState5 = useState(null),
|
|
@@ -330,13 +380,14 @@ function useADKChat(_ref) {
|
|
|
330
380
|
currentSessionIdRef.current = currentSessionId;
|
|
331
381
|
var mergedMessages = useMemo(function () {
|
|
332
382
|
var fnResMap = {};
|
|
333
|
-
|
|
383
|
+
var uniqueMessages = deduplicateMessages(messages);
|
|
384
|
+
uniqueMessages.forEach(function (msg) {
|
|
334
385
|
if (msg.functionResponse) {
|
|
335
386
|
var _msg$functionResponse;
|
|
336
387
|
fnResMap[(msg === null || msg === void 0 || (_msg$functionResponse = msg.functionResponse) === null || _msg$functionResponse === void 0 ? void 0 : _msg$functionResponse.id) || ""] = msg.functionResponse;
|
|
337
388
|
}
|
|
338
389
|
});
|
|
339
|
-
return
|
|
390
|
+
return uniqueMessages.map(function (msg) {
|
|
340
391
|
if (msg.functionCall) {
|
|
341
392
|
var _msg$functionCall;
|
|
342
393
|
return _objectSpread(_objectSpread({}, msg), {}, {
|
|
@@ -842,12 +893,12 @@ function useADKChat(_ref) {
|
|
|
842
893
|
|
|
843
894
|
// 发送会话
|
|
844
895
|
var startChat = /*#__PURE__*/function () {
|
|
845
|
-
var
|
|
846
|
-
var
|
|
896
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref4) {
|
|
897
|
+
var _ref4$text, text, _ref4$files, files, functionResponse;
|
|
847
898
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
848
899
|
while (1) switch (_context2.prev = _context2.next) {
|
|
849
900
|
case 0:
|
|
850
|
-
|
|
901
|
+
_ref4$text = _ref4.text, text = _ref4$text === void 0 ? "" : _ref4$text, _ref4$files = _ref4.files, files = _ref4$files === void 0 ? [] : _ref4$files, functionResponse = _ref4.functionResponse;
|
|
851
902
|
if (!(loadingRef.current || sendingRef.current)) {
|
|
852
903
|
_context2.next = 3;
|
|
853
904
|
break;
|
|
@@ -939,13 +990,13 @@ function useADKChat(_ref) {
|
|
|
939
990
|
}, _callee2, null, [[8,, 11, 14]]);
|
|
940
991
|
}));
|
|
941
992
|
return function startChat(_x) {
|
|
942
|
-
return
|
|
993
|
+
return _ref5.apply(this, arguments);
|
|
943
994
|
};
|
|
944
995
|
}();
|
|
945
996
|
|
|
946
997
|
// 重新发送会话
|
|
947
998
|
var reChat = /*#__PURE__*/function () {
|
|
948
|
-
var
|
|
999
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
949
1000
|
var lastUserIndex, newMessages, lastUserMessage, _lastUserMessage$text, text, _lastUserMessage$file, fileData;
|
|
950
1001
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
951
1002
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -1013,7 +1064,7 @@ function useADKChat(_ref) {
|
|
|
1013
1064
|
}, _callee3, null, [[14,, 17, 20]]);
|
|
1014
1065
|
}));
|
|
1015
1066
|
return function reChat() {
|
|
1016
|
-
return
|
|
1067
|
+
return _ref6.apply(this, arguments);
|
|
1017
1068
|
};
|
|
1018
1069
|
}();
|
|
1019
1070
|
|
|
@@ -1077,7 +1128,7 @@ function useADKChat(_ref) {
|
|
|
1077
1128
|
|
|
1078
1129
|
// 设置当前会话详情
|
|
1079
1130
|
var setCurrentSession = /*#__PURE__*/function () {
|
|
1080
|
-
var
|
|
1131
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(sessionId) {
|
|
1081
1132
|
var prevSessionId, bg, _yield$fetchSessionDe, data, result, _appInfo$onboardingIn3, _appInfo$onboardingIn4;
|
|
1082
1133
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1083
1134
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -1178,13 +1229,13 @@ function useADKChat(_ref) {
|
|
|
1178
1229
|
}, _callee4, null, [[21,, 28, 32]]);
|
|
1179
1230
|
}));
|
|
1180
1231
|
return function setCurrentSession(_x2) {
|
|
1181
|
-
return
|
|
1232
|
+
return _ref7.apply(this, arguments);
|
|
1182
1233
|
};
|
|
1183
1234
|
}();
|
|
1184
1235
|
|
|
1185
1236
|
// 获取聊天记录
|
|
1186
1237
|
var initAppConversations = /*#__PURE__*/function () {
|
|
1187
|
-
var
|
|
1238
|
+
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
1188
1239
|
var fetchDetail,
|
|
1189
1240
|
_yield$fetchSessionLi,
|
|
1190
1241
|
_yield$fetchSessionLi2,
|
|
@@ -1288,13 +1339,13 @@ function useADKChat(_ref) {
|
|
|
1288
1339
|
}, _callee5, null, [[1, 13, 16, 19]]);
|
|
1289
1340
|
}));
|
|
1290
1341
|
return function initAppConversations() {
|
|
1291
|
-
return
|
|
1342
|
+
return _ref8.apply(this, arguments);
|
|
1292
1343
|
};
|
|
1293
1344
|
}();
|
|
1294
1345
|
|
|
1295
1346
|
// 删除会话
|
|
1296
1347
|
var deleteSession = /*#__PURE__*/function () {
|
|
1297
|
-
var
|
|
1348
|
+
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(sessionId) {
|
|
1298
1349
|
var _yield$closeSession, result;
|
|
1299
1350
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1300
1351
|
while (1) switch (_context6.prev = _context6.next) {
|
|
@@ -1332,13 +1383,13 @@ function useADKChat(_ref) {
|
|
|
1332
1383
|
}, _callee6);
|
|
1333
1384
|
}));
|
|
1334
1385
|
return function deleteSession(_x3) {
|
|
1335
|
-
return
|
|
1386
|
+
return _ref9.apply(this, arguments);
|
|
1336
1387
|
};
|
|
1337
1388
|
}();
|
|
1338
1389
|
|
|
1339
1390
|
// 点赞/点踩
|
|
1340
1391
|
var likeMessage = /*#__PURE__*/function () {
|
|
1341
|
-
var
|
|
1392
|
+
var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(invocationId, isLike, feedbackData) {
|
|
1342
1393
|
var _yield$addFeedback, result;
|
|
1343
1394
|
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1344
1395
|
while (1) switch (_context7.prev = _context7.next) {
|
|
@@ -1381,13 +1432,13 @@ function useADKChat(_ref) {
|
|
|
1381
1432
|
}, _callee7);
|
|
1382
1433
|
}));
|
|
1383
1434
|
return function likeMessage(_x4, _x5, _x6) {
|
|
1384
|
-
return
|
|
1435
|
+
return _ref10.apply(this, arguments);
|
|
1385
1436
|
};
|
|
1386
1437
|
}();
|
|
1387
1438
|
|
|
1388
1439
|
// 更新会话名称
|
|
1389
1440
|
var updateSession = /*#__PURE__*/function () {
|
|
1390
|
-
var
|
|
1441
|
+
var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(sessionId, title) {
|
|
1391
1442
|
var _yield$updateSessionT, result;
|
|
1392
1443
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
1393
1444
|
while (1) switch (_context8.prev = _context8.next) {
|
|
@@ -1422,13 +1473,13 @@ function useADKChat(_ref) {
|
|
|
1422
1473
|
}, _callee8);
|
|
1423
1474
|
}));
|
|
1424
1475
|
return function updateSession(_x7, _x8) {
|
|
1425
|
-
return
|
|
1476
|
+
return _ref11.apply(this, arguments);
|
|
1426
1477
|
};
|
|
1427
1478
|
}();
|
|
1428
1479
|
|
|
1429
1480
|
// 初始化应用
|
|
1430
1481
|
var initConfig = /*#__PURE__*/function () {
|
|
1431
|
-
var
|
|
1482
|
+
var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
|
|
1432
1483
|
var _yield$fetchAppConfig, data, result;
|
|
1433
1484
|
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
1434
1485
|
while (1) switch (_context9.prev = _context9.next) {
|
|
@@ -1479,7 +1530,7 @@ function useADKChat(_ref) {
|
|
|
1479
1530
|
}, _callee9, null, [[0, 10, 13, 16]]);
|
|
1480
1531
|
}));
|
|
1481
1532
|
return function initConfig() {
|
|
1482
|
-
return
|
|
1533
|
+
return _ref12.apply(this, arguments);
|
|
1483
1534
|
};
|
|
1484
1535
|
}();
|
|
1485
1536
|
|
|
@@ -1505,7 +1556,7 @@ function useADKChat(_ref) {
|
|
|
1505
1556
|
var requesting = false;
|
|
1506
1557
|
var pollingSessionId = currentSessionId;
|
|
1507
1558
|
var poll = /*#__PURE__*/function () {
|
|
1508
|
-
var
|
|
1559
|
+
var _ref13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
|
|
1509
1560
|
var _yield$fetchSessionDe2, data, result;
|
|
1510
1561
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
1511
1562
|
while (1) switch (_context10.prev = _context10.next) {
|
|
@@ -1548,7 +1599,7 @@ function useADKChat(_ref) {
|
|
|
1548
1599
|
}, _callee10, null, [[3, 12, 14, 17]]);
|
|
1549
1600
|
}));
|
|
1550
1601
|
return function poll() {
|
|
1551
|
-
return
|
|
1602
|
+
return _ref13.apply(this, arguments);
|
|
1552
1603
|
};
|
|
1553
1604
|
}();
|
|
1554
1605
|
void poll();
|