@ynhcj/xiaoyi-channel 0.0.140-beta → 0.0.141-beta
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/src/bot.js +7 -2
- package/package.json +1 -1
package/dist/src/bot.js
CHANGED
|
@@ -446,7 +446,9 @@ function enqueueSteer(params) {
|
|
|
446
446
|
const next = (prev ?? Promise.resolve()).then(() => dispatchSteerWhenReady(params));
|
|
447
447
|
steerQueues.set(sessionId, next);
|
|
448
448
|
// 链条结束后清理
|
|
449
|
-
next.catch(() => {
|
|
449
|
+
next.catch((err) => {
|
|
450
|
+
logger.error(`[STEER-QUEUE] ❌ Steer chain failed: ${String(err)}`);
|
|
451
|
+
}).finally(() => {
|
|
450
452
|
if (steerQueues.get(sessionId) === next) {
|
|
451
453
|
steerQueues.delete(sessionId);
|
|
452
454
|
}
|
|
@@ -479,7 +481,10 @@ async function dispatchSteerWhenReady(params) {
|
|
|
479
481
|
logger.log(`[STEER-QUEUE] ✅ Streaming signal received, session=${sessionId}`);
|
|
480
482
|
}
|
|
481
483
|
else {
|
|
482
|
-
|
|
484
|
+
// 轮询超时且 hasActiveTask 仍为 true——说明第一条消息可能卡在异常路径,
|
|
485
|
+
// 没有创建 signal。此时 dispatch 会与第一条消息的模型调用并发冲突,放弃。
|
|
486
|
+
logger.log(`[STEER-QUEUE] ⚠️ Signal never appeared after polling, skip steer to avoid collision`);
|
|
487
|
+
return;
|
|
483
488
|
}
|
|
484
489
|
// 2. 第一条消息已结束 → 放弃
|
|
485
490
|
if (!hasActiveTask(sessionId)) {
|