@clawos-dev/clawd 0.2.78 → 0.2.79-beta.149.201b46d
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/cli.cjs +26 -0
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -22984,13 +22984,39 @@ var SessionManager = class {
|
|
|
22984
22984
|
// 同时被 interrupt / cancelQuestion 调用:按模式选 interrupt 通道。TUI 优先 pty,
|
|
22985
22985
|
// 否则 fallback 到 SDK 的 control_request(包括 mode='tui' 但 pty 未 register 的边角场景)。
|
|
22986
22986
|
async dispatchInterrupt(runner) {
|
|
22987
|
+
const sid = runner.getState().file.sessionId;
|
|
22987
22988
|
const tsid = runner.getState().file.toolSessionId;
|
|
22988
22989
|
const pty = tsid ? this.ptyTransports.get(tsid) : void 0;
|
|
22990
|
+
const stateBefore = runner.getState();
|
|
22991
|
+
this.deps.logger?.info("[BUG-HUNT-INTERRUPT] dispatchInterrupt enter", {
|
|
22992
|
+
sessionId: sid,
|
|
22993
|
+
tsid,
|
|
22994
|
+
ptyHit: Boolean(pty),
|
|
22995
|
+
mode: this.deps.mode,
|
|
22996
|
+
turnOpenBefore: stateBefore.turnOpen,
|
|
22997
|
+
procAlive: stateBefore.procAlive,
|
|
22998
|
+
bufferLen: stateBefore.buffer.length
|
|
22999
|
+
});
|
|
22989
23000
|
if (pty) {
|
|
22990
23001
|
pty.write("\x1B");
|
|
23002
|
+
this.deps.logger?.info("[BUG-HUNT-INTERRUPT] pty.write ESC done", { sessionId: sid });
|
|
22991
23003
|
runner.input({ kind: "inject-events", events: [{ kind: "turn_end" }] });
|
|
23004
|
+
const stateAfter = runner.getState();
|
|
23005
|
+
const lastEvent = stateAfter.buffer[stateAfter.buffer.length - 1];
|
|
23006
|
+
this.deps.logger?.info("[BUG-HUNT-INTERRUPT] after inject turn_end", {
|
|
23007
|
+
sessionId: sid,
|
|
23008
|
+
turnOpenAfter: stateAfter.turnOpen,
|
|
23009
|
+
bufferLen: stateAfter.buffer.length,
|
|
23010
|
+
lastEventKind: lastEvent?.event?.kind,
|
|
23011
|
+
lastEventSeq: lastEvent?.seq
|
|
23012
|
+
});
|
|
22992
23013
|
return;
|
|
22993
23014
|
}
|
|
23015
|
+
this.deps.logger?.warn("[BUG-HUNT-INTERRUPT] SDK fallback path (pty not registered)", {
|
|
23016
|
+
sessionId: sid,
|
|
23017
|
+
tsid,
|
|
23018
|
+
mode: this.deps.mode
|
|
23019
|
+
});
|
|
22994
23020
|
await runner.sendControlRequest("interrupt");
|
|
22995
23021
|
}
|
|
22996
23022
|
// 批量版本:UI 打开 session 时一次性拿到"磁盘和快照有差异"的 user message id 集合,
|
package/package.json
CHANGED