@clawos-dev/clawd 0.2.98-beta.186.1f38ebe → 0.2.99-beta.187.c87213f
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 +33 -19
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -31112,7 +31112,11 @@ function tryFlushPending(state, deps) {
|
|
|
31112
31112
|
const payload = deps.encodeStdin(text, { sessionId: state.file.sessionId });
|
|
31113
31113
|
return [{ kind: "write-stdin", payload }];
|
|
31114
31114
|
}
|
|
31115
|
-
function rgDbg(event, info) {
|
|
31115
|
+
function rgDbg(deps, event, info) {
|
|
31116
|
+
if (deps.logger) {
|
|
31117
|
+
deps.logger.debug(`[RG] ${event}`, info);
|
|
31118
|
+
return;
|
|
31119
|
+
}
|
|
31116
31120
|
console.debug(`[RG] ${event}`, info);
|
|
31117
31121
|
}
|
|
31118
31122
|
function resetReadyGate(next) {
|
|
@@ -31388,7 +31392,7 @@ function applyCommand(state, command, deps) {
|
|
|
31388
31392
|
const payload = deps.encodeStdin(command.text, { sessionId });
|
|
31389
31393
|
effects.push({ kind: "write-stdin", payload });
|
|
31390
31394
|
}
|
|
31391
|
-
rgDbg("send", {
|
|
31395
|
+
rgDbg(deps, "send", {
|
|
31392
31396
|
sid: sessionId,
|
|
31393
31397
|
mode: deps.mode ?? "sdk",
|
|
31394
31398
|
procAliveBefore,
|
|
@@ -31760,13 +31764,13 @@ function reduceSession(state, input, deps) {
|
|
|
31760
31764
|
}
|
|
31761
31765
|
case "ready-detected": {
|
|
31762
31766
|
if (deps.mode !== "tui") {
|
|
31763
|
-
rgDbg("ready-input", { sid: state.file.sessionId, skipped: "non-tui-mode" });
|
|
31767
|
+
rgDbg(deps, "ready-input", { sid: state.file.sessionId, skipped: "non-tui-mode" });
|
|
31764
31768
|
return { state, effects: [] };
|
|
31765
31769
|
}
|
|
31766
31770
|
const next = cloneState(state);
|
|
31767
31771
|
next.readyForSend = true;
|
|
31768
31772
|
const flushEffects = tryFlushPending(next, deps);
|
|
31769
|
-
rgDbg("ready-input", {
|
|
31773
|
+
rgDbg(deps, "ready-input", {
|
|
31770
31774
|
sid: next.file.sessionId,
|
|
31771
31775
|
wroteStdin: flushEffects.length > 0,
|
|
31772
31776
|
readyAfter: next.readyForSend,
|
|
@@ -31939,7 +31943,9 @@ var SessionRunner = class {
|
|
|
31939
31943
|
ownerDisplayName: this.hooks.ownerDisplayName,
|
|
31940
31944
|
personaRoot: this.hooks.personaRoot,
|
|
31941
31945
|
// ReadyGate v2:透传 mode 让 reducer send / ready-detected 分支决定走暂存队列还是直写
|
|
31942
|
-
mode: this.hooks.mode
|
|
31946
|
+
mode: this.hooks.mode,
|
|
31947
|
+
// [RG-DBG] 注入 logger 让 reducer rgDbg 走 pino 进 clawd.log;定位完跟 rgDbg 一起删
|
|
31948
|
+
logger: this.hooks.logger
|
|
31943
31949
|
};
|
|
31944
31950
|
const { state, effects } = reduceSession(this.state, inputMsg, deps);
|
|
31945
31951
|
this.state = state;
|
|
@@ -32118,7 +32124,7 @@ var SessionRunner = class {
|
|
|
32118
32124
|
this.doKill(effect.signal);
|
|
32119
32125
|
break;
|
|
32120
32126
|
case "write-stdin":
|
|
32121
|
-
|
|
32127
|
+
this.hooks.logger?.debug("[RG] write-stdin", {
|
|
32122
32128
|
procAlive: !!this.proc,
|
|
32123
32129
|
stdinWritable: !!this.proc?.stdin,
|
|
32124
32130
|
len: effect.payload.length,
|
|
@@ -33774,12 +33780,12 @@ var SessionManager = class {
|
|
|
33774
33780
|
*/
|
|
33775
33781
|
dispatchReadyDetected(toolSessionId) {
|
|
33776
33782
|
if (this.deps.mode !== "tui") {
|
|
33777
|
-
|
|
33783
|
+
this.deps.logger?.debug("[RG] mgr-disp", { tsid: toolSessionId, skipped: "non-tui-mode" });
|
|
33778
33784
|
return;
|
|
33779
33785
|
}
|
|
33780
33786
|
const sid = this.sessionIdByToolSid(toolSessionId);
|
|
33781
33787
|
const runner = sid ? this.runners.get(sid) : void 0;
|
|
33782
|
-
|
|
33788
|
+
this.deps.logger?.debug("[RG] mgr-disp", {
|
|
33783
33789
|
tsid: toolSessionId,
|
|
33784
33790
|
sid: sid ?? null,
|
|
33785
33791
|
runnerFound: !!runner
|
|
@@ -34908,20 +34914,19 @@ var PtyChildProcess = class extends import_node_events.EventEmitter {
|
|
|
34908
34914
|
if (match) {
|
|
34909
34915
|
const paste = match[1];
|
|
34910
34916
|
const enter = match[2];
|
|
34911
|
-
|
|
34917
|
+
logger?.debug("[RG] pty-paste", { tag, pasteLen: paste.length, enterLen: enter.length });
|
|
34912
34918
|
pty.write(paste);
|
|
34913
34919
|
setTimeout(() => {
|
|
34914
34920
|
try {
|
|
34915
34921
|
pty.write(enter);
|
|
34916
|
-
|
|
34917
|
-
logger?.debug("pty bracketed paste submit \\r delayed", { tag, pid: this.pid });
|
|
34922
|
+
logger?.debug("[RG] pty-paste-enter", { tag, wrote: "\\r", disposed: false });
|
|
34918
34923
|
} catch (err) {
|
|
34919
|
-
|
|
34924
|
+
logger?.debug("[RG] pty-paste-enter", { tag, error: err.message });
|
|
34920
34925
|
logger?.warn("pty delayed \\r failed", { tag, error: err.message });
|
|
34921
34926
|
}
|
|
34922
|
-
},
|
|
34927
|
+
}, 240);
|
|
34923
34928
|
} else {
|
|
34924
|
-
|
|
34929
|
+
logger?.debug("[RG] pty-write-direct", { tag, len: data.length });
|
|
34925
34930
|
pty.write(data);
|
|
34926
34931
|
}
|
|
34927
34932
|
};
|
|
@@ -35162,14 +35167,21 @@ function createReadyDetector(opts) {
|
|
|
35162
35167
|
quietTimer = null;
|
|
35163
35168
|
}
|
|
35164
35169
|
};
|
|
35170
|
+
const dbg = (info) => {
|
|
35171
|
+
if (opts.logger) {
|
|
35172
|
+
opts.logger.debug("[RG] det-state", info);
|
|
35173
|
+
return;
|
|
35174
|
+
}
|
|
35175
|
+
console.debug("[RG] det-state", info);
|
|
35176
|
+
};
|
|
35165
35177
|
const quietFire = () => {
|
|
35166
35178
|
quietTimer = null;
|
|
35167
35179
|
if (disposed) return;
|
|
35168
35180
|
if (!scanReadyFrame()) {
|
|
35169
|
-
|
|
35181
|
+
dbg({ event: "quiet-fire-but-not-ready-anymore" });
|
|
35170
35182
|
return;
|
|
35171
35183
|
}
|
|
35172
|
-
|
|
35184
|
+
dbg({ event: "quiet-fire \u2192 onReady" });
|
|
35173
35185
|
opts.onReady();
|
|
35174
35186
|
};
|
|
35175
35187
|
let prevReady = false;
|
|
@@ -35179,13 +35191,13 @@ function createReadyDetector(opts) {
|
|
|
35179
35191
|
if (!ready) {
|
|
35180
35192
|
clearQuiet();
|
|
35181
35193
|
if (prevReady) {
|
|
35182
|
-
|
|
35194
|
+
dbg({ event: "ready \u2192 not-ready" });
|
|
35183
35195
|
prevReady = false;
|
|
35184
35196
|
}
|
|
35185
35197
|
return;
|
|
35186
35198
|
}
|
|
35187
35199
|
if (!prevReady) {
|
|
35188
|
-
|
|
35200
|
+
dbg({ event: "not-ready \u2192 ready-candidate (quiet timer set)" });
|
|
35189
35201
|
prevReady = true;
|
|
35190
35202
|
}
|
|
35191
35203
|
clearQuiet();
|
|
@@ -35302,7 +35314,9 @@ var ClaudeTuiAdapter = class extends ClaudeAdapter {
|
|
|
35302
35314
|
if (!ctx.toolSessionId || !this.tuiOpts.onReady) return;
|
|
35303
35315
|
this.tuiLogger?.debug("ready-detected", { toolSessionId: ctx.toolSessionId });
|
|
35304
35316
|
this.tuiOpts.onReady(ctx.toolSessionId);
|
|
35305
|
-
}
|
|
35317
|
+
},
|
|
35318
|
+
// [RG-DBG] 排查 ReadyGate 偶现卡输入用;定位完跟所有 [RG] 日志一起删
|
|
35319
|
+
logger: this.tuiLogger
|
|
35306
35320
|
});
|
|
35307
35321
|
if (ctx.toolSessionId && this.tuiOpts.onDetectorRegister) {
|
|
35308
35322
|
this.tuiOpts.onDetectorRegister(ctx.toolSessionId, detector);
|
package/package.json
CHANGED