@ai-group/chat-sdk 3.6.5 → 3.6.6
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,60 @@ 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 getMessageInvocationId = function getMessageInvocationId(messageItem) {
|
|
53
|
+
var _messageItem$raw2;
|
|
54
|
+
return messageItem.invocationId || ((_messageItem$raw2 = messageItem.raw) === null || _messageItem$raw2 === void 0 ? void 0 : _messageItem$raw2.invocationId);
|
|
55
|
+
};
|
|
56
|
+
var deduplicateMessages = function deduplicateMessages(messageItems) {
|
|
57
|
+
var seenMessageIds = new Set();
|
|
58
|
+
var hasDuplicate = false;
|
|
59
|
+
var uniqueIdMessages = messageItems.filter(function (messageItem) {
|
|
60
|
+
if (seenMessageIds.has(messageItem.id)) {
|
|
61
|
+
hasDuplicate = true;
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
seenMessageIds.add(messageItem.id);
|
|
65
|
+
return true;
|
|
66
|
+
});
|
|
67
|
+
var botTextGroups = new Map();
|
|
68
|
+
uniqueIdMessages.forEach(function (messageItem) {
|
|
69
|
+
var invocationId = getMessageInvocationId(messageItem);
|
|
70
|
+
if (messageItem.role !== "bot" || !invocationId || typeof messageItem.text !== "string") return;
|
|
71
|
+
var normalizedText = messageItem.text.replace(/\s+/g, " ").trim();
|
|
72
|
+
if (!normalizedText) return;
|
|
73
|
+
var fileKey = (messageItem.fileData || []).map(function (file) {
|
|
74
|
+
return file.fileUri;
|
|
75
|
+
}).join("|");
|
|
76
|
+
var groupKey = "".concat(invocationId, "\0").concat(Boolean(messageItem.thought), "\0").concat(fileKey);
|
|
77
|
+
var group = botTextGroups.get(groupKey) || [];
|
|
78
|
+
group.push({
|
|
79
|
+
messageItem: messageItem,
|
|
80
|
+
normalizedText: normalizedText
|
|
81
|
+
});
|
|
82
|
+
botTextGroups.set(groupKey, group);
|
|
83
|
+
});
|
|
84
|
+
var redundantMessageIds = new Set();
|
|
85
|
+
botTextGroups.forEach(function (group) {
|
|
86
|
+
var completeTexts = [];
|
|
87
|
+
_toConsumableArray(group).sort(function (a, b) {
|
|
88
|
+
return b.normalizedText.length - a.normalizedText.length;
|
|
89
|
+
}).forEach(function (_ref) {
|
|
90
|
+
var messageItem = _ref.messageItem,
|
|
91
|
+
normalizedText = _ref.normalizedText;
|
|
92
|
+
if (completeTexts.some(function (completeText) {
|
|
93
|
+
return completeText.includes(normalizedText);
|
|
94
|
+
})) {
|
|
95
|
+
redundantMessageIds.add(messageItem.id);
|
|
96
|
+
hasDuplicate = true;
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
completeTexts.push(normalizedText);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
return hasDuplicate ? uniqueIdMessages.filter(function (messageItem) {
|
|
103
|
+
return !redundantMessageIds.has(messageItem.id);
|
|
104
|
+
}) : messageItems;
|
|
105
|
+
};
|
|
52
106
|
var mapSessionMessages = function mapSessionMessages(sessionEvents) {
|
|
53
107
|
var mapped = [];
|
|
54
108
|
sessionEvents.forEach(function (item) {
|
|
@@ -205,10 +259,10 @@ var insertMissingSessionEvents = function insertMissingSessionEvents(currentMess
|
|
|
205
259
|
return [event.id, index];
|
|
206
260
|
}));
|
|
207
261
|
var getMessageOrder = function getMessageOrder(messageItem) {
|
|
208
|
-
var _messageItem$timestam, _messageItem$
|
|
262
|
+
var _messageItem$timestam, _messageItem$raw3;
|
|
209
263
|
var eventId = getMessageEventId(messageItem);
|
|
210
264
|
if (eventId && eventOrder.has(eventId)) return eventOrder.get(eventId);
|
|
211
|
-
var timestamp = (_messageItem$timestam = messageItem.timestamp) !== null && _messageItem$timestam !== void 0 ? _messageItem$timestam : (_messageItem$
|
|
265
|
+
var timestamp = (_messageItem$timestam = messageItem.timestamp) !== null && _messageItem$timestam !== void 0 ? _messageItem$timestam : (_messageItem$raw3 = messageItem.raw) === null || _messageItem$raw3 === void 0 ? void 0 : _messageItem$raw3.timestamp;
|
|
212
266
|
if (timestamp !== undefined) {
|
|
213
267
|
var nextEventIndex = sessionEvents.findIndex(function (event) {
|
|
214
268
|
return (event.timestamp || 0) > timestamp;
|
|
@@ -232,22 +286,22 @@ var insertMissingSessionEvents = function insertMissingSessionEvents(currentMess
|
|
|
232
286
|
|
|
233
287
|
// 后台会话连接状态
|
|
234
288
|
|
|
235
|
-
function useADKChat(
|
|
289
|
+
function useADKChat(_ref2) {
|
|
236
290
|
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 =
|
|
291
|
+
var _ref2$url = _ref2.url,
|
|
292
|
+
url = _ref2$url === void 0 ? window.location.origin : _ref2$url,
|
|
293
|
+
token = _ref2.token,
|
|
294
|
+
_ref2$config = _ref2.config,
|
|
295
|
+
config = _ref2$config === void 0 ? {} : _ref2$config,
|
|
296
|
+
_ref2$type = _ref2.type,
|
|
297
|
+
type = _ref2$type === void 0 ? "agentDebug" : _ref2$type,
|
|
298
|
+
_ref2$enabled = _ref2.enabled,
|
|
299
|
+
enabled = _ref2$enabled === void 0 ? true : _ref2$enabled,
|
|
300
|
+
strategies = _ref2.strategies,
|
|
301
|
+
onError = _ref2.onError,
|
|
302
|
+
onMessage = _ref2.onMessage,
|
|
303
|
+
onSuccess = _ref2.onSuccess,
|
|
304
|
+
onStream = _ref2.onStream;
|
|
251
305
|
var _useState = useState(false),
|
|
252
306
|
_useState2 = _slicedToArray(_useState, 2),
|
|
253
307
|
loading = _useState2[0],
|
|
@@ -266,9 +320,9 @@ function useADKChat(_ref) {
|
|
|
266
320
|
var tokenRef = useRef(token);
|
|
267
321
|
tokenRef.current = token;
|
|
268
322
|
// 应用配置
|
|
269
|
-
var
|
|
270
|
-
appNo =
|
|
271
|
-
showFirstSession =
|
|
323
|
+
var _ref3 = config || {},
|
|
324
|
+
appNo = _ref3.appNo,
|
|
325
|
+
showFirstSession = _ref3.showFirstSession;
|
|
272
326
|
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
327
|
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
328
|
var _useState5 = useState(null),
|
|
@@ -330,13 +384,14 @@ function useADKChat(_ref) {
|
|
|
330
384
|
currentSessionIdRef.current = currentSessionId;
|
|
331
385
|
var mergedMessages = useMemo(function () {
|
|
332
386
|
var fnResMap = {};
|
|
333
|
-
|
|
387
|
+
var uniqueMessages = deduplicateMessages(messages);
|
|
388
|
+
uniqueMessages.forEach(function (msg) {
|
|
334
389
|
if (msg.functionResponse) {
|
|
335
390
|
var _msg$functionResponse;
|
|
336
391
|
fnResMap[(msg === null || msg === void 0 || (_msg$functionResponse = msg.functionResponse) === null || _msg$functionResponse === void 0 ? void 0 : _msg$functionResponse.id) || ""] = msg.functionResponse;
|
|
337
392
|
}
|
|
338
393
|
});
|
|
339
|
-
return
|
|
394
|
+
return uniqueMessages.map(function (msg) {
|
|
340
395
|
if (msg.functionCall) {
|
|
341
396
|
var _msg$functionCall;
|
|
342
397
|
return _objectSpread(_objectSpread({}, msg), {}, {
|
|
@@ -842,12 +897,12 @@ function useADKChat(_ref) {
|
|
|
842
897
|
|
|
843
898
|
// 发送会话
|
|
844
899
|
var startChat = /*#__PURE__*/function () {
|
|
845
|
-
var
|
|
846
|
-
var
|
|
900
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref4) {
|
|
901
|
+
var _ref4$text, text, _ref4$files, files, functionResponse;
|
|
847
902
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
848
903
|
while (1) switch (_context2.prev = _context2.next) {
|
|
849
904
|
case 0:
|
|
850
|
-
|
|
905
|
+
_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
906
|
if (!(loadingRef.current || sendingRef.current)) {
|
|
852
907
|
_context2.next = 3;
|
|
853
908
|
break;
|
|
@@ -939,13 +994,13 @@ function useADKChat(_ref) {
|
|
|
939
994
|
}, _callee2, null, [[8,, 11, 14]]);
|
|
940
995
|
}));
|
|
941
996
|
return function startChat(_x) {
|
|
942
|
-
return
|
|
997
|
+
return _ref5.apply(this, arguments);
|
|
943
998
|
};
|
|
944
999
|
}();
|
|
945
1000
|
|
|
946
1001
|
// 重新发送会话
|
|
947
1002
|
var reChat = /*#__PURE__*/function () {
|
|
948
|
-
var
|
|
1003
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
949
1004
|
var lastUserIndex, newMessages, lastUserMessage, _lastUserMessage$text, text, _lastUserMessage$file, fileData;
|
|
950
1005
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
951
1006
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -1013,7 +1068,7 @@ function useADKChat(_ref) {
|
|
|
1013
1068
|
}, _callee3, null, [[14,, 17, 20]]);
|
|
1014
1069
|
}));
|
|
1015
1070
|
return function reChat() {
|
|
1016
|
-
return
|
|
1071
|
+
return _ref6.apply(this, arguments);
|
|
1017
1072
|
};
|
|
1018
1073
|
}();
|
|
1019
1074
|
|
|
@@ -1077,7 +1132,7 @@ function useADKChat(_ref) {
|
|
|
1077
1132
|
|
|
1078
1133
|
// 设置当前会话详情
|
|
1079
1134
|
var setCurrentSession = /*#__PURE__*/function () {
|
|
1080
|
-
var
|
|
1135
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(sessionId) {
|
|
1081
1136
|
var prevSessionId, bg, _yield$fetchSessionDe, data, result, _appInfo$onboardingIn3, _appInfo$onboardingIn4;
|
|
1082
1137
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1083
1138
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -1178,13 +1233,13 @@ function useADKChat(_ref) {
|
|
|
1178
1233
|
}, _callee4, null, [[21,, 28, 32]]);
|
|
1179
1234
|
}));
|
|
1180
1235
|
return function setCurrentSession(_x2) {
|
|
1181
|
-
return
|
|
1236
|
+
return _ref7.apply(this, arguments);
|
|
1182
1237
|
};
|
|
1183
1238
|
}();
|
|
1184
1239
|
|
|
1185
1240
|
// 获取聊天记录
|
|
1186
1241
|
var initAppConversations = /*#__PURE__*/function () {
|
|
1187
|
-
var
|
|
1242
|
+
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
1188
1243
|
var fetchDetail,
|
|
1189
1244
|
_yield$fetchSessionLi,
|
|
1190
1245
|
_yield$fetchSessionLi2,
|
|
@@ -1288,13 +1343,13 @@ function useADKChat(_ref) {
|
|
|
1288
1343
|
}, _callee5, null, [[1, 13, 16, 19]]);
|
|
1289
1344
|
}));
|
|
1290
1345
|
return function initAppConversations() {
|
|
1291
|
-
return
|
|
1346
|
+
return _ref8.apply(this, arguments);
|
|
1292
1347
|
};
|
|
1293
1348
|
}();
|
|
1294
1349
|
|
|
1295
1350
|
// 删除会话
|
|
1296
1351
|
var deleteSession = /*#__PURE__*/function () {
|
|
1297
|
-
var
|
|
1352
|
+
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(sessionId) {
|
|
1298
1353
|
var _yield$closeSession, result;
|
|
1299
1354
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1300
1355
|
while (1) switch (_context6.prev = _context6.next) {
|
|
@@ -1332,13 +1387,13 @@ function useADKChat(_ref) {
|
|
|
1332
1387
|
}, _callee6);
|
|
1333
1388
|
}));
|
|
1334
1389
|
return function deleteSession(_x3) {
|
|
1335
|
-
return
|
|
1390
|
+
return _ref9.apply(this, arguments);
|
|
1336
1391
|
};
|
|
1337
1392
|
}();
|
|
1338
1393
|
|
|
1339
1394
|
// 点赞/点踩
|
|
1340
1395
|
var likeMessage = /*#__PURE__*/function () {
|
|
1341
|
-
var
|
|
1396
|
+
var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(invocationId, isLike, feedbackData) {
|
|
1342
1397
|
var _yield$addFeedback, result;
|
|
1343
1398
|
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1344
1399
|
while (1) switch (_context7.prev = _context7.next) {
|
|
@@ -1381,13 +1436,13 @@ function useADKChat(_ref) {
|
|
|
1381
1436
|
}, _callee7);
|
|
1382
1437
|
}));
|
|
1383
1438
|
return function likeMessage(_x4, _x5, _x6) {
|
|
1384
|
-
return
|
|
1439
|
+
return _ref10.apply(this, arguments);
|
|
1385
1440
|
};
|
|
1386
1441
|
}();
|
|
1387
1442
|
|
|
1388
1443
|
// 更新会话名称
|
|
1389
1444
|
var updateSession = /*#__PURE__*/function () {
|
|
1390
|
-
var
|
|
1445
|
+
var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(sessionId, title) {
|
|
1391
1446
|
var _yield$updateSessionT, result;
|
|
1392
1447
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
1393
1448
|
while (1) switch (_context8.prev = _context8.next) {
|
|
@@ -1422,13 +1477,13 @@ function useADKChat(_ref) {
|
|
|
1422
1477
|
}, _callee8);
|
|
1423
1478
|
}));
|
|
1424
1479
|
return function updateSession(_x7, _x8) {
|
|
1425
|
-
return
|
|
1480
|
+
return _ref11.apply(this, arguments);
|
|
1426
1481
|
};
|
|
1427
1482
|
}();
|
|
1428
1483
|
|
|
1429
1484
|
// 初始化应用
|
|
1430
1485
|
var initConfig = /*#__PURE__*/function () {
|
|
1431
|
-
var
|
|
1486
|
+
var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
|
|
1432
1487
|
var _yield$fetchAppConfig, data, result;
|
|
1433
1488
|
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
1434
1489
|
while (1) switch (_context9.prev = _context9.next) {
|
|
@@ -1479,7 +1534,7 @@ function useADKChat(_ref) {
|
|
|
1479
1534
|
}, _callee9, null, [[0, 10, 13, 16]]);
|
|
1480
1535
|
}));
|
|
1481
1536
|
return function initConfig() {
|
|
1482
|
-
return
|
|
1537
|
+
return _ref12.apply(this, arguments);
|
|
1483
1538
|
};
|
|
1484
1539
|
}();
|
|
1485
1540
|
|
|
@@ -1505,7 +1560,7 @@ function useADKChat(_ref) {
|
|
|
1505
1560
|
var requesting = false;
|
|
1506
1561
|
var pollingSessionId = currentSessionId;
|
|
1507
1562
|
var poll = /*#__PURE__*/function () {
|
|
1508
|
-
var
|
|
1563
|
+
var _ref13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
|
|
1509
1564
|
var _yield$fetchSessionDe2, data, result;
|
|
1510
1565
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
1511
1566
|
while (1) switch (_context10.prev = _context10.next) {
|
|
@@ -1548,7 +1603,7 @@ function useADKChat(_ref) {
|
|
|
1548
1603
|
}, _callee10, null, [[3, 12, 14, 17]]);
|
|
1549
1604
|
}));
|
|
1550
1605
|
return function poll() {
|
|
1551
|
-
return
|
|
1606
|
+
return _ref13.apply(this, arguments);
|
|
1552
1607
|
};
|
|
1553
1608
|
}();
|
|
1554
1609
|
void poll();
|