@ai-group/chat-sdk 3.6.4 → 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) {
|
|
@@ -145,12 +199,58 @@ var mapSessionMessages = function mapSessionMessages(sessionEvents) {
|
|
|
145
199
|
});
|
|
146
200
|
return mapped;
|
|
147
201
|
};
|
|
202
|
+
var getComparableMessageContent = function getComparableMessageContent(messageItem) {
|
|
203
|
+
var _messageItem$text;
|
|
204
|
+
return JSON.stringify({
|
|
205
|
+
role: messageItem.role,
|
|
206
|
+
text: ((_messageItem$text = messageItem.text) === null || _messageItem$text === void 0 ? void 0 : _messageItem$text.replace(/\r\n/g, "\n").trim()) || "",
|
|
207
|
+
thought: Boolean(messageItem.thought),
|
|
208
|
+
inlineData: messageItem.inlineData || null,
|
|
209
|
+
fileData: messageItem.fileData || null,
|
|
210
|
+
functionCall: messageItem.functionCall || null,
|
|
211
|
+
functionResponse: messageItem.functionResponse || null,
|
|
212
|
+
executableCode: messageItem.executableCode || null,
|
|
213
|
+
codeExecutionResult: messageItem.codeExecutionResult || null
|
|
214
|
+
});
|
|
215
|
+
};
|
|
216
|
+
var isStreamMessageWithoutServerEventId = function isStreamMessageWithoutServerEventId(messageItem) {
|
|
217
|
+
var eventId = getMessageEventId(messageItem);
|
|
218
|
+
return Boolean(messageItem.invocationId) && (!eventId || eventId === messageItem.invocationId);
|
|
219
|
+
};
|
|
148
220
|
var insertMissingSessionEvents = function insertMissingSessionEvents(currentMessages, sessionEvents) {
|
|
149
221
|
var renderedEventIds = new Set(currentMessages.map(getMessageEventId).filter(Boolean));
|
|
222
|
+
var unmatchedStreamMessageIndexes = new Set(currentMessages.map(function (messageItem, index) {
|
|
223
|
+
return isStreamMessageWithoutServerEventId(messageItem) ? index : -1;
|
|
224
|
+
}).filter(function (index) {
|
|
225
|
+
return index >= 0;
|
|
226
|
+
}));
|
|
150
227
|
var missingEvents = sessionEvents.filter(function (event) {
|
|
151
228
|
var _event$content, _event$content2;
|
|
152
229
|
var parts = (_event$content = event.content) === null || _event$content === void 0 ? void 0 : _event$content.parts;
|
|
153
|
-
|
|
230
|
+
var canRender = Boolean(event.id) && ((_event$content2 = event.content) === null || _event$content2 === void 0 ? void 0 : _event$content2.role) === "model" && Array.isArray(parts) && parts.length > 0;
|
|
231
|
+
if (!canRender || renderedEventIds.has(event.id)) return false;
|
|
232
|
+
|
|
233
|
+
// 新版 SSE 包装数据没有事件 id,只能临时使用 invocationId。
|
|
234
|
+
// 用 invocationId + 完整渲染内容做一次性身份对齐,避免会话轮询重复插入;
|
|
235
|
+
// 同 invocation 下内容不同或后续出现的事件,仍然按独立 event.id 补入。
|
|
236
|
+
var eventMessages = mapSessionMessages([event]);
|
|
237
|
+
var matchedIndexes = [];
|
|
238
|
+
var isRenderedByStream = eventMessages.length > 0 && eventMessages.every(function (eventMessage) {
|
|
239
|
+
var comparableContent = getComparableMessageContent(eventMessage);
|
|
240
|
+
var matchedIndex = currentMessages.findIndex(function (currentMessage, index) {
|
|
241
|
+
return unmatchedStreamMessageIndexes.has(index) && !matchedIndexes.includes(index) && currentMessage.invocationId === eventMessage.invocationId && getComparableMessageContent(currentMessage) === comparableContent;
|
|
242
|
+
});
|
|
243
|
+
if (matchedIndex < 0) return false;
|
|
244
|
+
matchedIndexes.push(matchedIndex);
|
|
245
|
+
return true;
|
|
246
|
+
});
|
|
247
|
+
if (isRenderedByStream) {
|
|
248
|
+
matchedIndexes.forEach(function (index) {
|
|
249
|
+
return unmatchedStreamMessageIndexes.delete(index);
|
|
250
|
+
});
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
return true;
|
|
154
254
|
});
|
|
155
255
|
if (missingEvents.length === 0) return currentMessages;
|
|
156
256
|
var missingMessages = mapSessionMessages(missingEvents);
|
|
@@ -159,10 +259,10 @@ var insertMissingSessionEvents = function insertMissingSessionEvents(currentMess
|
|
|
159
259
|
return [event.id, index];
|
|
160
260
|
}));
|
|
161
261
|
var getMessageOrder = function getMessageOrder(messageItem) {
|
|
162
|
-
var _messageItem$timestam, _messageItem$
|
|
262
|
+
var _messageItem$timestam, _messageItem$raw3;
|
|
163
263
|
var eventId = getMessageEventId(messageItem);
|
|
164
264
|
if (eventId && eventOrder.has(eventId)) return eventOrder.get(eventId);
|
|
165
|
-
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;
|
|
166
266
|
if (timestamp !== undefined) {
|
|
167
267
|
var nextEventIndex = sessionEvents.findIndex(function (event) {
|
|
168
268
|
return (event.timestamp || 0) > timestamp;
|
|
@@ -186,22 +286,22 @@ var insertMissingSessionEvents = function insertMissingSessionEvents(currentMess
|
|
|
186
286
|
|
|
187
287
|
// 后台会话连接状态
|
|
188
288
|
|
|
189
|
-
function useADKChat(
|
|
289
|
+
function useADKChat(_ref2) {
|
|
190
290
|
var _config$session$pollS, _config$session, _config$session$sessi, _config$session2;
|
|
191
|
-
var
|
|
192
|
-
url =
|
|
193
|
-
token =
|
|
194
|
-
|
|
195
|
-
config =
|
|
196
|
-
|
|
197
|
-
type =
|
|
198
|
-
|
|
199
|
-
enabled =
|
|
200
|
-
strategies =
|
|
201
|
-
onError =
|
|
202
|
-
onMessage =
|
|
203
|
-
onSuccess =
|
|
204
|
-
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;
|
|
205
305
|
var _useState = useState(false),
|
|
206
306
|
_useState2 = _slicedToArray(_useState, 2),
|
|
207
307
|
loading = _useState2[0],
|
|
@@ -220,9 +320,9 @@ function useADKChat(_ref) {
|
|
|
220
320
|
var tokenRef = useRef(token);
|
|
221
321
|
tokenRef.current = token;
|
|
222
322
|
// 应用配置
|
|
223
|
-
var
|
|
224
|
-
appNo =
|
|
225
|
-
showFirstSession =
|
|
323
|
+
var _ref3 = config || {},
|
|
324
|
+
appNo = _ref3.appNo,
|
|
325
|
+
showFirstSession = _ref3.showFirstSession;
|
|
226
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;
|
|
227
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);
|
|
228
328
|
var _useState5 = useState(null),
|
|
@@ -284,13 +384,14 @@ function useADKChat(_ref) {
|
|
|
284
384
|
currentSessionIdRef.current = currentSessionId;
|
|
285
385
|
var mergedMessages = useMemo(function () {
|
|
286
386
|
var fnResMap = {};
|
|
287
|
-
|
|
387
|
+
var uniqueMessages = deduplicateMessages(messages);
|
|
388
|
+
uniqueMessages.forEach(function (msg) {
|
|
288
389
|
if (msg.functionResponse) {
|
|
289
390
|
var _msg$functionResponse;
|
|
290
391
|
fnResMap[(msg === null || msg === void 0 || (_msg$functionResponse = msg.functionResponse) === null || _msg$functionResponse === void 0 ? void 0 : _msg$functionResponse.id) || ""] = msg.functionResponse;
|
|
291
392
|
}
|
|
292
393
|
});
|
|
293
|
-
return
|
|
394
|
+
return uniqueMessages.map(function (msg) {
|
|
294
395
|
if (msg.functionCall) {
|
|
295
396
|
var _msg$functionCall;
|
|
296
397
|
return _objectSpread(_objectSpread({}, msg), {}, {
|
|
@@ -646,7 +747,7 @@ function useADKChat(_ref) {
|
|
|
646
747
|
content: rawData.data,
|
|
647
748
|
invocationId: rawData.result.invocationId,
|
|
648
749
|
sessionId: rawData.result.sessionId,
|
|
649
|
-
id: rawData.result.invocationId
|
|
750
|
+
id: rawData.data.id || rawData.result.id || rawData.result.eventId || rawData.result.invocationId
|
|
650
751
|
});
|
|
651
752
|
}
|
|
652
753
|
if (chunkJson.error) {
|
|
@@ -796,12 +897,12 @@ function useADKChat(_ref) {
|
|
|
796
897
|
|
|
797
898
|
// 发送会话
|
|
798
899
|
var startChat = /*#__PURE__*/function () {
|
|
799
|
-
var
|
|
800
|
-
var
|
|
900
|
+
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref4) {
|
|
901
|
+
var _ref4$text, text, _ref4$files, files, functionResponse;
|
|
801
902
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
802
903
|
while (1) switch (_context2.prev = _context2.next) {
|
|
803
904
|
case 0:
|
|
804
|
-
|
|
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;
|
|
805
906
|
if (!(loadingRef.current || sendingRef.current)) {
|
|
806
907
|
_context2.next = 3;
|
|
807
908
|
break;
|
|
@@ -893,13 +994,13 @@ function useADKChat(_ref) {
|
|
|
893
994
|
}, _callee2, null, [[8,, 11, 14]]);
|
|
894
995
|
}));
|
|
895
996
|
return function startChat(_x) {
|
|
896
|
-
return
|
|
997
|
+
return _ref5.apply(this, arguments);
|
|
897
998
|
};
|
|
898
999
|
}();
|
|
899
1000
|
|
|
900
1001
|
// 重新发送会话
|
|
901
1002
|
var reChat = /*#__PURE__*/function () {
|
|
902
|
-
var
|
|
1003
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
903
1004
|
var lastUserIndex, newMessages, lastUserMessage, _lastUserMessage$text, text, _lastUserMessage$file, fileData;
|
|
904
1005
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
905
1006
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -967,7 +1068,7 @@ function useADKChat(_ref) {
|
|
|
967
1068
|
}, _callee3, null, [[14,, 17, 20]]);
|
|
968
1069
|
}));
|
|
969
1070
|
return function reChat() {
|
|
970
|
-
return
|
|
1071
|
+
return _ref6.apply(this, arguments);
|
|
971
1072
|
};
|
|
972
1073
|
}();
|
|
973
1074
|
|
|
@@ -1031,7 +1132,7 @@ function useADKChat(_ref) {
|
|
|
1031
1132
|
|
|
1032
1133
|
// 设置当前会话详情
|
|
1033
1134
|
var setCurrentSession = /*#__PURE__*/function () {
|
|
1034
|
-
var
|
|
1135
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(sessionId) {
|
|
1035
1136
|
var prevSessionId, bg, _yield$fetchSessionDe, data, result, _appInfo$onboardingIn3, _appInfo$onboardingIn4;
|
|
1036
1137
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
1037
1138
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -1132,13 +1233,13 @@ function useADKChat(_ref) {
|
|
|
1132
1233
|
}, _callee4, null, [[21,, 28, 32]]);
|
|
1133
1234
|
}));
|
|
1134
1235
|
return function setCurrentSession(_x2) {
|
|
1135
|
-
return
|
|
1236
|
+
return _ref7.apply(this, arguments);
|
|
1136
1237
|
};
|
|
1137
1238
|
}();
|
|
1138
1239
|
|
|
1139
1240
|
// 获取聊天记录
|
|
1140
1241
|
var initAppConversations = /*#__PURE__*/function () {
|
|
1141
|
-
var
|
|
1242
|
+
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
1142
1243
|
var fetchDetail,
|
|
1143
1244
|
_yield$fetchSessionLi,
|
|
1144
1245
|
_yield$fetchSessionLi2,
|
|
@@ -1242,13 +1343,13 @@ function useADKChat(_ref) {
|
|
|
1242
1343
|
}, _callee5, null, [[1, 13, 16, 19]]);
|
|
1243
1344
|
}));
|
|
1244
1345
|
return function initAppConversations() {
|
|
1245
|
-
return
|
|
1346
|
+
return _ref8.apply(this, arguments);
|
|
1246
1347
|
};
|
|
1247
1348
|
}();
|
|
1248
1349
|
|
|
1249
1350
|
// 删除会话
|
|
1250
1351
|
var deleteSession = /*#__PURE__*/function () {
|
|
1251
|
-
var
|
|
1352
|
+
var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(sessionId) {
|
|
1252
1353
|
var _yield$closeSession, result;
|
|
1253
1354
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
1254
1355
|
while (1) switch (_context6.prev = _context6.next) {
|
|
@@ -1286,13 +1387,13 @@ function useADKChat(_ref) {
|
|
|
1286
1387
|
}, _callee6);
|
|
1287
1388
|
}));
|
|
1288
1389
|
return function deleteSession(_x3) {
|
|
1289
|
-
return
|
|
1390
|
+
return _ref9.apply(this, arguments);
|
|
1290
1391
|
};
|
|
1291
1392
|
}();
|
|
1292
1393
|
|
|
1293
1394
|
// 点赞/点踩
|
|
1294
1395
|
var likeMessage = /*#__PURE__*/function () {
|
|
1295
|
-
var
|
|
1396
|
+
var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(invocationId, isLike, feedbackData) {
|
|
1296
1397
|
var _yield$addFeedback, result;
|
|
1297
1398
|
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
1298
1399
|
while (1) switch (_context7.prev = _context7.next) {
|
|
@@ -1335,13 +1436,13 @@ function useADKChat(_ref) {
|
|
|
1335
1436
|
}, _callee7);
|
|
1336
1437
|
}));
|
|
1337
1438
|
return function likeMessage(_x4, _x5, _x6) {
|
|
1338
|
-
return
|
|
1439
|
+
return _ref10.apply(this, arguments);
|
|
1339
1440
|
};
|
|
1340
1441
|
}();
|
|
1341
1442
|
|
|
1342
1443
|
// 更新会话名称
|
|
1343
1444
|
var updateSession = /*#__PURE__*/function () {
|
|
1344
|
-
var
|
|
1445
|
+
var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(sessionId, title) {
|
|
1345
1446
|
var _yield$updateSessionT, result;
|
|
1346
1447
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
1347
1448
|
while (1) switch (_context8.prev = _context8.next) {
|
|
@@ -1376,13 +1477,13 @@ function useADKChat(_ref) {
|
|
|
1376
1477
|
}, _callee8);
|
|
1377
1478
|
}));
|
|
1378
1479
|
return function updateSession(_x7, _x8) {
|
|
1379
|
-
return
|
|
1480
|
+
return _ref11.apply(this, arguments);
|
|
1380
1481
|
};
|
|
1381
1482
|
}();
|
|
1382
1483
|
|
|
1383
1484
|
// 初始化应用
|
|
1384
1485
|
var initConfig = /*#__PURE__*/function () {
|
|
1385
|
-
var
|
|
1486
|
+
var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
|
|
1386
1487
|
var _yield$fetchAppConfig, data, result;
|
|
1387
1488
|
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
1388
1489
|
while (1) switch (_context9.prev = _context9.next) {
|
|
@@ -1433,7 +1534,7 @@ function useADKChat(_ref) {
|
|
|
1433
1534
|
}, _callee9, null, [[0, 10, 13, 16]]);
|
|
1434
1535
|
}));
|
|
1435
1536
|
return function initConfig() {
|
|
1436
|
-
return
|
|
1537
|
+
return _ref12.apply(this, arguments);
|
|
1437
1538
|
};
|
|
1438
1539
|
}();
|
|
1439
1540
|
|
|
@@ -1459,7 +1560,7 @@ function useADKChat(_ref) {
|
|
|
1459
1560
|
var requesting = false;
|
|
1460
1561
|
var pollingSessionId = currentSessionId;
|
|
1461
1562
|
var poll = /*#__PURE__*/function () {
|
|
1462
|
-
var
|
|
1563
|
+
var _ref13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
|
|
1463
1564
|
var _yield$fetchSessionDe2, data, result;
|
|
1464
1565
|
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
|
|
1465
1566
|
while (1) switch (_context10.prev = _context10.next) {
|
|
@@ -1502,7 +1603,7 @@ function useADKChat(_ref) {
|
|
|
1502
1603
|
}, _callee10, null, [[3, 12, 14, 17]]);
|
|
1503
1604
|
}));
|
|
1504
1605
|
return function poll() {
|
|
1505
|
-
return
|
|
1606
|
+
return _ref13.apply(this, arguments);
|
|
1506
1607
|
};
|
|
1507
1608
|
}();
|
|
1508
1609
|
void poll();
|