@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.
Files changed (2) hide show
  1. package/dist/src/bot.js +7 -2
  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(() => { }).finally(() => {
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
- logger.log(`[STEER-QUEUE] ⚠️ Signal never appeared, proceeding without wait`);
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)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ynhcj/xiaoyi-channel",
3
- "version": "0.0.140-beta",
3
+ "version": "0.0.141-beta",
4
4
  "description": "OpenClaw Xiaoyi Channel plugin - Xiaoyi A2A protocol integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",