@clawos-dev/clawd 0.2.98 → 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.
Files changed (2) hide show
  1. package/dist/cli.cjs +33 -19
  2. 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
- console.debug("[RG] write-stdin", {
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
- console.debug("[RG] mgr-disp", { tsid: toolSessionId, skipped: "non-tui-mode" });
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
- console.debug("[RG] mgr-disp", {
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
- console.debug("[RG] pty-paste", { pasteLen: paste.length, enterLen: enter.length });
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
- console.debug("[RG] pty-paste-enter", { wrote: "\\r", disposed: false });
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
- console.debug("[RG] pty-paste-enter", { error: err.message });
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
- }, 120);
34927
+ }, 240);
34923
34928
  } else {
34924
- console.debug("[RG] pty-write-direct", { len: data.length });
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
- console.debug("[RG] det-state", { event: "quiet-fire-but-not-ready-anymore" });
35181
+ dbg({ event: "quiet-fire-but-not-ready-anymore" });
35170
35182
  return;
35171
35183
  }
35172
- console.debug("[RG] det-state", { event: "quiet-fire \u2192 onReady" });
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
- console.debug("[RG] det-state", { event: "ready \u2192 not-ready" });
35194
+ dbg({ event: "ready \u2192 not-ready" });
35183
35195
  prevReady = false;
35184
35196
  }
35185
35197
  return;
35186
35198
  }
35187
35199
  if (!prevReady) {
35188
- console.debug("[RG] det-state", { event: "not-ready \u2192 ready-candidate (quiet timer set)" });
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawos-dev/clawd",
3
- "version": "0.2.98",
3
+ "version": "0.2.99-beta.187.c87213f",
4
4
  "description": "Standalone clawd daemon — Claude Code (and future Codex) session server over WebSocket",
5
5
  "type": "module",
6
6
  "license": "MIT",